public StandardSimpleLightingUpgrader(string oldShaderName, UpgradeParams upgradeParams) { if (oldShaderName == null) { throw new ArgumentNullException("oldShaderName"); } RenameShader(oldShaderName, ShaderUtils.GetShaderPath(ShaderPathID.SimpleLit), UpdateMaterialKeywords); SetFloat("_Surface", (float)upgradeParams.surfaceType); SetFloat("_Blend", (float)upgradeParams.blendMode); SetFloat("_AlphaClip", upgradeParams.alphaClip ? 1 : 0); SetFloat("_SpecularHighlights", (float)upgradeParams.specularSource); SetFloat("_SmoothnessSource", (float)upgradeParams.smoothnessSource); RenameTexture("_MainTex", "_BaseMap"); RenameColor("_Color", "_BaseColor"); RenameFloat("_Shininess", "_Smoothness"); if (oldShaderName.Contains("Legacy Shaders/Self-Illumin")) { RenameTexture("_Illum", "_EmissionMap"); RemoveTexture("_Illum"); SetColor("_EmissionColor", Color.white); } }
public static void AllMaterialShadersAreNotBuiltin(string projectName, ShaderPathID shaderPathID) { string shaderPath = AssetDatabase.GUIDToAssetPath(ShaderUtils.GetShaderGUID(shaderPathID)); Assert.IsFalse(string.IsNullOrEmpty(shaderPath)); var shader = AssetDatabase.LoadAssetAtPath <Shader>(shaderPath); Assert.AreEqual(shader.name, ShaderUtils.GetShaderPath(shaderPathID)); var guids = AssetDatabase.FindAssets("t:Material"); foreach (var guid in guids) { var path = AssetDatabase.GUIDToAssetPath(guid); // We only care what is in assets folder if (!path.StartsWith("Assets")) { continue; } Material material = AssetDatabase.LoadAssetAtPath <Material>(path); Assert.AreNotEqual(material.shader, shader, $"Material ({path}) has excluded shader. {projectName} project should not have shader {shader.name}"); } }
public override Shader GetDefaultShader() { if (m_DefaultShader == null) { m_DefaultShader = Shader.Find(ShaderUtils.GetShaderPath(ShaderPathID.PhysicallyBased)); } return(m_DefaultShader); }
public void ValidateShaderResources(ShaderPathID shaderPathID) { string path = AssetDatabase.GUIDToAssetPath(ShaderUtils.GetShaderGUID(shaderPathID)); Assert.IsFalse(string.IsNullOrEmpty(path)); var shader = AssetDatabase.LoadAssetAtPath <Shader>(path); Assert.AreEqual(shader.name, ShaderUtils.GetShaderPath(shaderPathID)); }
public UnlitUpdaterV1(string oldShaderName) { if (oldShaderName == null) { throw new ArgumentNullException("oldShaderName"); } RenameShader(oldShaderName, ShaderUtils.GetShaderPath(ShaderPathID.Unlit), UpgradeToUnlit); RenameTexture("_MainTex", "_BaseMap"); RenameColor("_Color", "_BaseColor"); }
public SimpleLitUpdaterV1(string oldShaderName) { if (oldShaderName == null) { throw new ArgumentNullException("oldShaderName"); } RenameShader(oldShaderName, ShaderUtils.GetShaderPath(ShaderPathID.SimpleLit), UpgradeToSimpleLit); RenameTexture("_MainTex", "_BaseMap"); RenameColor("_Color", "_BaseColor"); RenameFloat("_SpecSource", "_SpecularHighlights"); RenameFloat("_Shininess", "_Smoothness"); }
public LitUpdaterV1(string oldShaderName) { if (oldShaderName == null) { throw new ArgumentNullException("oldShaderName"); } string standardShaderPath = ShaderUtils.GetShaderPath(ShaderPathID.Lit); RenameShader(oldShaderName, standardShaderPath, UpdateLitDetails); RenameTexture("_MainTex", "_BaseMap"); RenameColor("_Color", "_BaseColor"); RenameFloat("_GlossyReflections", "_EnvironmentReflections"); }
public ParticleUpgrader(string oldShaderName) { if (oldShaderName == null) { throw new ArgumentNullException("oldShaderName"); } if (oldShaderName.Contains("Unlit")) { RenameShader(oldShaderName, ShaderUtils.GetShaderPath(ShaderPathID.ParticlesUnlit)); } else { RenameShader(oldShaderName, ShaderUtils.GetShaderPath(ShaderPathID.ParticlesPhysicallyBased)); } }
public StandardUpgrader(string oldShaderName) { if (oldShaderName == null) { throw new ArgumentNullException("oldShaderName"); } string standardShaderPath = ShaderUtils.GetShaderPath(ShaderPathID.PhysicallyBased); if (oldShaderName.Contains("Specular")) { RenameShader(oldShaderName, standardShaderPath, UpdateStandardSpecularMaterialKeywords); } else { RenameShader(oldShaderName, standardShaderPath, UpdateStandardMaterialKeywords); } }
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 void ValidateShaderResources(ShaderPathID shaderPathID) { string path = AssetDatabase.GUIDToAssetPath(ShaderUtils.GetShaderGUID(shaderPathID)); Assert.IsFalse(string.IsNullOrEmpty(path)); var shader = AssetDatabase.LoadAssetAtPath <Shader>(path); Assert.AreEqual(shader.name, ShaderUtils.GetShaderPath(shaderPathID)); var propertyNames = new System.Collections.Generic.HashSet <string>(); for (int j = 0; j < shader.GetPropertyCount(); ++j) { string propertyName = shader.GetPropertyName(j); Assert.IsFalse(propertyNames.Contains(propertyName), $"{shader.name} has duplicated property {propertyName}!"); propertyNames.Add(propertyName); } }
public StandardUpgrader(string oldShaderName) { if (oldShaderName == null) { throw new ArgumentNullException("oldShaderName"); } string standardShaderPath = ShaderUtils.GetShaderPath(ShaderPathID.Lit); if (oldShaderName.Contains("Specular")) { RenameShader(oldShaderName, standardShaderPath, UpdateStandardSpecularMaterialKeywords); } else { RenameShader(oldShaderName, standardShaderPath, UpdateStandardMaterialKeywords); } RenameTexture("_MainTex", "_BaseMap"); RenameColor("_Color", "_BaseColor"); RenameFloat("_GlossyReflections", "_EnvironmentReflections"); }
public ParticleUpgrader(string oldShaderName) { if (oldShaderName == null) { throw new ArgumentNullException("oldShaderName"); } RenameFloat("_Mode", "_Surface"); if (oldShaderName.Contains("Unlit")) { RenameShader(oldShaderName, ShaderUtils.GetShaderPath(ShaderPathID.ParticlesUnlit), UpdateUnlit); } else { RenameShader(oldShaderName, ShaderUtils.GetShaderPath(ShaderPathID.ParticlesLit), UpdateStandardSurface); RenameFloat("_Glossiness", "_Smoothness"); } RenameTexture("_MainTex", "_BaseMap"); RenameColor("_Color", "_BaseColor"); RenameFloat("_FlipbookMode", "_FlipbookBlending"); }
public TerrainUpgrader(string oldShaderName) { RenameShader(oldShaderName, ShaderUtils.GetShaderPath(ShaderPathID.TerrainLit)); }
public TerrainUpgrader(string oldShaderName) { RenameShader(oldShaderName, ShaderUtils.GetShaderPath(ShaderPathID.TerrainPhysicallyBased)); }
internal UniversalSpeedTree8Upgrader(string oldShaderName) : base(oldShaderName, ShaderUtils.GetShaderPath(ShaderPathID.SpeedTree8), UniversalSpeedTree8MaterialFinalizer) { RenameFloat("_TwoSided", Property.CullMode); }
internal SpeedTreeBillboardUpgrader(string oldShaderName) { RenameShader(oldShaderName, ShaderUtils.GetShaderPath(ShaderPathID.SpeedTree7Billboard)); }
internal SpeedTree8Upgrader(string oldShaderName) { RenameShader(oldShaderName, ShaderUtils.GetShaderPath(ShaderPathID.SpeedTree8)); }