Material GenerateMaterial_Basemap() { //Export basemaps (diffuse and normal) Texture2D basemapDiffuse = null; Texture2D basemapNormal = null; bool sRGB = QualitySettings.activeColorSpace == ColorSpace.Linear; TerrainToMeshConverter.ExtractBasemap(sourceTerrain, out basemapDiffuse, out basemapNormal, 1024, 1024, sRGB); Material newMaterial = null; if (renderPipeline == RENDER_PIPELINE.Lightweight) { newMaterial = new Material(Shader.Find("LightweightPipeline/Standard (Physically Based)")); } else { newMaterial = new Material(Shader.Find(basemapNormal != null ? "Legacy Shaders/Bumped Diffuse" : "Legacy Shaders/Diffuse")); } newMaterial.mainTexture = basemapDiffuse; newMaterial.color = Color.white; if (basemapNormal != null) { newMaterial.SetTexture("_BumpMap", basemapNormal); } return(newMaterial); }
Material GenerateMaterial_Basemap() { //Export basemaps (diffuse and normal) Texture2D basemapDiffuse = null; Texture2D basemapNormal = null; bool sRGB = QualitySettings.activeColorSpace == ColorSpace.Linear; TerrainToMeshConverter.ExtractBasemap(sourceTerrain, out basemapDiffuse, out basemapNormal, 1024, 1024, sRGB); Material newMaterial = null; if (UnityEngine.Rendering.GraphicsSettings.renderPipelineAsset == null) { newMaterial = new Material(Shader.Find(basemapNormal != null ? "Legacy Shaders/Bumped Diffuse" : "Legacy Shaders/Diffuse")); newMaterial.SetTexture("_MainTex", basemapDiffuse); newMaterial.SetColor("_Color", Color.white); if (basemapNormal != null) { newMaterial.SetTexture("_BumpMap", basemapNormal); } } else { Shader srpShader = Shader.Find("Lightweight Render Pipeline/Lit"); if (srpShader == null) { srpShader = Shader.Find("VacuumShaders/Terrain To Mesh/SRP Default"); } newMaterial = new Material(srpShader); if (newMaterial.HasProperty("_MainTex")) { newMaterial.SetTexture("_MainTex", basemapDiffuse); } if (newMaterial.HasProperty("_BaseMap")) { newMaterial.SetTexture("_BaseMap", basemapDiffuse); } newMaterial.SetColor("_Color", Color.white); if (basemapNormal != null) { newMaterial.SetTexture("_BumpMap", basemapNormal); } } return(newMaterial); }