コード例 #1
0
        public TerrianColliderChunk(int meshLod, MapDataGen mapGenerator, Transform parent, Vector2i coord, Vector3 pos)
        {
            this.coord   = coord;
            meshObject   = new GameObject("Collider Chunk " + coord.ToString());
            meshCollider = meshObject.AddComponent <MeshCollider>();
            meshObject.transform.position   = pos;
            meshObject.transform.parent     = parent;
            meshObject.transform.localScale = Vector3.one;
            isWaitMapData = true;
            colliderMesh  = new LODMesh(mapGenerator, meshLod, OnMeshDataReceived);

            mapGenerator.RequestColliderMapData(coord, OnMapDataReceived);

            //TODO request mesh
        }
コード例 #2
0
    void Start()
    {
        mapGenerator = FindObjectOfType <MapDataGen>();
        mapGenerator.Init();
        colliderMgr = TerrianColliderMgr.Instance;

        var colMgrTrans = new GameObject("TerrianColliders").transform;

        colMgrTrans.parent        = transform;
        colMgrTrans.localPosition = Vector3.zero;

        colliderMgr.mapGenerator = mapGenerator;
        colliderMgr.meshLod      = coliderMeshLod;
        colliderMgr.Init(colMgrTrans, viewer, MapDataGen.CHUNK_SIZE, coliderViewDist, coliderRatainDist);


        colliderMgr.CreateChunks();
        //meshMgr.CreateChunks();
    }
コード例 #3
0
 public LODMesh(MapDataGen mapGenerator, int lod, System.Action updateCallback)
 {
     this.lod            = lod;
     this.updateCallback = updateCallback;
     this.mapGenerator   = mapGenerator;
 }