From 20803fe9c8919a0aee3454c97ace6af1f99064c3 Mon Sep 17 00:00:00 2001 From: Remi Chapelain Date: Fri, 5 Jun 2020 16:40:06 +0200 Subject: [PATCH] Standard terrain upgrader --- .../StandardsTerrainToHDTerrainLitUpgrader.cs | 21 +++++++++++++++++++ ...dardsTerrainToHDTerrainLitUpgrader.cs.meta | 11 ++++++++++ .../UpgradeStandardShaderMaterials.cs | 3 +++ 3 files changed, 35 insertions(+) create mode 100644 com.unity.render-pipelines.high-definition/Editor/Material/TerrainLit/StandardsTerrainToHDTerrainLitUpgrader.cs create mode 100644 com.unity.render-pipelines.high-definition/Editor/Material/TerrainLit/StandardsTerrainToHDTerrainLitUpgrader.cs.meta diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/TerrainLit/StandardsTerrainToHDTerrainLitUpgrader.cs b/com.unity.render-pipelines.high-definition/Editor/Material/TerrainLit/StandardsTerrainToHDTerrainLitUpgrader.cs new file mode 100644 index 00000000000..91d4812cf55 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/Material/TerrainLit/StandardsTerrainToHDTerrainLitUpgrader.cs @@ -0,0 +1,21 @@ +using UnityEngine; +using UnityEngine.Rendering.HighDefinition; + +namespace UnityEditor.Rendering.HighDefinition +{ + class StandardsTerrainToHDTerrainLitUpgrader : MaterialUpgrader + { + + public StandardsTerrainToHDTerrainLitUpgrader(string sourceShaderName, string destShaderName, MaterialFinalizer finalizer = null) + { + RenameShader(sourceShaderName, destShaderName, finalizer); + } + + public override void Convert(Material srcMaterial, Material dstMaterial) + { + base.Convert(srcMaterial, dstMaterial); + + HDShaderUtils.ResetMaterialKeywords(dstMaterial); + } + } +} diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/TerrainLit/StandardsTerrainToHDTerrainLitUpgrader.cs.meta b/com.unity.render-pipelines.high-definition/Editor/Material/TerrainLit/StandardsTerrainToHDTerrainLitUpgrader.cs.meta new file mode 100644 index 00000000000..5b33cc09037 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/Material/TerrainLit/StandardsTerrainToHDTerrainLitUpgrader.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6d3e54e3dd1c6c249a59f788380085b1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/com.unity.render-pipelines.high-definition/Editor/Upgraders/UpgradeStandardShaderMaterials.cs b/com.unity.render-pipelines.high-definition/Editor/Upgraders/UpgradeStandardShaderMaterials.cs index d07e9d15459..3caefc2fd49 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Upgraders/UpgradeStandardShaderMaterials.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Upgraders/UpgradeStandardShaderMaterials.cs @@ -18,6 +18,9 @@ static List GetHDUpgraders() upgraders.Add(new UnlitsToHDUnlitUpgrader("Unlit/Texture", "HDRP/Unlit")); upgraders.Add(new UnlitsToHDUnlitUpgrader("Unlit/Transparent", "HDRP/Unlit")); upgraders.Add(new UnlitsToHDUnlitUpgrader("Unlit/Transparent Cutout", "HDRP/Unlit")); + + upgraders.Add(new StandardsTerrainToHDTerrainLitUpgrader("Nature/Terrain/Standard", "HDRP/TerrainLit")); + return upgraders; }