Exemplo n.º 1
0
 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;
     }
 }
Exemplo n.º 2
0
    // 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();
    }