public void UpgradeStandardToHDLitMaterialUpgrader() { var newShader = Shader.Find("HDRenderPipeline/Lit"); var mat = new Material(Shader.Find("Standard")); var albedo = new Texture2D(1, 1); var normals = new Texture2D(1, 1); var baseScale = new Vector2(1, 1); var color = Color.red; mat.mainTexture = albedo; mat.SetTexture("_BumpMap", normals); mat.color = color; mat.SetTextureScale("_MainTex", baseScale); var upgrader = new StandardToHDLitMaterialUpgrader(); MaterialUpgrader.Upgrade(mat, upgrader, MaterialUpgrader.UpgradeFlags.CleanupNonUpgradedProperties); Assert.AreEqual(newShader, mat.shader); Assert.AreEqual(albedo, mat.GetTexture("_BaseColorMap")); Assert.AreEqual(color, mat.GetColor("_BaseColor")); Assert.AreEqual(baseScale, mat.GetTextureScale("_BaseColorMap")); Assert.AreEqual(normals, mat.GetTexture("_NormalMap")); Assert.IsTrue(mat.IsKeywordEnabled("_NORMALMAP")); }
public static void UpgradeMaterialsToLDProject() { List <MaterialUpgrader> materialUpgraders = new List <MaterialUpgrader>(); GetUpgraders(ref materialUpgraders); MaterialUpgrader.UpgradeProjectFolder(materialUpgraders, "Upgrade to LD Materials"); }
private static void UpgradeSelectedMaterials() { List <MaterialUpgrader> upgraders = new List <MaterialUpgrader>(); GetUpgraders(ref upgraders); MaterialUpgrader.UpgradeSelection(upgraders, "Upgrade to LightweightRP Materials", MaterialUpgrader.UpgradeFlags.LogMessageWhenNoUpgraderFound); }
private static void UpgradeMaterialsToLDSelection() { List <MaterialUpgrader> upgraders = new List <MaterialUpgrader>(); GetUpgraders(ref upgraders); MaterialUpgrader.UpgradeSelection(upgraders, "Upgrade to Lightweight Pipeline Materials"); }
private static void UpgradeMaterialsToLDProject() { List <MaterialUpgrader> upgraders = new List <MaterialUpgrader>(); GetUpgraders(ref upgraders); MaterialUpgrader.UpgradeProjectFolder(upgraders, "Upgrade to Lightweight Pipeline Materials"); }
public static void UpgradeMaterialsToLDSelection() { List <MaterialUpgrader> materialUpgraders = new List <MaterialUpgrader>(); GetUpgraders(ref materialUpgraders); MaterialUpgrader.UpgradeSelection(materialUpgraders, "Upgrade to Lightweight Materials"); }
private static void UpgradeProjectMaterials() { List <MaterialUpgrader> upgraders = new List <MaterialUpgrader>(); GetUpgraders(ref upgraders); MaterialUpgrader.UpgradeProjectFolder(upgraders, "Upgrade to Lightweight Pipeline Materials", MaterialUpgrader.UpgradeFlags.LogMessageWhenNoUpgraderFound); }
private static void UpgradeSelectedMaterials() { List <MaterialUpgrader> upgraders = new List <MaterialUpgrader>(); GetUpgraders(ref upgraders); HashSet <string> shaderNamesToIgnore = new HashSet <string>(); GetShaderNamesToIgnore(ref shaderNamesToIgnore); MaterialUpgrader.UpgradeSelection(upgraders, shaderNamesToIgnore, "Upgrade to URP Materials", MaterialUpgrader.UpgradeFlags.LogMessageWhenNoUpgraderFound); }
static void UpgradeV1(Material material, ShaderID shaderID) { if (shaderID.IsShaderGraph()) { return; } var shaderPath = ShaderUtils.GetShaderPath((ShaderPathID)shaderID); var upgradeFlag = MaterialUpgrader.UpgradeFlags.LogMessageWhenNoUpgraderFound; switch (shaderID) { case ShaderID.Unlit: MaterialUpgrader.Upgrade(material, new UnlitUpdaterV1(shaderPath), upgradeFlag); UnlitShader.SetMaterialKeywords(material); break; case ShaderID.SimpleLit: MaterialUpgrader.Upgrade(material, new SimpleLitUpdaterV1(shaderPath), upgradeFlag); SimpleLitShader.SetMaterialKeywords(material, SimpleLitGUI.SetMaterialKeywords); break; case ShaderID.Lit: MaterialUpgrader.Upgrade(material, new LitUpdaterV1(shaderPath), upgradeFlag); LitShader.SetMaterialKeywords(material, LitGUI.SetMaterialKeywords); break; case ShaderID.ParticlesLit: MaterialUpgrader.Upgrade(material, new ParticleUpdaterV1(shaderPath), upgradeFlag); ParticlesLitShader.SetMaterialKeywords(material, LitGUI.SetMaterialKeywords, ParticleGUI.SetMaterialKeywords); break; case ShaderID.ParticlesSimpleLit: MaterialUpgrader.Upgrade(material, new ParticleUpdaterV1(shaderPath), upgradeFlag); ParticlesSimpleLitShader.SetMaterialKeywords(material, SimpleLitGUI.SetMaterialKeywords, ParticleGUI.SetMaterialKeywords); break; case ShaderID.ParticlesUnlit: MaterialUpgrader.Upgrade(material, new ParticleUpdaterV1(shaderPath), upgradeFlag); ParticlesUnlitShader.SetMaterialKeywords(material, null, ParticleGUI.SetMaterialKeywords); break; } }
public SerializedShaderPropertyUsage GatherClipsUsageInDependentPrefabs_WhenUsingSpecifiedClipProvider_ReturnsExpectedUsage( string prefabName, string clipName ) { var clipPath = (ClipPath)(typeof(TestResources).GetField(clipName, BindingFlags.Public | BindingFlags.Instance)?.GetValue(m_Resources) as AnimationClip); Assume.That(clipPath.Path, Is.Not.Null.And.Not.Empty); var prefabPath = (PrefabPath)(typeof(TestResources).GetField(prefabName, BindingFlags.Public | BindingFlags.Instance)?.GetValue(m_Resources) as GameObject); Assume.That(prefabPath.Path, Is.Not.Null.And.Not.Empty); var clipPaths = new[] { clipPath }; AnimationClipUpgrader.GetClipDependencyMappings(clipPaths, new[] { prefabPath }, out var clipDependents, out var prefabDependencies); var materialUpgrader = new MaterialUpgrader(); materialUpgrader.RenameShader( m_Resources.Material_Legacy_Upgradable.shader.name, m_Resources.Material_URP.shader.name ); materialUpgrader.RenameColor("_Color", "_BaseColor"); materialUpgrader.RenameFloat("_MainTex_ST", "_BaseMap_ST"); var allUpgradePathsToNewShaders = new Dictionary <string, IReadOnlyList <MaterialUpgrader> > { { m_Resources.Material_URP.shader.name, new[] { materialUpgrader } } }; var clipData = AnimationClipUpgrader.GetAssetDataForClipsFiltered(clipPaths); AnimationClipUpgrader.GatherClipsUsageInDependentPrefabs( clipDependents, prefabDependencies, clipData, allUpgradePathsToNewShaders, upgradePathsUsedByMaterials: null ); return(clipData.Values.Single().Usage); }
public void UpgradeMaterial() { var newShader = Shader.Find("HDRenderPipeline/LitLegacySupport"); var mat = new Material(Shader.Find("Standard (Specular setup)")); var albedo = new Texture2D(1, 1); var normals = new Texture2D(1, 1); var baseScale = new Vector2(1, 1); var color = Color.red; mat.mainTexture = albedo; mat.SetTexture("_BumpMap", normals); mat.color = color; mat.SetTextureScale("_MainTex", baseScale); MaterialUpgrader.Upgrade(mat, new StandardSpecularToHDLitMaterialUpgrader(), MaterialUpgrader.UpgradeFlags.CleanupNonUpgradedProperties); Assert.AreEqual(newShader, mat.shader); Assert.AreEqual(albedo, mat.GetTexture("_BaseColorMap")); Assert.AreEqual(color, mat.GetColor("_BaseColor")); Assert.AreEqual(baseScale, mat.GetTextureScale("_BaseColorMap")); Assert.AreEqual(normals, mat.GetTexture("_NormalMap")); }
private static void UpgradeSelectedMaterialsInFolder() { MaterialUpgrader.ClearKeyWords(); }
internal static void UpgradeMaterialsSelection() { MaterialUpgrader.UpgradeSelection(GetHDUpgraders(), "Upgrade to HD Material"); }
internal static void UpgradeMaterialsProject() { MaterialUpgrader.UpgradeProjectFolder(GetHDUpgraders(), "Upgrade to HD Material"); }
internal static void UpgradeMaterialsProject() { MaterialUpgrader.UpgradeProjectFolder(GetHDtoURPUpgraders(), "Converting..."); }
static void UpgradeMaterials(bool toHDRP) { MaterialUpgrader.UpgradeProjectFolder(GetMaterialUpgraders(toHDRP).ToList(), "Upgrade materials"); }
internal static void UpgradeMaterialsSelection() { MaterialUpgrader.UpgradeSelection(GetHDtoURPUpgraders(), "Converting..."); }