kelpnet의 작법 6
개요
나는 켈프넷의 방법을 조사했다.
선로를 추적해 보세요.
교사 데이터를 만들어 봤어요.
사진.
결과 1,0.9370069,0.1758009,0.1534496,0.9659603,0
1,0.9381194,0.1772627,0.1473485,0.9657054,0
1,0.9398518,0.1796773,0.1377505,0.9653046,0
1,0.9560834,0.2026062,0.09490783,0.9627522,0
1,0.9568549,0.2039106,0.09386921,0.9625103,0
1,0.9605403,0.2105066,0.08937787,0.9611517,0
1,0.9640657,0.2175962,0.08603867,0.9594074,0
1,0.9767041,0.2478495,0.07985754,0.9500523,0
1,0.9777824,0.2508438,0.07962006,0.9489558,0
1,0.9826469,0.2657418,0.07834588,0.9432184,2
1,0.9820471,0.2547368,0.08453556,0.9470891,2
1,0.9810143,0.2370251,0.09541548,0.9526507,2
1,0.9783586,0.193597,0.1274238,0.963551,2
1,0.9780537,0.188939,0.1313823,0.9644483,2
1,0.9771624,0.1760049,0.142874,0.9667777,2
1,0.9753699,0.1516642,0.1672629,0.9703423,2
1,0.9495733,0.07180189,0.2887425,0.9763497,2
1,0.9479302,0.06940074,0.2940892,0.9764546,2
1,0.9425594,0.06237222,0.310661,0.9767237,2
1,0.9239203,0.04470607,0.3603735,0.9773159,2
사용 기술
결과 1,0.9370069,0.1758009,0.1534496,0.9659603,0
1,0.9381194,0.1772627,0.1473485,0.9657054,0
1,0.9398518,0.1796773,0.1377505,0.9653046,0
1,0.9560834,0.2026062,0.09490783,0.9627522,0
1,0.9568549,0.2039106,0.09386921,0.9625103,0
1,0.9605403,0.2105066,0.08937787,0.9611517,0
1,0.9640657,0.2175962,0.08603867,0.9594074,0
1,0.9767041,0.2478495,0.07985754,0.9500523,0
1,0.9777824,0.2508438,0.07962006,0.9489558,0
1,0.9826469,0.2657418,0.07834588,0.9432184,2
1,0.9820471,0.2547368,0.08453556,0.9470891,2
1,0.9810143,0.2370251,0.09541548,0.9526507,2
1,0.9783586,0.193597,0.1274238,0.963551,2
1,0.9780537,0.188939,0.1313823,0.9644483,2
1,0.9771624,0.1760049,0.142874,0.9667777,2
1,0.9753699,0.1516642,0.1672629,0.9703423,2
1,0.9495733,0.07180189,0.2887425,0.9763497,2
1,0.9479302,0.06940074,0.2940892,0.9764546,2
1,0.9425594,0.06237222,0.310661,0.9767237,2
1,0.9239203,0.04470607,0.3603735,0.9773159,2
사용 기술
1,0.9370069,0.1758009,0.1534496,0.9659603,0
1,0.9381194,0.1772627,0.1473485,0.9657054,0
1,0.9398518,0.1796773,0.1377505,0.9653046,0
1,0.9560834,0.2026062,0.09490783,0.9627522,0
1,0.9568549,0.2039106,0.09386921,0.9625103,0
1,0.9605403,0.2105066,0.08937787,0.9611517,0
1,0.9640657,0.2175962,0.08603867,0.9594074,0
1,0.9767041,0.2478495,0.07985754,0.9500523,0
1,0.9777824,0.2508438,0.07962006,0.9489558,0
1,0.9826469,0.2657418,0.07834588,0.9432184,2
1,0.9820471,0.2547368,0.08453556,0.9470891,2
1,0.9810143,0.2370251,0.09541548,0.9526507,2
1,0.9783586,0.193597,0.1274238,0.963551,2
1,0.9780537,0.188939,0.1313823,0.9644483,2
1,0.9771624,0.1760049,0.142874,0.9667777,2
1,0.9753699,0.1516642,0.1672629,0.9703423,2
1,0.9495733,0.07180189,0.2887425,0.9763497,2
1,0.9479302,0.06940074,0.2940892,0.9764546,2
1,0.9425594,0.06237222,0.310661,0.9767237,2
1,0.9239203,0.04470607,0.3603735,0.9773159,2
예제 코드 using UnityEngine;
using System.Collections;
using System.IO;
using System;
public class pc1 : MonoBehaviour
{
[SerializeField]
private Camera dispCamera;
[SerializeField]
private SpriteRenderer bod;
[SerializeField]
public float val;
private Texture2D tex0;
void Start ()
{
var tex = dispCamera.targetTexture;
tex0 = new Texture2D(tex.width, tex.height, TextureFormat.ARGB32, false);
}
void Update ()
{
var x = Input.GetAxis("Horizontal") * Time.deltaTime * -50.0f;
var y = Input.GetAxis("Vertical") * Time.deltaTime * 1.0f;
transform.Rotate(0, 0, x);
transform.Translate(0, y, 0);
var tex = dispCamera.targetTexture;
Texture2D tex1 = new Texture2D(40, 40, TextureFormat.ARGB32, false);
Texture2D tex2 = new Texture2D(40, 40, TextureFormat.ARGB32, false);
Texture2D tex3 = new Texture2D(40, 40, TextureFormat.ARGB32, false);
Texture2D tex4 = new Texture2D(40, 40, TextureFormat.ARGB32, false);
Texture2D tex5 = new Texture2D(40, 40, TextureFormat.ARGB32, false);
float v1;
float v2;
float v3;
float v4;
float v5;
RenderTexture.active = dispCamera.targetTexture;
tex0.ReadPixels(new Rect(0, 0, tex.width, tex.height), 0, 0);
tex0.Apply();
tex1.ReadPixels(new Rect(10, 200, 40, 40), 0, 0);
tex1.Apply();
tex2.ReadPixels(new Rect(60, 200, 40, 40), 0, 0);
tex2.Apply();
tex3.ReadPixels(new Rect(110, 200, 40, 40), 0, 0);
tex3.Apply();
tex4.ReadPixels(new Rect(160, 200, 40, 40), 0, 0);
tex4.Apply();
tex5.ReadPixels(new Rect(210, 200, 40, 40), 0, 0);
tex5.Apply();
val = Sense(tex0);
v1 = Sense(tex1);
v2 = Sense(tex2);
v3 = Sense(tex3);
v4 = Sense(tex4);
v5 = Sense(tex5);
Sprite spr = Sprite.Create(tex0, new Rect(0.0f, 0.0f, tex.width, tex.height), new Vector2(0.5f, 0.5f));
bod.sprite = spr;
int act = 4;
if (Input.GetKey(KeyCode.W))
{
act = 0;
}
if (Input.GetKey(KeyCode.A))
{
act = 1;
}
if (Input.GetKey(KeyCode.D))
{
act = 2;
}
if (act < 4)
{
StreamWriter sw;
FileInfo fi;
fi = new FileInfo(Application.dataPath + "/test.csv");
sw = fi.AppendText();
sw.Write(v1.ToString());
sw.Write(",");
sw.Write(v2.ToString());
sw.Write(",");
sw.Write(v3.ToString());
sw.Write(",");
sw.Write(v4.ToString());
sw.Write(",");
sw.Write(v5.ToString());
sw.Write(",");
sw.WriteLine(act.ToString());
sw.Flush();
sw.Close();
}
}
private float Sense(Texture2D tex)
{
var cols = tex.GetPixels();
var avg = new Color(0, 0, 0);
foreach (var col in cols)
{
avg += col;
}
avg /= cols.Length;
return avg.grayscale;
}
}
이상
Reference
이 문제에 관하여(kelpnet의 작법 6), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ohisama@github/items/3abe94aa531ec5e71e18
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
using UnityEngine;
using System.Collections;
using System.IO;
using System;
public class pc1 : MonoBehaviour
{
[SerializeField]
private Camera dispCamera;
[SerializeField]
private SpriteRenderer bod;
[SerializeField]
public float val;
private Texture2D tex0;
void Start ()
{
var tex = dispCamera.targetTexture;
tex0 = new Texture2D(tex.width, tex.height, TextureFormat.ARGB32, false);
}
void Update ()
{
var x = Input.GetAxis("Horizontal") * Time.deltaTime * -50.0f;
var y = Input.GetAxis("Vertical") * Time.deltaTime * 1.0f;
transform.Rotate(0, 0, x);
transform.Translate(0, y, 0);
var tex = dispCamera.targetTexture;
Texture2D tex1 = new Texture2D(40, 40, TextureFormat.ARGB32, false);
Texture2D tex2 = new Texture2D(40, 40, TextureFormat.ARGB32, false);
Texture2D tex3 = new Texture2D(40, 40, TextureFormat.ARGB32, false);
Texture2D tex4 = new Texture2D(40, 40, TextureFormat.ARGB32, false);
Texture2D tex5 = new Texture2D(40, 40, TextureFormat.ARGB32, false);
float v1;
float v2;
float v3;
float v4;
float v5;
RenderTexture.active = dispCamera.targetTexture;
tex0.ReadPixels(new Rect(0, 0, tex.width, tex.height), 0, 0);
tex0.Apply();
tex1.ReadPixels(new Rect(10, 200, 40, 40), 0, 0);
tex1.Apply();
tex2.ReadPixels(new Rect(60, 200, 40, 40), 0, 0);
tex2.Apply();
tex3.ReadPixels(new Rect(110, 200, 40, 40), 0, 0);
tex3.Apply();
tex4.ReadPixels(new Rect(160, 200, 40, 40), 0, 0);
tex4.Apply();
tex5.ReadPixels(new Rect(210, 200, 40, 40), 0, 0);
tex5.Apply();
val = Sense(tex0);
v1 = Sense(tex1);
v2 = Sense(tex2);
v3 = Sense(tex3);
v4 = Sense(tex4);
v5 = Sense(tex5);
Sprite spr = Sprite.Create(tex0, new Rect(0.0f, 0.0f, tex.width, tex.height), new Vector2(0.5f, 0.5f));
bod.sprite = spr;
int act = 4;
if (Input.GetKey(KeyCode.W))
{
act = 0;
}
if (Input.GetKey(KeyCode.A))
{
act = 1;
}
if (Input.GetKey(KeyCode.D))
{
act = 2;
}
if (act < 4)
{
StreamWriter sw;
FileInfo fi;
fi = new FileInfo(Application.dataPath + "/test.csv");
sw = fi.AppendText();
sw.Write(v1.ToString());
sw.Write(",");
sw.Write(v2.ToString());
sw.Write(",");
sw.Write(v3.ToString());
sw.Write(",");
sw.Write(v4.ToString());
sw.Write(",");
sw.Write(v5.ToString());
sw.Write(",");
sw.WriteLine(act.ToString());
sw.Flush();
sw.Close();
}
}
private float Sense(Texture2D tex)
{
var cols = tex.GetPixels();
var avg = new Color(0, 0, 0);
foreach (var col in cols)
{
avg += col;
}
avg /= cols.Length;
return avg.grayscale;
}
}
Reference
이 문제에 관하여(kelpnet의 작법 6), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ohisama@github/items/3abe94aa531ec5e71e18텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)