예제 #1
0
            /// <summary>
            /// Initialise the data needed for colliding with height maps and fires the
            /// <c>HeightMapTerrainColliderCreation</c> event.
            /// </summary>
            void Start()
            {
                heightMapTerrain = GetComponent <HeightMapTerrain>();
                Width            = heightMapTerrain.sourceRect.width;
                Height           = heightMapTerrain.sourceRect.height;
                CellSize         = heightMapTerrain.cellSize;
                TriMesh          = GetComponent <MeshFilter>().sharedMesh;

                TriGrid = new TriangleGrid(
                    TriMesh.vertices,
                    TriMesh.triangles,
                    Width - 1,
                    Height - 1,
                    CellSize,
                    transform.localScale,
                    transform.position
                    );

                var args = new CollisionEvents.HeightMapColliderCreationEventArgs(this);

                CollisionEvents.FireEvent(CollisionEvents.EventType.HeightMapTerrainColliderCreation, gameObject, args);
            }
예제 #2
0
 void OnHeightMapColliderCreation(object source, CollisionEvents.HeightMapColliderCreationEventArgs args)
 {
     heightMapColliders.Add(args.Collider);
 }