diff --git a/Runtime/MaterialConverter.cs b/Runtime/MaterialConverter.cs index d27f81a..2a86812 100644 --- a/Runtime/MaterialConverter.cs +++ b/Runtime/MaterialConverter.cs @@ -32,6 +32,7 @@ public class MaterialConverter : IMaterialConverter { public Material DotMatrixDisplay => UnityEngine.Resources.Load("Materials/DotMatrixDisplay"); public Material SegmentDisplay => UnityEngine.Resources.Load("Materials/SegmentDisplay"); + public int NormalMapProperty => NormalMap; #region Shader Properties @@ -72,7 +73,7 @@ public static Material GetDefaultMaterial(BlendMode blendMode) } } - public Material CreateMaterial(PbrMaterial vpxMaterial, TableAuthoring table, Type objectType, StringBuilder debug = null) + public Material CreateMaterial(PbrMaterial vpxMaterial, ITextureProvider textureProvider, Type objectType, StringBuilder debug = null) { Material defaultMaterial = GetDefaultMaterial(vpxMaterial.MapBlendMode); @@ -124,18 +125,16 @@ public Material CreateMaterial(PbrMaterial vpxMaterial, TableAuthoring table, Ty unityMaterial.SetFloat(Smoothness, vpxMaterial.Roughness); // map - if (table != null && vpxMaterial.HasMap) - { - unityMaterial.SetTexture(BaseColorMap,table.GetTexture(vpxMaterial.Map.Name)); + if (vpxMaterial.HasMap) { + unityMaterial.SetTexture(BaseColorMap,textureProvider.GetTexture(vpxMaterial.Map.Name)); } // normal map - if (table != null && vpxMaterial.HasNormalMap) - { + if (vpxMaterial.HasNormalMap) { unityMaterial.EnableKeyword("_NORMALMAP"); unityMaterial.EnableKeyword("_NORMALMAP_TANGENT_SPACE"); - unityMaterial.SetTexture( NormalMap, table.GetTexture(vpxMaterial.NormalMap.Name)); + unityMaterial.SetTexture( NormalMap, textureProvider.GetTexture(vpxMaterial.NormalMap.Name)); } return unityMaterial;