diff --git a/Assets/VRM10/Editor/ScriptedImporter/VrmScriptedImporterEditorGUI.cs b/Assets/VRM10/Editor/ScriptedImporter/VrmScriptedImporterEditorGUI.cs index 60f1d2139..cfae4e50a 100644 --- a/Assets/VRM10/Editor/ScriptedImporter/VrmScriptedImporterEditorGUI.cs +++ b/Assets/VRM10/Editor/ScriptedImporter/VrmScriptedImporterEditorGUI.cs @@ -65,7 +65,7 @@ namespace UniVRM10 case Tabs.Materials: if (m_parser != null) { - EditorMaterial.OnGUI(m_importer, m_parser, Vrm10MToonMaterialImporter.EnumerateAllTexturesDistinct); + EditorMaterial.OnGUI(m_importer, m_parser, Vrm10MaterialImporter.EnumerateAllTexturesDistinct); } break; diff --git a/Assets/VRM10/Editor/ScriptedImporter/VrmScriptedImporterImpl.cs b/Assets/VRM10/Editor/ScriptedImporter/VrmScriptedImporterImpl.cs index ba04ffec9..e21721052 100644 --- a/Assets/VRM10/Editor/ScriptedImporter/VrmScriptedImporterImpl.cs +++ b/Assets/VRM10/Editor/ScriptedImporter/VrmScriptedImporterImpl.cs @@ -99,7 +99,7 @@ namespace UniVRM10 using (var loader = new RuntimeUnityBuilder(parser, externalObjectMap)) { // settings TextureImporters - foreach (var (key, textureInfo) in Vrm10MToonMaterialImporter.EnumerateAllTexturesDistinct(parser)) + foreach (var (key, textureInfo) in Vrm10MaterialImporter.EnumerateAllTexturesDistinct(parser)) { TextureImporterConfigurator.Configure(textureInfo, loader.TextureFactory.ExternalMap); } diff --git a/Assets/VRM10/Runtime/IO/RuntimeUnityBuilder.cs b/Assets/VRM10/Runtime/IO/RuntimeUnityBuilder.cs index 493540f0b..e86ee09bb 100644 --- a/Assets/VRM10/Runtime/IO/RuntimeUnityBuilder.cs +++ b/Assets/VRM10/Runtime/IO/RuntimeUnityBuilder.cs @@ -23,7 +23,7 @@ namespace UniVRM10 m_model = VrmLoader.CreateVrmModel(parser); // for `VRMC_materials_mtoon` - this.GltfMaterialImporter.GltfMaterialParamProcessors.Insert(0, Vrm10MToonMaterialImporter.TryCreateParam); + this.GltfMaterialImporter.GltfMaterialParamProcessors.Insert(0, Vrm10MaterialImporter.TryCreateParam); if (!UniGLTF.Extensions.VRMC_vrm.GltfDeserializer.TryGet(parser.GLTF.extensions, out m_vrm)) { @@ -270,7 +270,7 @@ namespace UniVRM10 { m_meta.Authors.AddRange(src.Authors); } - if (Vrm10MToonMaterialImporter.TryGetMetaThumbnailTextureImportParam(Parser, vrm, out (SubAssetKey, VRMShaders.TextureImportParam Param) kv)) + if (Vrm10MaterialImporter.TryGetMetaThumbnailTextureImportParam(Parser, vrm, out (SubAssetKey, VRMShaders.TextureImportParam Param) kv)) { var texture = await TextureFactory.GetTextureAsync(kv.Param); if (texture != null) diff --git a/Assets/VRM10/Runtime/IO/Vrm10MToonMaterialImporter.cs b/Assets/VRM10/Runtime/IO/Vrm10MaterialImporter.cs similarity index 83% rename from Assets/VRM10/Runtime/IO/Vrm10MToonMaterialImporter.cs rename to Assets/VRM10/Runtime/IO/Vrm10MaterialImporter.cs index f735468cf..d0f00b682 100644 --- a/Assets/VRM10/Runtime/IO/Vrm10MToonMaterialImporter.cs +++ b/Assets/VRM10/Runtime/IO/Vrm10MaterialImporter.cs @@ -8,7 +8,7 @@ using VRMShaders; namespace UniVRM10 { - public static class Vrm10MToonMaterialImporter + public static class Vrm10MaterialImporter { public static Color ToColor4(this float[] src, Color defaultValue = default) { @@ -76,42 +76,43 @@ namespace UniVRM10 { // var color = mtoon.Color; material.SetColor(MToon.Utils.PropColor, m.pbrMetallicRoughness.baseColorFactor.ToColor4()); - material.SetColor(MToon.Utils.PropShadeColor, mtoon.ShadeColorFactor.ToColor3()); + if (mtoon.ShadeColorFactor != null) material.SetColor(MToon.Utils.PropShadeColor, mtoon.ShadeColorFactor.ToColor3()); material.SetFloat(MToon.Utils.PropCutoff, m.alphaCutoff); } { { - material.SetFloat(MToon.Utils.PropShadeShift, mtoon.ShadingShiftFactor.Value); - material.SetFloat(MToon.Utils.PropShadeToony, mtoon.ShadingToonyFactor.Value); + if (mtoon.ShadingShiftFactor.HasValue) material.SetFloat(MToon.Utils.PropShadeShift, mtoon.ShadingShiftFactor.Value); + if (mtoon.ShadingToonyFactor.HasValue) material.SetFloat(MToon.Utils.PropShadeToony, mtoon.ShadingToonyFactor.Value); // material.SetFloat(PropReceiveShadowRate, mtoon.prop.ShadowReceiveMultiplierValue); // material.SetFloat(PropShadingGradeRate, mtoon.mix prop.LitAndShadeMixingMultiplierValue); } { - material.SetFloat(MToon.Utils.PropIndirectLightIntensity, mtoon.GiIntensityFactor.Value); + if (mtoon.GiIntensityFactor.HasValue) material.SetFloat(MToon.Utils.PropIndirectLightIntensity, mtoon.GiIntensityFactor.Value); } } { material.SetColor(MToon.Utils.PropEmissionColor, m.emissiveFactor.ToColor3()); } { - material.SetColor(MToon.Utils.PropRimColor, mtoon.ParametricRimColorFactor.ToColor3()); - material.SetFloat(MToon.Utils.PropRimLightingMix, mtoon.RimLightingMixFactor.Value); - material.SetFloat(MToon.Utils.PropRimFresnelPower, mtoon.ParametricRimFresnelPowerFactor.Value); - material.SetFloat(MToon.Utils.PropRimLift, mtoon.ParametricRimLiftFactor.Value); + if (mtoon.ParametricRimColorFactor != null) material.SetColor(MToon.Utils.PropRimColor, mtoon.ParametricRimColorFactor.ToColor3()); + if (mtoon.RimLightingMixFactor.HasValue) material.SetFloat(MToon.Utils.PropRimLightingMix, mtoon.RimLightingMixFactor.Value); + if (mtoon.ParametricRimFresnelPowerFactor.HasValue) material.SetFloat(MToon.Utils.PropRimFresnelPower, mtoon.ParametricRimFresnelPowerFactor.Value); + if (mtoon.ParametricRimLiftFactor.HasValue) material.SetFloat(MToon.Utils.PropRimLift, mtoon.ParametricRimLiftFactor.Value); } { - material.SetFloat(MToon.Utils.PropOutlineWidth, mtoon.OutlineWidthFactor.Value); - material.SetColor(MToon.Utils.PropOutlineColor, mtoon.OutlineColorFactor.ToColor3()); - material.SetFloat(MToon.Utils.PropOutlineLightingMix, mtoon.OutlineLightingMixFactor.Value); + if (mtoon.OutlineWidthFactor.HasValue) material.SetFloat(MToon.Utils.PropOutlineWidth, mtoon.OutlineWidthFactor.Value); + if (mtoon.OutlineColorFactor != null) material.SetColor(MToon.Utils.PropOutlineColor, mtoon.OutlineColorFactor.ToColor3()); + if (mtoon.OutlineLightingMixFactor.HasValue) material.SetFloat(MToon.Utils.PropOutlineLightingMix, mtoon.OutlineLightingMixFactor.Value); + // private // MToon.Utils.SetOutlineMode(material, outline.OutlineWidthMode, outline.OutlineColorMode); } { // material.SetTextureScale(PropMainTex, mtoon.MainTextureLeftBottomOriginScale); // material.SetTextureOffset(PropMainTex, mtoon.MainTextureLeftBottomOriginOffset); - material.SetFloat(MToon.Utils.PropUvAnimScrollX, mtoon.UvAnimationScrollXSpeedFactor.Value); - material.SetFloat(MToon.Utils.PropUvAnimScrollY, mtoon.UvAnimationScrollYSpeedFactor.Value); - material.SetFloat(MToon.Utils.PropUvAnimRotation, mtoon.UvAnimationRotationSpeedFactor.Value); + if (mtoon.UvAnimationScrollXSpeedFactor.HasValue) material.SetFloat(MToon.Utils.PropUvAnimScrollX, mtoon.UvAnimationScrollXSpeedFactor.Value); + if (mtoon.UvAnimationScrollYSpeedFactor.HasValue) material.SetFloat(MToon.Utils.PropUvAnimScrollY, mtoon.UvAnimationScrollYSpeedFactor.Value); + if (mtoon.UvAnimationRotationSpeedFactor.HasValue) material.SetFloat(MToon.Utils.PropUvAnimRotation, mtoon.UvAnimationRotationSpeedFactor.Value); } MToon.Utils.ValidateProperties(material, isBlendModeChangedByUser: false); diff --git a/Assets/VRM10/Runtime/IO/Vrm10MToonMaterialImporter.cs.meta b/Assets/VRM10/Runtime/IO/Vrm10MaterialImporter.cs.meta similarity index 83% rename from Assets/VRM10/Runtime/IO/Vrm10MToonMaterialImporter.cs.meta rename to Assets/VRM10/Runtime/IO/Vrm10MaterialImporter.cs.meta index 22b07f75f..4065f3f76 100644 --- a/Assets/VRM10/Runtime/IO/Vrm10MToonMaterialImporter.cs.meta +++ b/Assets/VRM10/Runtime/IO/Vrm10MaterialImporter.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7adf33b35bd23f2478d7c1071bc54d0e +guid: bb1910407057aeb49b63358cea33b09f MonoImporter: externalObjects: {} serializedVersion: 2