私はのカスタムでそして、エディタはいくつかの顔を消して、私がそれをもっとはっきりと見ることができるようにします。これがどのように役立つのか理解できましたが、ゲームプレイだけでなくプロジェクトに取り組んでいるだけでは迷惑です。私がチェックを外さなければならない箱があるかもしれないが、それが何であるかわからない。私はいくつかのスクリーンショットを含んでいます(最初のものはゲームに、もう1つはエディタにあります。メッシュは完全なピラミッド形でなければなりません)。キューブの私のメッシュには、12の三角形、8つの頂点、およびuvがありません。デフォルトのメッシュには、24の頂点、12の三角形、uvとuv2があります。 私のメッシュの一部をレンダリングして他の部分を可視にしようとしていませんmesh
を作っています(これは私が作ったGameObject
で起こっているようです)
[EDIT]番号:
は、私が使用するコードです:
if (GameObject.Find ("Hopefully a Cube") == null) {
GameObject cube = new GameObject ("Hopefully a Cube");
Mesh mesh = new Mesh();
Vector3[] verticies = new Vector3[8];
verticies [0] = new Vector3 (0, 0, 0);
verticies [1] = new Vector3 (100, 0, 0);
verticies [2] = new Vector3 (0, 100, 0);
verticies [3] = new Vector3 (100, 100, 0);
verticies [4] = new Vector3 (0, 0, 100);
verticies [5] = new Vector3 (100, 0, 100);
verticies [6] = new Vector3 (0, 100, 100);
verticies [7] = new Vector3 (100, 100, 100);
mesh.vertices = verticies;
int[] tris = new int[36];
tris = new[] { 0, 2, 1, 2, 3, 1, 4, 2, 0, 6, 2, 4, 4, 6, 5, 6, 7, 5, 1, 3, 5, 3, 7, 5, 0, 4, 1, 4, 5, 1, 2, 6, 3, 6, 7, 3 };
mesh.triangles = tris;
mesh.RecalculateNormals();
MeshFilter meshFilter = cube.AddComponent<MeshFilter>();
meshFilter.mesh = mesh;
MeshRenderer meshRenderer = cube.AddComponent<MeshRenderer>();
Texture2D texture = new Texture2D (1, 1);
texture.SetPixels (new[] { Color.blue });
meshRenderer.sharedMaterial = new Material (meshShader);
meshRenderer.sharedMaterial.mainTexture = texture;
cube.SetActive (true);
}
if (GameObject.Find ("Hopefully a Pyramid") == null) {
GameObject pyramid = new GameObject ("Hopefully a Pyramid");
Mesh mesh = new Mesh();
Vector3[] verticies = new Vector3[5];
verticies [0] = new Vector3 (0, 0, 0);
verticies [1] = new Vector3 (100, 0, 0);
verticies [2] = new Vector3 (0, 0, 100);
verticies [3] = new Vector3 (100, 0, 100);
verticies [4] = new Vector3 (50, 100, 50);
mesh.vertices = verticies;
int[] tris = new int[18];
tris = new[] { 0, 2, 1, 2, 3, 1, 0, 4, 1, 2, 4, 0, 3, 4, 2, 3, 4, 1 };
mesh.triangles = tris;
mesh.RecalculateNormals();
MeshFilter meshFilter = pyramid.AddComponent<MeshFilter>();
meshFilter.mesh = mesh;
MeshRenderer meshRenderer = pyramid.AddComponent<MeshRenderer>();
Texture2D texture = new Texture2D (1, 1);
texture.SetPixels (new[] { Color.blue });
meshRenderer.sharedMaterial = new Material (meshShader);
meshRenderer.sharedMaterial.mainTexture = texture;
pyramid.SetActive (true);
}
私は99%巻取順序と関係があると確信しています。あなたが最もよく見る効果は、「あなたがそれをよりはっきりと見ることができない」ということです。なぜなら、指標(または統一として三角形と呼んでいます。なぜなら、間違った順序にあるからです。キューブを生成するために使用するコードを投稿してください。 – yes
私が使用したコードを追加しました。 – dsiegler19
@ dsiegler19が答えと簡単な説明を追加しました。正しいものとしてチェックしてください。 – yes