public void Start() { Terrain terrain = new Terrain(); Mesh mesh = TerrainMeshBuilder.Build(terrain); this.GetComponent <MeshFilter>().sharedMesh = mesh; }
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(); }
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); }