コード例 #1
0
    public void Start()
    {
        Terrain terrain = new Terrain();

        Mesh mesh = TerrainMeshBuilder.Build(terrain);

        this.GetComponent <MeshFilter>().sharedMesh = mesh;
    }
コード例 #2
0
 public LodInterpolatedMeshBuilder(TerrainMeshBuilder meshBuilder, BuilderData data)
 {
     _meshBuilder = meshBuilder;
     _heigthData  = data.HeigthData;
     _origin      = data.Origin;
     _unitSize    = data.UnitSize;
     _maxHeight   = data.MaxHeight;
     _maxDataLod  = (int)Mathf.Log(_heigthData.GetLength(0) - 1, 2.0f) + 1;
     IsSeaBottom  = data.HeigthData.IsSeaBed();
 }
コード例 #3
0
 public LodTerrainUnit Init(BuilderData data, Material material, TerrainMeshBuilder meshBuilder)
 {
     _myX                              = Mathf.FloorToInt(transform.position.x / Consts.UnitSize);
     _myZ                              = Mathf.FloorToInt(transform.position.z / Consts.UnitSize);
     _meshFilter                       = gameObject.AddComponent <MeshFilter>();
     _meshRenderer                     = gameObject.AddComponent <MeshRenderer>();
     _material                         = material;
     _meshRenderer.material            = _material;
     _lodBuilder                       = new LodInterpolatedMeshBuilder(meshBuilder, data);
     meshBuilder.OnCamPositionChanged += CheckLod;
     _origin                           = data.Origin;
     SeaBed                            = data.SeaBed;
     CheckLod(0, 0);
     return(this);
 }