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);
        }
    }