TrackBuildRUtil.DynamicMesh.AddPlane C# (CSharp) Method

AddPlane() public method

public AddPlane ( Vector3 verts, Vector2 uvs, int submesh ) : void
verts UnityEngine.Vector3
uvs UnityEngine.Vector2
submesh int
return void
        public void AddPlane(Vector3[] verts, Vector2[] uvs, int submesh)
        {
            if (verts.Length != 4)
                return;
            AddPlane(verts[0], verts[1], verts[2], verts[3], uvs[0], uvs[1], uvs[2], uvs[3], submesh);
        }

Same methods

DynamicMesh::AddPlane ( Vector3 verts, Vector2 uvs, int tris, int submesh ) : void
DynamicMesh::AddPlane ( Vector3 p0, Vector3 p1, Vector3 p2, Vector3 p3, Vector2 uv0, Vector2 uv1, Vector2 uv2, Vector2 uv3, int subMesh ) : void
DynamicMesh::AddPlane ( Vector3 p0, Vector3 p1, Vector3 p2, Vector3 p3, Vector2 uv0, Vector2 uv1, Vector2 uv2, Vector2 uv3, int tri0, int tri1, int tri2, int tri3, int tri4, int tri5, int subMesh ) : void
DynamicMesh::AddPlane ( Vector3 p0, Vector3 p1, Vector3 p2, Vector3 p3, Vector2 minUV, Vector2 maxUV, int subMesh ) : void
DynamicMesh::AddPlane ( Vector3 p0, Vector3 p1, Vector3 p2, Vector3 p3, int subMesh ) : void

Usage Example

示例#1
0
        public void AddPlane(Vector3 p0, Vector3 p1, Vector3 p2, Vector3 p3, Vector2 uv0, Vector2 uv1, Vector2 uv2, Vector2 uv3, int tri0, int tri1, int tri2, int tri3, int tri4, int tri5, int subMesh)
        {
            if (MeshOverflow(4))
            {
                _overflow.AddPlane(p0, p1, p2, p3, uv0, uv1, uv2, uv3, subMesh);
                return;
            }

            int indiceBase = vertices.Count;

            vertices.Add(p0);
            vertices.Add(p1);
            vertices.Add(p2);
            vertices.Add(p3);

            uv.Add(uv0);
            uv.Add(uv1);
            uv.Add(uv2);
            uv.Add(uv3);

            if (!subTriangles.ContainsKey(subMesh))
            {
                subTriangles.Add(subMesh, new List <int>());
            }

            subTriangles[subMesh].Add(indiceBase + tri0);
            subTriangles[subMesh].Add(indiceBase + tri1);
            subTriangles[subMesh].Add(indiceBase + tri2);

            subTriangles[subMesh].Add(indiceBase + tri3);
            subTriangles[subMesh].Add(indiceBase + tri4);
            subTriangles[subMesh].Add(indiceBase + tri5);

            triangles.Add(indiceBase + tri0);
            triangles.Add(indiceBase + tri1);
            triangles.Add(indiceBase + tri2);

            triangles.Add(indiceBase + tri3);
            triangles.Add(indiceBase + tri4);
            triangles.Add(indiceBase + tri5);

            Vector3 tangentDirection = p1 - p0;
            Vector4 tangent          = new Vector4();

            tangent.x = tangentDirection.x;
            tangent.y = tangentDirection.y;
            tangent.z = tangentDirection.z;
            tangent.w = 1;//TODO: Check whether we need to flip the bi normal - I don't think we do with these planes
            tangents.Add(tangent);
            tangents.Add(tangent);
            tangents.Add(tangent);
            tangents.Add(tangent);
        }