Export Basemap Occlusion Texture
Texture2D ExportBasemapOcclusionTexture(int resolution, bool enableHeightBasedBlend = false, float heightTransition = 0)
Last updated
Texture2D ExportBasemapOcclusionTexture(int resolution, bool enableHeightBasedBlend = false, float heightTransition = 0)
Last updated
Texture2D[] ExportBasemapOcclusionTexture(int resolution, int splitCountHorizontal, int splitCountVertical, bool enableHeightBasedBlend = false, float heightTransition = 0)//Example of generating multi-chunk meshes (8x8 grid) with UVs per chunk and
//exporting Basemap Diffuse and Occlusion textures for each one.
bool calculateUVsPerChunck = true;
int vertexCount = 100;
int textureResolution = 2048;
int splitCountHorizontal = 8;
int splitCountVertical = 8;
Mesh[] meshes = terrainData.TerrainToMesh().ExportMesh(vertexCount, vertexCount, splitCountHorizontal, splitCountVertical, calculateUVsPerChunck);
Texture2D[] diffuseMaps = terrainData.TerrainToMesh().ExportBasemapDiffuseTexture(textureResolution, false, splitCountHorizontal, splitCountVertical);
Texture2D[] occlusionMaps = terrainData.TerrainToMesh().ExportBasemapOcclusionTexture(textureResolution, splitCountHorizontal, splitCountVertical);
for(int i = 0; i < meshes.Length; i++)
{
GameObject go = new GameObject();
//Assign generated terrain mesh
go.AddComponent<MeshFilter>().sharedMesh = meshes[i];
//Creating material using default shader
Material material = new Material(TerrainToMeshUtilities.GetDefaultShader());
//Setting up material to use diffuse and occlusion maps
TerrainToMeshUtilities.SetupDefaultMaterial(material, diffuseMaps[i], false, null, null, occlusionMaps[i]);
//Assign material
go.AddComponent<MeshRenderer>().sharedMaterial = material;
}ExportBasemapOcclusionTexture(int resolution, int splitCountHorizontal, int splitCountVertical, int splitColumnIndex, int splitRowIndex, bool enableHeightBasedBlend = false, float heightTransition = 0)