void RefreshMesh() { if (Count > 1 && singleMesh) { singleMesh = false; Transform mesh = Instantiate(meshTrans); Destroy(mesh.GetComponent <Animator>()); mesh.parent = meshTrans; mesh.localPosition = ChunkMeshGenerator.IsCubeType(type) ? cubeOffset : plantOffset; mesh.localEulerAngles = Vector3.zero; mesh.localScale = Vector3.one; } }
// Start is called before the first frame update void Start() { shadowTrans = transform.Find("shadow"); shadow = shadowTrans.GetComponent <Renderer>().material; meshTrans = transform.Find("mesh_parent/mesh"); MeshFilter meshFilter = meshTrans.GetComponent <MeshFilter>(); meshFilter.sharedMesh = ChunkMeshGenerator.GetBlockMesh(type); if (ChunkMeshGenerator.IsCubeType(type)) { meshFilter.transform.localScale = Vector3.one / 2; } meshTrans.GetComponent <MeshRenderer>().material.mainTexture = ChunkMeshGenerator.GetBlockTexture(type); RefreshMesh(); }