コード例 #1
0
ファイル: MeshData.cs プロジェクト: zhanjunxiong/ProjectMTB
        public MeshData()
        {
            terrainFilter   = new FilterMeshData();
            terrainCollider = new ColliderMeshData();

            supportFilter   = new FilterMeshData();
            supportCollider = new ColliderMeshData();
        }
コード例 #2
0
//        void Update()
//        {
//          if(mesh != null)
//          {
//              Graphics.DrawMesh(mesh,transform.position,Quaternion.identity,chunkMaterial,layerMask);
//          }
//        }

        public void SetColliderMeshData(ColliderMeshData colliderMeshData)
        {
//            Mesh colMesh = collider.sharedMesh;
//            if (colMesh == null)
//            {
//				colMesh = MeshMemoryCache.Instance.GetMesh();
//            }
//            else
//            {
//                colMesh.Clear();
//            }
//            colMesh.vertices = colliderMeshData.colVertices.ToArray();
//            colMesh.triangles = colliderMeshData.colTriangles.ToArray();
//            colMesh.RecalculateNormals();
//			colMesh.Optimize();
//			colMesh.MarkDynamic();
//            collider.sharedMesh = null;
//            collider.sharedMesh = colMesh;
            BoxColliderAdd(colliderMeshData);
        }
コード例 #3
0
        private void BoxColliderAdd(ColliderMeshData colliderMeshData)
        {
            BoxCollider[] colliders = this.GetComponents <BoxCollider>();
            int           i;

            for (i = 0; i < colliderMeshData.boxCenters.Count; i++)
            {
                BoxCollider col;
                if (i < colliders.Length)
                {
                    col = colliders[i];
                }
                else
                {
                    col = this.gameObject.AddComponent <BoxCollider>();
                }
                col.center = colliderMeshData.boxCenters[i];
                col.size   = colliderMeshData.boxSizes[i];
            }
            for (int j = i; j < colliders.Length; j++)
            {
                GameObject.Destroy(colliders[j]);
            }
        }