public void Hide() { generatedData = null; chunk = null; meshFilter.sharedMesh = null; if (meshCollider) { meshCollider.sharedMesh = null; } }
public void RenderChunk(Chunk chunk) { this.chunk = chunk; if (chunk.GenerateUsingPlanetGlobalPos) { floatingTransform.BigPosition = chunk.planet.BigPosition; } else { floatingTransform.BigPosition = chunk.planet.BigPosition + chunk.bigPositionLocalToPlanet; } this.transform.rotation = chunk.planet.transform.rotation; generatedData = chunk.FullyGeneratedData; meshFilter.sharedMesh = generatedData.mesh; if (meshCollider) { meshCollider.sharedMesh = generatedData.mesh; } if (material == null || material.shader != chunk.planet.chunkConfig.chunkMaterial.shader) { material = new Material(chunk.planet.chunkConfig.chunkMaterial); meshRenderer.sharedMaterial = material; } if (material && generatedData.chunkDiffuseMap) { material.mainTexture = generatedData.chunkDiffuseMap; } if (material && generatedData.chunkTangentNormalMap) { material.SetTexture("_BumpMap", generatedData.chunkTangentNormalMap); } }