Esempio n. 1
0
        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);
        }
Esempio n. 4
0
        private static void UpgradeMaterialsToLDSelection()
        {
            List <MaterialUpgrader> upgraders = new List <MaterialUpgrader>();

            GetUpgraders(ref upgraders);

            MaterialUpgrader.UpgradeSelection(upgraders, "Upgrade to Lightweight Pipeline Materials");
        }
Esempio n. 5
0
        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");
        }
Esempio n. 7
0
        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;
            }
        }
Esempio n. 10
0
        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");
 }
Esempio n. 15
0
 internal static void UpgradeMaterialsProject()
 {
     MaterialUpgrader.UpgradeProjectFolder(GetHDtoURPUpgraders(), "Converting...");
 }
Esempio n. 16
0
 static void UpgradeMaterials(bool toHDRP)
 {
     MaterialUpgrader.UpgradeProjectFolder(GetMaterialUpgraders(toHDRP).ToList(), "Upgrade materials");
 }
Esempio n. 17
0
 internal static void UpgradeMaterialsSelection()
 {
     MaterialUpgrader.UpgradeSelection(GetHDtoURPUpgraders(), "Converting...");
 }