From e5ca1346a517a05f12cb41d77bb67e13871c3505 Mon Sep 17 00:00:00 2001 From: Masataka SUMI Date: Sun, 27 Jun 2021 21:45:30 +0900 Subject: [PATCH] Rename GltfParser to IGltfData --- .../GlbScriptedImporterEditorGUI.cs | 18 +++--- .../GltfScriptedImporterEditorGUI.cs | 18 +++--- .../ScriptedImporter/RemapEditorAnimation.cs | 6 +- .../ScriptedImporter/RemapEditorMaterial.cs | 10 +-- .../ScriptedImporter/ScriptedImporterImpl.cs | 2 +- .../ScriptedImporter/TextureExtractor.cs | 16 ++--- .../IO/{GltfParser.cs => IGltfData.cs} | 2 +- .../{GltfParser.cs.meta => IGltfData.cs.meta} | 0 .../Runtime/UniGLTF/IO/ImporterContext.cs | 24 +++---- .../UniGLTF/IO/ImporterContextExtensions.cs | 2 +- .../GltfMaterialDescriptorGenerator.cs | 6 +- .../IO/MaterialIO/GltfPbrMaterialImporter.cs | 14 ++-- .../MaterialIO/GltfUnlitMaterialImporter.cs | 10 +-- .../IMaterialDescriptorGenerator.cs | 2 +- .../IO/TextureIO/GltfPbrTextureImporter.cs | 28 ++++---- .../GltfTextureDescriptorGenerator.cs | 14 ++-- .../IO/TextureIO/GltfTextureImporter.cs | 48 +++++++------- Assets/UniGLTF/Tests/UniGLTF/GltfLoadTests.cs | 6 +- .../Tests/UniGLTF/TextureEnumerateTests.cs | 8 +-- Assets/UniGLTF/Tests/UniGLTF/TextureTests.cs | 2 +- Assets/UniGLTF/Tests/UniGLTF/UniGLTFTests.cs | 10 +-- .../Editor/Tests/VRMImportExportTests.cs | 6 +- .../VRM.Samples/Scripts/VRMRuntimeExporter.cs | 2 +- .../VRM.Samples/Scripts/VRMRuntimeLoader.cs | 4 +- Assets/VRM.Samples/Scripts/ViewerUI.cs | 6 +- .../Editor/Format/VRMEditorImporterContext.cs | 2 +- Assets/VRM/Editor/Format/VRMImporterMenu.cs | 4 +- .../Editor/Format/vrmAssetPostprocessor.cs | 2 +- Assets/VRM/Runtime/IO/VRMImporterContext.cs | 8 +-- .../Runtime/IO/VRMMToonMaterialImporter.cs | 6 +- .../VRM/Runtime/IO/VRMMToonTextureImporter.cs | 10 +-- .../IO/VRMMaterialDescriptorGenerator.cs | 8 +-- .../IO/VrmTextureDescriptorGenerator.cs | 24 +++---- Assets/VRM/Tests/MToonTest.cs | 4 +- Assets/VRM/Tests/VRMLoadTests.cs | 2 +- Assets/VRM/Tests/VRMLookAtTests.cs | 12 ++-- Assets/VRM/Tests/VRMTextureEnumerateTests.cs | 4 +- Assets/VRM/Tests/VrmDividedMeshTests.cs | 2 +- Assets/VRM10.Samples/Runtime/ViewerUI.cs | 6 +- .../Editor/ScriptedImporter/RemapEditorVrm.cs | 6 +- .../VrmScriptedImporterEditorGUI.cs | 14 ++-- .../VrmScriptedImporterImpl.cs | 2 +- .../IO/Material/Vrm10MToonMaterialImporter.cs | 6 +- .../Vrm10MaterialDescriptorGenerator.cs | 8 +-- Assets/VRM10/Runtime/IO/Model/ModelReader.cs | 6 +- .../IO/Texture/Vrm10MToonTextureImporter.cs | 64 +++++++++---------- .../Vrm10TextureDescriptorGenerator.cs | 28 ++++---- Assets/VRM10/Runtime/IO/Vrm10Importer.cs | 20 +++--- Assets/VRM10/Runtime/IO/Vrm10Parser.cs | 10 +-- Assets/VRM10/Runtime/IO/Vrm10Storage.cs | 10 +-- Assets/VRM10/Runtime/Scenes/Sample.cs | 2 +- Assets/VRM10/Tests.PlayMode/MaterialTests.cs | 6 +- Assets/VRM10/Tests/ApiSampleTests.cs | 8 +-- Assets/VRM10/Tests/MaterialImportTests.cs | 2 +- Assets/VRM10/Tests/MigrationTests.cs | 6 +- 55 files changed, 278 insertions(+), 278 deletions(-) rename Assets/UniGLTF/Runtime/UniGLTF/IO/{GltfParser.cs => IGltfData.cs} (99%) rename Assets/UniGLTF/Runtime/UniGLTF/IO/{GltfParser.cs.meta => IGltfData.cs.meta} (100%) diff --git a/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/GlbScriptedImporterEditorGUI.cs b/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/GlbScriptedImporterEditorGUI.cs index 283a8aec8..c80f353d7 100644 --- a/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/GlbScriptedImporterEditorGUI.cs +++ b/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/GlbScriptedImporterEditorGUI.cs @@ -17,7 +17,7 @@ namespace UniGLTF public class GlbScriptedImporterEditorGUI : RemapScriptedImporterEditorBase { GlbScriptedImporter m_importer; - GltfParser m_parser; + IGltfData m_data; RemapEditorMaterial m_materialEditor; RemapEditorAnimation m_animationEditor; @@ -27,14 +27,14 @@ namespace UniGLTF base.OnEnable(); m_importer = target as GlbScriptedImporter; - m_parser = new GltfParser(); - m_parser.ParsePath(m_importer.assetPath); + m_data = new IGltfData(); + m_data.ParsePath(m_importer.assetPath); var materialGenerator = new GltfMaterialDescriptorGenerator(); - var materialKeys = m_parser.GLTF.materials.Select((_, i) => materialGenerator.Get(m_parser, i).SubAssetKey); - var textureKeys = new GltfTextureDescriptorGenerator(m_parser).Get().GetEnumerable().Select(x => x.SubAssetKey); + var materialKeys = m_data.GLTF.materials.Select((_, i) => materialGenerator.Get(m_data, i).SubAssetKey); + var textureKeys = new GltfTextureDescriptorGenerator(m_data).Get().GetEnumerable().Select(x => x.SubAssetKey); m_materialEditor = new RemapEditorMaterial(materialKeys.Concat(textureKeys), GetEditorMap, SetEditorMap); - m_animationEditor = new RemapEditorAnimation(AnimationImporterUtil.EnumerateSubAssetKeys(m_parser.GLTF), GetEditorMap, SetEditorMap); + m_animationEditor = new RemapEditorAnimation(AnimationImporterUtil.EnumerateSubAssetKeys(m_data.GLTF), GetEditorMap, SetEditorMap); } enum Tabs @@ -57,13 +57,13 @@ namespace UniGLTF break; case Tabs.Animation: - m_animationEditor.OnGUI(m_importer, m_parser); + m_animationEditor.OnGUI(m_importer, m_data); RevertApplyRemapGUI(m_importer); break; case Tabs.Materials: - m_materialEditor.OnGUI(m_importer, m_parser, - new GltfTextureDescriptorGenerator(m_parser), + m_materialEditor.OnGUI(m_importer, m_data, + new GltfTextureDescriptorGenerator(m_data), assetPath => $"{Path.GetFileNameWithoutExtension(assetPath)}.Textures", assetPath => $"{Path.GetFileNameWithoutExtension(assetPath)}.Materials"); RevertApplyRemapGUI(m_importer); diff --git a/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/GltfScriptedImporterEditorGUI.cs b/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/GltfScriptedImporterEditorGUI.cs index 8a40d3918..868136e6d 100644 --- a/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/GltfScriptedImporterEditorGUI.cs +++ b/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/GltfScriptedImporterEditorGUI.cs @@ -17,7 +17,7 @@ namespace UniGLTF public class GltfScriptedImporterEditorGUI : RemapScriptedImporterEditorBase { GltfScriptedImporter m_importer; - GltfParser m_parser; + IGltfData m_data; RemapEditorMaterial m_materialEditor; RemapEditorAnimation m_animationEditor; @@ -27,14 +27,14 @@ namespace UniGLTF base.OnEnable(); m_importer = target as GltfScriptedImporter; - m_parser = new GltfParser(); - m_parser.ParsePath(m_importer.assetPath); + m_data = new IGltfData(); + m_data.ParsePath(m_importer.assetPath); var materialGenerator = new GltfMaterialDescriptorGenerator(); - var materialKeys = m_parser.GLTF.materials.Select((_, i) => materialGenerator.Get(m_parser, i).SubAssetKey); - var textureKeys = new GltfTextureDescriptorGenerator(m_parser).Get().GetEnumerable().Select(x => x.SubAssetKey); + var materialKeys = m_data.GLTF.materials.Select((_, i) => materialGenerator.Get(m_data, i).SubAssetKey); + var textureKeys = new GltfTextureDescriptorGenerator(m_data).Get().GetEnumerable().Select(x => x.SubAssetKey); m_materialEditor = new RemapEditorMaterial(materialKeys.Concat(textureKeys), GetEditorMap, SetEditorMap); - m_animationEditor = new RemapEditorAnimation(AnimationImporterUtil.EnumerateSubAssetKeys(m_parser.GLTF), GetEditorMap, SetEditorMap); + m_animationEditor = new RemapEditorAnimation(AnimationImporterUtil.EnumerateSubAssetKeys(m_data.GLTF), GetEditorMap, SetEditorMap); } enum Tabs @@ -57,13 +57,13 @@ namespace UniGLTF break; case Tabs.Animation: - m_animationEditor.OnGUI(m_importer, m_parser); + m_animationEditor.OnGUI(m_importer, m_data); RevertApplyRemapGUI(m_importer); break; case Tabs.Materials: - m_materialEditor.OnGUI(m_importer, m_parser, - new GltfTextureDescriptorGenerator(m_parser), + m_materialEditor.OnGUI(m_importer, m_data, + new GltfTextureDescriptorGenerator(m_data), assetPath => $"{Path.GetFileNameWithoutExtension(assetPath)}.Textures", assetPath => $"{Path.GetFileNameWithoutExtension(assetPath)}.Materials"); RevertApplyRemapGUI(m_importer); diff --git a/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/RemapEditorAnimation.cs b/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/RemapEditorAnimation.cs index c5a0b70d3..2f34e29ca 100644 --- a/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/RemapEditorAnimation.cs +++ b/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/RemapEditorAnimation.cs @@ -12,7 +12,7 @@ namespace UniGLTF public RemapEditorAnimation(IEnumerable keys, EditorMapGetterFunc getter, EditorMapSetterFunc setter) : base(keys, getter, setter) { } - public void OnGUI(ScriptedImporter importer, GltfParser parser) + public void OnGUI(ScriptedImporter importer, IGltfData data) { if (!HasKeys) { @@ -24,7 +24,7 @@ namespace UniGLTF { if (GUILayout.Button("Extract Animation ...")) { - Extract(importer, parser); + Extract(importer, data); } EditorGUILayout.HelpBox("Extract subasset to external object and overwrite remap", MessageType.Info); } @@ -40,7 +40,7 @@ namespace UniGLTF DrawRemapGUI(importer.GetExternalObjectMap()); } - public static void Extract(ScriptedImporter importer, GltfParser parser) + public static void Extract(ScriptedImporter importer, IGltfData data) { if (string.IsNullOrEmpty(importer.assetPath)) { diff --git a/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/RemapEditorMaterial.cs b/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/RemapEditorMaterial.cs index 61b465e41..69410dbd9 100644 --- a/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/RemapEditorMaterial.cs +++ b/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/RemapEditorMaterial.cs @@ -25,7 +25,7 @@ namespace UniGLTF public RemapEditorMaterial(IEnumerable keys, EditorMapGetterFunc getter, EditorMapSetterFunc setter) : base(keys, getter, setter) { } - public void OnGUI(ScriptedImporter importer, GltfParser parser, + public void OnGUI(ScriptedImporter importer, IGltfData data, ITextureDescriptorGenerator textureDescriptorGenerator, Func textureDir, Func materialDir) @@ -34,7 +34,7 @@ namespace UniGLTF { if (GUILayout.Button("Extract Materials And Textures ...")) { - ExtractMaterialsAndTextures(importer, parser, textureDescriptorGenerator, textureDir, materialDir); + ExtractMaterialsAndTextures(importer, data, textureDescriptorGenerator, textureDir, materialDir); } EditorGUILayout.HelpBox("Extract subasset to external object and overwrite remap", MessageType.Info); } @@ -63,7 +63,7 @@ namespace UniGLTF } } - void ExtractMaterialsAndTextures(ScriptedImporter self, GltfParser parser, ITextureDescriptorGenerator textureDescriptorGenerator, Func textureDir, Func materialDir) + void ExtractMaterialsAndTextures(ScriptedImporter self, IGltfData data, ITextureDescriptorGenerator textureDescriptorGenerator, Func textureDir, Func materialDir) { if (string.IsNullOrEmpty(self.assetPath)) { @@ -90,10 +90,10 @@ namespace UniGLTF .ToDictionary(kv => kv.Item1, kv => kv.Item2) ; - var assetPath = UnityPath.FromFullpath(parser.TargetPath); + var assetPath = UnityPath.FromFullpath(data.TargetPath); var dirName = textureDir(assetPath.Value); // $"{assetPath.FileNameWithoutExtension}.Textures"; TextureExtractor.ExtractTextures( - parser, + data, assetPath.Parent.Child(dirName), textureDescriptorGenerator, subAssets, diff --git a/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/ScriptedImporterImpl.cs b/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/ScriptedImporterImpl.cs index 335dd3ef0..eacbe4b41 100644 --- a/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/ScriptedImporterImpl.cs +++ b/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/ScriptedImporterImpl.cs @@ -27,7 +27,7 @@ namespace UniGLTF // // Parse(parse glb, parser gltf json) // - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParsePath(scriptedImporter.assetPath); // diff --git a/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/TextureExtractor.cs b/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/TextureExtractor.cs index 94de02f90..a4d52cb9c 100644 --- a/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/TextureExtractor.cs +++ b/Assets/UniGLTF/Editor/UniGLTF/ScriptedImporter/TextureExtractor.cs @@ -13,19 +13,19 @@ namespace UniGLTF { const string TextureDirName = "Textures"; - GltfParser m_parser; - public GltfParser Parser => m_parser; + IGltfData m_data; + public IGltfData Data => m_data; - public glTF GLTF => m_parser.GLTF; - public IStorage Storage => m_parser.Storage; + public glTF GLTF => m_data.GLTF; + public IStorage Storage => m_data.Storage; public readonly Dictionary Textures = new Dictionary(); private readonly IReadOnlyDictionary m_subAssets; UnityPath m_textureDirectory; - public TextureExtractor(GltfParser parser, UnityPath textureDirectory, IReadOnlyDictionary subAssets) + public TextureExtractor(IGltfData data, UnityPath textureDirectory, IReadOnlyDictionary subAssets) { - m_parser = parser; + m_data = data; m_textureDirectory = textureDirectory; m_textureDirectory.EnsureFolder(); m_subAssets = subAssets; @@ -74,12 +74,12 @@ namespace UniGLTF /// /// /// - public static void ExtractTextures(GltfParser parser, UnityPath textureDirectory, + public static void ExtractTextures(IGltfData data, UnityPath textureDirectory, ITextureDescriptorGenerator textureDescriptorGenerator, IReadOnlyDictionary subAssets, Action addRemap, Action> onCompleted = null) { - var extractor = new TextureExtractor(parser, textureDirectory, subAssets); + var extractor = new TextureExtractor(data, textureDirectory, subAssets); foreach (var param in textureDescriptorGenerator.Get().GetEnumerable()) { extractor.Extract(param.SubAssetKey, param); diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/GltfParser.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/IGltfData.cs similarity index 99% rename from Assets/UniGLTF/Runtime/UniGLTF/IO/GltfParser.cs rename to Assets/UniGLTF/Runtime/UniGLTF/IO/IGltfData.cs index 8cd561644..4fdaea550 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/GltfParser.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/IGltfData.cs @@ -8,7 +8,7 @@ using UnityEngine; namespace UniGLTF { - public class GltfParser + public class IGltfData { /// /// JSON source diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/GltfParser.cs.meta b/Assets/UniGLTF/Runtime/UniGLTF/IO/IGltfData.cs.meta similarity index 100% rename from Assets/UniGLTF/Runtime/UniGLTF/IO/GltfParser.cs.meta rename to Assets/UniGLTF/Runtime/UniGLTF/IO/IGltfData.cs.meta diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/ImporterContext.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/ImporterContext.cs index 890e12085..c36123cc9 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/ImporterContext.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/ImporterContext.cs @@ -19,12 +19,12 @@ namespace UniGLTF IReadOnlyDictionary _externalObjectMap; public ImporterContext( - GltfParser parser, + IGltfData data, IReadOnlyDictionary externalObjectMap = null, ITextureDeserializer textureDeserializer = null) { - Parser = parser; - TextureDescriptorGenerator = new GltfTextureDescriptorGenerator(Parser); + Data = data; + TextureDescriptorGenerator = new GltfTextureDescriptorGenerator(Data); MaterialDescriptorGenerator = new GltfMaterialDescriptorGenerator(); _externalObjectMap = externalObjectMap ?? new Dictionary(); @@ -33,17 +33,17 @@ namespace UniGLTF TextureFactory = new TextureFactory(textureDeserializer, _externalObjectMap .Where(x => x.Value is Texture) .ToDictionary(x => x.Key, x => (Texture)x.Value), - Parser.MigrationFlags.IsRoughnessTextureValueSquared); + Data.MigrationFlags.IsRoughnessTextureValueSquared); MaterialFactory = new MaterialFactory(_externalObjectMap .Where(x => x.Value is Material) .ToDictionary(x => x.Key, x => (Material)x.Value)); } #region Source - public GltfParser Parser { get; } - public String Json => Parser.Json; - public glTF GLTF => Parser.GLTF; - public IStorage Storage => Parser.Storage; + public IGltfData Data { get; } + public String Json => Data.Json; + public glTF GLTF => Data.GLTF; + public IStorage Storage => Data.Storage; #endregion // configuration @@ -235,17 +235,17 @@ namespace UniGLTF { awaitCaller = awaitCaller ?? new ImmediateCaller(); - if (Parser.GLTF.materials == null || Parser.GLTF.materials.Count == 0) + if (Data.GLTF.materials == null || Data.GLTF.materials.Count == 0) { // no material. work around. - var param = MaterialDescriptorGenerator.Get(Parser, 0); + var param = MaterialDescriptorGenerator.Get(Data, 0); var material = await MaterialFactory.LoadAsync(param, TextureFactory.GetTextureAsync, awaitCaller); } else { - for (int i = 0; i < Parser.GLTF.materials.Count; ++i) + for (int i = 0; i < Data.GLTF.materials.Count; ++i) { - var param = MaterialDescriptorGenerator.Get(Parser, i); + var param = MaterialDescriptorGenerator.Get(Data, i); var material = await MaterialFactory.LoadAsync(param, TextureFactory.GetTextureAsync, awaitCaller); } } diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/ImporterContextExtensions.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/ImporterContextExtensions.cs index d13203f9d..48b488e35 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/ImporterContextExtensions.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/ImporterContextExtensions.cs @@ -23,7 +23,7 @@ namespace UniGLTF } #if VRM_DEVELOP - Debug.Log($"{self.Parser.TargetPath}: {meassureTime.GetSpeedLog()}"); + Debug.Log($"{self.Data.TargetPath}: {meassureTime.GetSpeedLog()}"); #endif return task.Result; diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfMaterialDescriptorGenerator.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfMaterialDescriptorGenerator.cs index 10205fdad..23697e371 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfMaterialDescriptorGenerator.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfMaterialDescriptorGenerator.cs @@ -10,11 +10,11 @@ namespace UniGLTF /// public sealed class GltfMaterialDescriptorGenerator : IMaterialDescriptorGenerator { - public MaterialDescriptor Get(GltfParser parser, int i) + public MaterialDescriptor Get(IGltfData data, int i) { - if (!GltfUnlitMaterialImporter.TryCreateParam(parser, i, out var param)) + if (!GltfUnlitMaterialImporter.TryCreateParam(data, i, out var param)) { - if (!GltfPbrMaterialImporter.TryCreateParam(parser, i, out param)) + if (!GltfPbrMaterialImporter.TryCreateParam(data, i, out param)) { // fallback #if VRM_DEVELOP diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfPbrMaterialImporter.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfPbrMaterialImporter.cs index 6d28cae78..04f527caf 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfPbrMaterialImporter.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfPbrMaterialImporter.cs @@ -48,15 +48,15 @@ namespace UniGLTF Transparent } - public static bool TryCreateParam(GltfParser parser, int i, out MaterialDescriptor matDesc) + public static bool TryCreateParam(IGltfData data, int i, out MaterialDescriptor matDesc) { - if (i < 0 || i >= parser.GLTF.materials.Count) + if (i < 0 || i >= data.GLTF.materials.Count) { matDesc = default; return false; } - var src = parser.GLTF.materials[i]; + var src = data.GLTF.materials[i]; matDesc = new MaterialDescriptor(GltfMaterialDescriptorGenerator.GetMaterialName(i, src), ShaderName); var standardTexDesc = default(TextureDescriptor); @@ -65,7 +65,7 @@ namespace UniGLTF if (src.pbrMetallicRoughness.metallicRoughnessTexture != null || src.occlusionTexture != null) { SubAssetKey key; - (key, standardTexDesc) = GltfPbrTextureImporter.StandardTexture(parser, src); + (key, standardTexDesc) = GltfPbrTextureImporter.StandardTexture(data, src); } if (src.pbrMetallicRoughness.baseColorFactor != null && src.pbrMetallicRoughness.baseColorFactor.Length == 4) @@ -77,7 +77,7 @@ namespace UniGLTF if (src.pbrMetallicRoughness.baseColorTexture != null && src.pbrMetallicRoughness.baseColorTexture.index != -1) { - var (key, textureParam) = GltfPbrTextureImporter.BaseColorTexture(parser, src); + var (key, textureParam) = GltfPbrTextureImporter.BaseColorTexture(data, src); matDesc.TextureSlots.Add("_MainTex", textureParam); } @@ -99,7 +99,7 @@ namespace UniGLTF if (src.normalTexture != null && src.normalTexture.index != -1) { matDesc.Actions.Add(material => material.EnableKeyword("_NORMALMAP")); - var (key, textureParam) = GltfPbrTextureImporter.NormalTexture(parser, src); + var (key, textureParam) = GltfPbrTextureImporter.NormalTexture(data, src); matDesc.TextureSlots.Add("_BumpMap", textureParam); matDesc.FloatValues.Add("_BumpScale", src.normalTexture.scale); } @@ -128,7 +128,7 @@ namespace UniGLTF if (src.emissiveTexture != null && src.emissiveTexture.index != -1) { - var (key, textureParam) = GltfPbrTextureImporter.EmissiveTexture(parser, src); + var (key, textureParam) = GltfPbrTextureImporter.EmissiveTexture(data, src); matDesc.TextureSlots.Add("_EmissionMap", textureParam); } } diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfUnlitMaterialImporter.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfUnlitMaterialImporter.cs index 18579b39d..7965d6726 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfUnlitMaterialImporter.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfUnlitMaterialImporter.cs @@ -8,15 +8,15 @@ namespace UniGLTF { public const string ShaderName = "UniGLTF/UniUnlit"; - public static bool TryCreateParam(GltfParser parser, int i, out MaterialDescriptor matDesc) + public static bool TryCreateParam(IGltfData data, int i, out MaterialDescriptor matDesc) { - if (i < 0 || i >= parser.GLTF.materials.Count) + if (i < 0 || i >= data.GLTF.materials.Count) { matDesc = default; return false; } - var src = parser.GLTF.materials[i]; + var src = data.GLTF.materials[i]; if (!glTF_KHR_materials_unlit.IsEnable(src)) { matDesc = default; @@ -29,7 +29,7 @@ namespace UniGLTF if (src.pbrMetallicRoughness.baseColorTexture != null) { var (offset, scale) = GltfTextureImporter.GetTextureOffsetAndScale(src.pbrMetallicRoughness.baseColorTexture); - var (key, textureParam) = GltfTextureImporter.CreateSRGB(parser, src.pbrMetallicRoughness.baseColorTexture.index, offset, scale); + var (key, textureParam) = GltfTextureImporter.CreateSRGB(data, src.pbrMetallicRoughness.baseColorTexture.index, offset, scale); matDesc.TextureSlots.Add("_MainTex", textureParam); } @@ -74,7 +74,7 @@ namespace UniGLTF } // VColor - var hasVertexColor = parser.GLTF.MaterialHasVertexColor(i); + var hasVertexColor = data.GLTF.MaterialHasVertexColor(i); if (hasVertexColor) { UniUnlit.Utils.SetVColBlendMode(material, UniUnlit.UniUnlitVertexColorBlendOp.Multiply); diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/IMaterialDescriptorGenerator.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/IMaterialDescriptorGenerator.cs index 921925abe..aa8a76f89 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/IMaterialDescriptorGenerator.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/IMaterialDescriptorGenerator.cs @@ -8,6 +8,6 @@ namespace UniGLTF /// public interface IMaterialDescriptorGenerator { - MaterialDescriptor Get(GltfParser parser, int i); + MaterialDescriptor Get(IGltfData data, int i); } } diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/TextureIO/GltfPbrTextureImporter.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/TextureIO/GltfPbrTextureImporter.cs index 8ae11c0bf..bd7b12cbe 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/TextureIO/GltfPbrTextureImporter.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/TextureIO/GltfPbrTextureImporter.cs @@ -5,9 +5,9 @@ namespace UniGLTF { public sealed class GltfPbrTextureImporter { - public static IEnumerable<(SubAssetKey, TextureDescriptor)> EnumerateAllTextures(GltfParser parser, int i) + public static IEnumerable<(SubAssetKey, TextureDescriptor)> EnumerateAllTextures(IGltfData data, int i) { - var m = parser.GLTF.materials[i]; + var m = data.GLTF.materials[i]; int? metallicRoughnessTexture = default; if (m.pbrMetallicRoughness != null) @@ -15,7 +15,7 @@ namespace UniGLTF // base color if (m.pbrMetallicRoughness?.baseColorTexture != null) { - yield return BaseColorTexture(parser, m); + yield return BaseColorTexture(data, m); } // metallic roughness @@ -28,13 +28,13 @@ namespace UniGLTF // emission if (m.emissiveTexture != null) { - yield return EmissiveTexture(parser, m); + yield return EmissiveTexture(data, m); } // normal if (m.normalTexture != null) { - yield return NormalTexture(parser, m); + yield return NormalTexture(data, m); } // occlusion @@ -47,17 +47,17 @@ namespace UniGLTF // metallicSmooth and occlusion if (metallicRoughnessTexture.HasValue || occlusionTexture.HasValue) { - yield return StandardTexture(parser, m); + yield return StandardTexture(data, m); } } - public static (SubAssetKey, TextureDescriptor) BaseColorTexture(GltfParser parser, glTFMaterial src) + public static (SubAssetKey, TextureDescriptor) BaseColorTexture(IGltfData data, glTFMaterial src) { var (offset, scale) = GltfTextureImporter.GetTextureOffsetAndScale(src.pbrMetallicRoughness.baseColorTexture); - return GltfTextureImporter.CreateSRGB(parser, src.pbrMetallicRoughness.baseColorTexture.index, offset, scale); + return GltfTextureImporter.CreateSRGB(data, src.pbrMetallicRoughness.baseColorTexture.index, offset, scale); } - public static (SubAssetKey, TextureDescriptor) StandardTexture(GltfParser parser, glTFMaterial src) + public static (SubAssetKey, TextureDescriptor) StandardTexture(IGltfData data, glTFMaterial src) { var metallicFactor = 1.0f; var roughnessFactor = 1.0f; @@ -67,7 +67,7 @@ namespace UniGLTF roughnessFactor = src.pbrMetallicRoughness.roughnessFactor; } var (offset, scale) = GltfTextureImporter.GetTextureOffsetAndScale(src.pbrMetallicRoughness.metallicRoughnessTexture); - return GltfTextureImporter.CreateStandard(parser, + return GltfTextureImporter.CreateStandard(data, src.pbrMetallicRoughness?.metallicRoughnessTexture?.index, src.occlusionTexture?.index, offset, scale, @@ -75,16 +75,16 @@ namespace UniGLTF roughnessFactor); } - public static (SubAssetKey, TextureDescriptor) NormalTexture(GltfParser parser, glTFMaterial src) + public static (SubAssetKey, TextureDescriptor) NormalTexture(IGltfData data, glTFMaterial src) { var (offset, scale) = GltfTextureImporter.GetTextureOffsetAndScale(src.normalTexture); - return GltfTextureImporter.CreateNormal(parser, src.normalTexture.index, offset, scale); + return GltfTextureImporter.CreateNormal(data, src.normalTexture.index, offset, scale); } - public static (SubAssetKey, TextureDescriptor) EmissiveTexture(GltfParser parser, glTFMaterial src) + public static (SubAssetKey, TextureDescriptor) EmissiveTexture(IGltfData data, glTFMaterial src) { var (offset, scale) = GltfTextureImporter.GetTextureOffsetAndScale(src.emissiveTexture); - return GltfTextureImporter.CreateSRGB(parser, src.emissiveTexture.index, offset, scale); + return GltfTextureImporter.CreateSRGB(data, src.emissiveTexture.index, offset, scale); } } diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/TextureIO/GltfTextureDescriptorGenerator.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/TextureIO/GltfTextureDescriptorGenerator.cs index e4de690a4..8879a3c72 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/TextureIO/GltfTextureDescriptorGenerator.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/TextureIO/GltfTextureDescriptorGenerator.cs @@ -27,12 +27,12 @@ namespace UniGLTF /// public sealed class GltfTextureDescriptorGenerator : ITextureDescriptorGenerator { - private readonly GltfParser m_parser; + private readonly IGltfData m_data; private TextureDescriptorSet _textureDescriptorSet; - public GltfTextureDescriptorGenerator(GltfParser parser) + public GltfTextureDescriptorGenerator(IGltfData data) { - m_parser = parser; + m_data = data; } public TextureDescriptorSet Get() @@ -40,7 +40,7 @@ namespace UniGLTF if (_textureDescriptorSet == null) { _textureDescriptorSet = new TextureDescriptorSet(); - foreach (var (_, param) in EnumerateAllTextures(m_parser)) + foreach (var (_, param) in EnumerateAllTextures(m_data)) { _textureDescriptorSet.Add(param); } @@ -51,11 +51,11 @@ namespace UniGLTF /// /// glTF 全体で使うテクスチャーを列挙。 /// - private static IEnumerable<(SubAssetKey, TextureDescriptor)> EnumerateAllTextures(GltfParser parser) + private static IEnumerable<(SubAssetKey, TextureDescriptor)> EnumerateAllTextures(IGltfData data) { - for (int i = 0; i < parser.GLTF.materials.Count; ++i) + for (int i = 0; i < data.GLTF.materials.Count; ++i) { - foreach (var kv in GltfPbrTextureImporter.EnumerateAllTextures(parser, i)) + foreach (var kv in GltfPbrTextureImporter.EnumerateAllTextures(data, i)) { yield return kv; } diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/TextureIO/GltfTextureImporter.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/TextureIO/GltfTextureImporter.cs index 34df1d9d7..5edad7284 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/TextureIO/GltfTextureImporter.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/TextureIO/GltfTextureImporter.cs @@ -29,40 +29,40 @@ namespace UniGLTF } } - public static (SubAssetKey, TextureDescriptor) CreateSRGB(GltfParser parser, int textureIndex, Vector2 offset, Vector2 scale) + public static (SubAssetKey, TextureDescriptor) CreateSRGB(IGltfData data, int textureIndex, Vector2 offset, Vector2 scale) { - var gltfTexture = parser.GLTF.textures[textureIndex]; - var gltfImage = parser.GLTF.images[gltfTexture.source]; + var gltfTexture = data.GLTF.textures[textureIndex]; + var gltfImage = data.GLTF.images[gltfTexture.source]; var name = TextureImportName.GetUnityObjectName(TextureImportTypes.sRGB, gltfTexture.name, gltfImage.uri); - var sampler = TextureSamplerUtil.CreateSampler(parser.GLTF, textureIndex); - GetTextureBytesAsync getTextureBytesAsync = () => Task.FromResult(ToArray(parser.GLTF.GetImageBytesFromTextureIndex(parser.Storage, textureIndex))); + var sampler = TextureSamplerUtil.CreateSampler(data.GLTF, textureIndex); + GetTextureBytesAsync getTextureBytesAsync = () => Task.FromResult(ToArray(data.GLTF.GetImageBytesFromTextureIndex(data.Storage, textureIndex))); var param = new TextureDescriptor(name, gltfImage.GetExt(), gltfImage.uri, offset, scale, sampler, TextureImportTypes.sRGB, default, default, getTextureBytesAsync, default, default, default, default, default); return (param.SubAssetKey, param); } - public static (SubAssetKey, TextureDescriptor) CreateLinear(GltfParser parser, int textureIndex, Vector2 offset, Vector2 scale) + public static (SubAssetKey, TextureDescriptor) CreateLinear(IGltfData data, int textureIndex, Vector2 offset, Vector2 scale) { - var gltfTexture = parser.GLTF.textures[textureIndex]; - var gltfImage = parser.GLTF.images[gltfTexture.source]; + var gltfTexture = data.GLTF.textures[textureIndex]; + var gltfImage = data.GLTF.images[gltfTexture.source]; var name = TextureImportName.GetUnityObjectName(TextureImportTypes.Linear, gltfTexture.name, gltfImage.uri); - var sampler = TextureSamplerUtil.CreateSampler(parser.GLTF, textureIndex); - GetTextureBytesAsync getTextureBytesAsync = () => Task.FromResult(ToArray(parser.GLTF.GetImageBytesFromTextureIndex(parser.Storage, textureIndex))); + var sampler = TextureSamplerUtil.CreateSampler(data.GLTF, textureIndex); + GetTextureBytesAsync getTextureBytesAsync = () => Task.FromResult(ToArray(data.GLTF.GetImageBytesFromTextureIndex(data.Storage, textureIndex))); var param = new TextureDescriptor(name, gltfImage.GetExt(), gltfImage.uri, offset, scale, sampler, TextureImportTypes.Linear, default, default, getTextureBytesAsync, default, default, default, default, default); return (param.SubAssetKey, param); } - public static (SubAssetKey, TextureDescriptor) CreateNormal(GltfParser parser, int textureIndex, Vector2 offset, Vector2 scale) + public static (SubAssetKey, TextureDescriptor) CreateNormal(IGltfData data, int textureIndex, Vector2 offset, Vector2 scale) { - var gltfTexture = parser.GLTF.textures[textureIndex]; - var gltfImage = parser.GLTF.images[gltfTexture.source]; + var gltfTexture = data.GLTF.textures[textureIndex]; + var gltfImage = data.GLTF.images[gltfTexture.source]; var name = TextureImportName.GetUnityObjectName(TextureImportTypes.NormalMap, gltfTexture.name, gltfImage.uri); - var sampler = TextureSamplerUtil.CreateSampler(parser.GLTF, textureIndex); - GetTextureBytesAsync getTextureBytesAsync = () => Task.FromResult(ToArray(parser.GLTF.GetImageBytesFromTextureIndex(parser.Storage, textureIndex))); + var sampler = TextureSamplerUtil.CreateSampler(data.GLTF, textureIndex); + GetTextureBytesAsync getTextureBytesAsync = () => Task.FromResult(ToArray(data.GLTF.GetImageBytesFromTextureIndex(data.Storage, textureIndex))); var param = new TextureDescriptor(name, gltfImage.GetExt(), gltfImage.uri, offset, scale, sampler, TextureImportTypes.NormalMap, default, default, getTextureBytesAsync, default, default, default, default, default); return (param.SubAssetKey, param); } - public static (SubAssetKey, TextureDescriptor) CreateStandard(GltfParser parser, int? metallicRoughnessTextureIndex, int? occlusionTextureIndex, Vector2 offset, Vector2 scale, float metallicFactor, float roughnessFactor) + public static (SubAssetKey, TextureDescriptor) CreateStandard(IGltfData data, int? metallicRoughnessTextureIndex, int? occlusionTextureIndex, Vector2 offset, Vector2 scale, float metallicFactor, float roughnessFactor) { string name = default; @@ -70,22 +70,22 @@ namespace UniGLTF SamplerParam sampler = default; if (metallicRoughnessTextureIndex.HasValue) { - var gltfTexture = parser.GLTF.textures[metallicRoughnessTextureIndex.Value]; - name = TextureImportName.GetUnityObjectName(TextureImportTypes.StandardMap, gltfTexture.name, parser.GLTF.images[gltfTexture.source].uri); - sampler = TextureSamplerUtil.CreateSampler(parser.GLTF, metallicRoughnessTextureIndex.Value); - getMetallicRoughnessAsync = () => Task.FromResult(ToArray(parser.GLTF.GetImageBytesFromTextureIndex(parser.Storage, metallicRoughnessTextureIndex.Value))); + var gltfTexture = data.GLTF.textures[metallicRoughnessTextureIndex.Value]; + name = TextureImportName.GetUnityObjectName(TextureImportTypes.StandardMap, gltfTexture.name, data.GLTF.images[gltfTexture.source].uri); + sampler = TextureSamplerUtil.CreateSampler(data.GLTF, metallicRoughnessTextureIndex.Value); + getMetallicRoughnessAsync = () => Task.FromResult(ToArray(data.GLTF.GetImageBytesFromTextureIndex(data.Storage, metallicRoughnessTextureIndex.Value))); } GetTextureBytesAsync getOcclusionAsync = default; if (occlusionTextureIndex.HasValue) { - var gltfTexture = parser.GLTF.textures[occlusionTextureIndex.Value]; + var gltfTexture = data.GLTF.textures[occlusionTextureIndex.Value]; if (string.IsNullOrEmpty(name)) { - name = TextureImportName.GetUnityObjectName(TextureImportTypes.StandardMap, gltfTexture.name, parser.GLTF.images[gltfTexture.source].uri); + name = TextureImportName.GetUnityObjectName(TextureImportTypes.StandardMap, gltfTexture.name, data.GLTF.images[gltfTexture.source].uri); } - sampler = TextureSamplerUtil.CreateSampler(parser.GLTF, occlusionTextureIndex.Value); - getOcclusionAsync = () => Task.FromResult(ToArray(parser.GLTF.GetImageBytesFromTextureIndex(parser.Storage, occlusionTextureIndex.Value))); + sampler = TextureSamplerUtil.CreateSampler(data.GLTF, occlusionTextureIndex.Value); + getOcclusionAsync = () => Task.FromResult(ToArray(data.GLTF.GetImageBytesFromTextureIndex(data.Storage, occlusionTextureIndex.Value))); } var texDesc = new TextureDescriptor(name, ".png", null, offset, scale, sampler, TextureImportTypes.StandardMap, metallicFactor, roughnessFactor, getMetallicRoughnessAsync, getOcclusionAsync, default, default, default, default); diff --git a/Assets/UniGLTF/Tests/UniGLTF/GltfLoadTests.cs b/Assets/UniGLTF/Tests/UniGLTF/GltfLoadTests.cs index dad99978e..897e95847 100644 --- a/Assets/UniGLTF/Tests/UniGLTF/GltfLoadTests.cs +++ b/Assets/UniGLTF/Tests/UniGLTF/GltfLoadTests.cs @@ -78,7 +78,7 @@ namespace UniGLTF static void RuntimeLoadExport(FileInfo gltf, int subStrStart) { - var parser = new GltfParser(); + var parser = new IGltfData(); try { parser.ParsePath(gltf.FullName); @@ -124,7 +124,7 @@ namespace UniGLTF /// static void EditorLoad(FileInfo gltf, int subStrStart) { - var parser = new GltfParser(); + var parser = new IGltfData(); try { parser.ParsePath(gltf.FullName); @@ -205,7 +205,7 @@ namespace UniGLTF { var path = Path.Combine(root.FullName, "DamagedHelmet/glTF-Binary/DamagedHelmet.glb"); - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParsePath(path); var matDesc = new GltfMaterialDescriptorGenerator().Get(parser, 0); diff --git a/Assets/UniGLTF/Tests/UniGLTF/TextureEnumerateTests.cs b/Assets/UniGLTF/Tests/UniGLTF/TextureEnumerateTests.cs index b9a2567d1..2df324c0f 100644 --- a/Assets/UniGLTF/Tests/UniGLTF/TextureEnumerateTests.cs +++ b/Assets/UniGLTF/Tests/UniGLTF/TextureEnumerateTests.cs @@ -203,7 +203,7 @@ namespace UniGLTF public void TextureEnumerationTest() { { - var parser = new GltfParser + var parser = new IGltfData { GLTF = TwoTexture(), }; @@ -212,7 +212,7 @@ namespace UniGLTF } { - var parser = new GltfParser + var parser = new IGltfData { GLTF = TwoTextureOneUri(), }; @@ -221,7 +221,7 @@ namespace UniGLTF } { - var parser = new GltfParser + var parser = new IGltfData { GLTF = TwoTextureOneImage(), }; @@ -230,7 +230,7 @@ namespace UniGLTF } { - var parser = new GltfParser + var parser = new IGltfData { GLTF = CombineMetallicSmoothOcclusion(), }; diff --git a/Assets/UniGLTF/Tests/UniGLTF/TextureTests.cs b/Assets/UniGLTF/Tests/UniGLTF/TextureTests.cs index cfbe6bf7e..2ab4e6a7d 100644 --- a/Assets/UniGLTF/Tests/UniGLTF/TextureTests.cs +++ b/Assets/UniGLTF/Tests/UniGLTF/TextureTests.cs @@ -89,7 +89,7 @@ namespace UniGLTF } // parse - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParsePath(path.FullName); // load diff --git a/Assets/UniGLTF/Tests/UniGLTF/UniGLTFTests.cs b/Assets/UniGLTF/Tests/UniGLTF/UniGLTFTests.cs index 8f718abc1..e506f762c 100644 --- a/Assets/UniGLTF/Tests/UniGLTF/UniGLTFTests.cs +++ b/Assets/UniGLTF/Tests/UniGLTF/UniGLTFTests.cs @@ -115,7 +115,7 @@ namespace UniGLTF } // parse - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParseJson(json, new SimpleStorage(new ArraySegment())); // import @@ -553,7 +553,7 @@ namespace UniGLTF // import { - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParseJson(json, new SimpleStorage(new ArraySegment(new byte[1024 * 1024]))); using (var context = new ImporterContext(parser)) @@ -573,7 +573,7 @@ namespace UniGLTF // import new version { - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParseJson(json, new SimpleStorage(new ArraySegment(new byte[1024 * 1024]))); //Debug.LogFormat("{0}", context.Json); using (var context = new ImporterContext(parser)) @@ -626,7 +626,7 @@ namespace UniGLTF // import { - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParseJson(json, new SimpleStorage(new ArraySegment(new byte[1024 * 1024]))); using (var context = new ImporterContext(parser)) @@ -691,7 +691,7 @@ namespace UniGLTF // import { - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParseJson(json, new SimpleStorage(new ArraySegment(new byte[1024 * 1024]))); using (var context = new ImporterContext(parser)) diff --git a/Assets/VRM.Samples/Editor/Tests/VRMImportExportTests.cs b/Assets/VRM.Samples/Editor/Tests/VRMImportExportTests.cs index 2f6aae909..108c312df 100644 --- a/Assets/VRM.Samples/Editor/Tests/VRMImportExportTests.cs +++ b/Assets/VRM.Samples/Editor/Tests/VRMImportExportTests.cs @@ -43,7 +43,7 @@ namespace VRM.Samples public void ImportExportTest() { var path = AliciaPath; - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParseGlb(File.ReadAllBytes(path)); using (var context = new VRMImporterContext(parser)) @@ -192,7 +192,7 @@ namespace VRM.Samples public void MeshCopyTest() { var path = AliciaPath; - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParseGlb(File.ReadAllBytes(path)); using (var context = new VRMImporterContext(parser)) @@ -214,7 +214,7 @@ namespace VRM.Samples { // Aliciaを古いデシリアライザでロードする var path = AliciaPath; - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParseGlb(File.ReadAllBytes(path)); using (var context = new VRMImporterContext(parser)) diff --git a/Assets/VRM.Samples/Scripts/VRMRuntimeExporter.cs b/Assets/VRM.Samples/Scripts/VRMRuntimeExporter.cs index 7159d90b7..3c4b20018 100644 --- a/Assets/VRM.Samples/Scripts/VRMRuntimeExporter.cs +++ b/Assets/VRM.Samples/Scripts/VRMRuntimeExporter.cs @@ -48,7 +48,7 @@ namespace VRM.Samples // なんらかの方法でByte列を得た // GLB形式でJSONを取得しParseします - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParseGlb(bytes); using (var context = new VRMImporterContext(parser)) diff --git a/Assets/VRM.Samples/Scripts/VRMRuntimeLoader.cs b/Assets/VRM.Samples/Scripts/VRMRuntimeLoader.cs index bb5ad6e96..e27f02fff 100644 --- a/Assets/VRM.Samples/Scripts/VRMRuntimeLoader.cs +++ b/Assets/VRM.Samples/Scripts/VRMRuntimeLoader.cs @@ -87,7 +87,7 @@ namespace VRM.Samples // なんらかの方法でByte列を得た // GLB形式でJSONを取得しParseします - var parser = new GltfParser(); + var parser = new IGltfData(); parser.Parse(path, bytes); using (var context = new VRMImporterContext(parser)) @@ -132,7 +132,7 @@ namespace VRM.Samples // なんらかの方法でByte列を得た // GLB形式でJSONを取得しParseします - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParseGlb(bytes); var context = new VRMImporterContext(parser); diff --git a/Assets/VRM.Samples/Scripts/ViewerUI.cs b/Assets/VRM.Samples/Scripts/ViewerUI.cs index 0e2d0f4f6..52c14aceb 100644 --- a/Assets/VRM.Samples/Scripts/ViewerUI.cs +++ b/Assets/VRM.Samples/Scripts/ViewerUI.cs @@ -312,7 +312,7 @@ namespace VRM.Samples { var file = File.ReadAllBytes(path); - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParseGlb(file); using (var context = new VRMImporterContext(parser)) @@ -329,7 +329,7 @@ namespace VRM.Samples case ".glb": { var file = File.ReadAllBytes(path); - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParseGlb(file); var context = new UniGLTF.ImporterContext(parser); @@ -343,7 +343,7 @@ namespace VRM.Samples case ".gltf": case ".zip": { - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParsePath(path); var context = new UniGLTF.ImporterContext(parser); diff --git a/Assets/VRM/Editor/Format/VRMEditorImporterContext.cs b/Assets/VRM/Editor/Format/VRMEditorImporterContext.cs index 7fa9d4e04..f29d76f10 100644 --- a/Assets/VRM/Editor/Format/VRMEditorImporterContext.cs +++ b/Assets/VRM/Editor/Format/VRMEditorImporterContext.cs @@ -105,7 +105,7 @@ namespace VRM var subAssets = m_context.TextureFactory.ConvertedTextures; var vrmTextures = new VRMMaterialDescriptorGenerator(m_context.VRM); var dirName = $"{m_prefabPath.FileNameWithoutExtension}.Textures"; - TextureExtractor.ExtractTextures(m_context.Parser, m_prefabPath.Parent.Child(dirName), m_context.TextureDescriptorGenerator, subAssets, (_x, _y) => { }, onTextureReloaded); + TextureExtractor.ExtractTextures(m_context.Data, m_prefabPath.Parent.Child(dirName), m_context.TextureDescriptorGenerator, subAssets, (_x, _y) => { }, onTextureReloaded); } void SaveAsAsset(SubAssetKey _, UnityEngine.Object o) diff --git a/Assets/VRM/Editor/Format/VRMImporterMenu.cs b/Assets/VRM/Editor/Format/VRMImporterMenu.cs index 83e41a089..7b820856e 100644 --- a/Assets/VRM/Editor/Format/VRMImporterMenu.cs +++ b/Assets/VRM/Editor/Format/VRMImporterMenu.cs @@ -45,7 +45,7 @@ namespace VRM static void ImportRuntime(string path) { // load into scene - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParsePath(path); using (var context = new VRMImporterContext(parser)) @@ -67,7 +67,7 @@ namespace VRM // import as asset // var prefabPath = UnityPath.FromUnityPath(prefabPath); - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParseGlb(File.ReadAllBytes(path)); Action> onCompleted = texturePaths => diff --git a/Assets/VRM/Editor/Format/vrmAssetPostprocessor.cs b/Assets/VRM/Editor/Format/vrmAssetPostprocessor.cs index 10c83d539..287d01a14 100644 --- a/Assets/VRM/Editor/Format/vrmAssetPostprocessor.cs +++ b/Assets/VRM/Editor/Format/vrmAssetPostprocessor.cs @@ -45,7 +45,7 @@ namespace VRM throw new Exception(); } - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParseGlb(File.ReadAllBytes(vrmPath.FullPath)); var prefabPath = vrmPath.Parent.Child(vrmPath.FileNameWithoutExtension + ".prefab"); diff --git a/Assets/VRM/Runtime/IO/VRMImporterContext.cs b/Assets/VRM/Runtime/IO/VRMImporterContext.cs index d8b0fba46..f6d9bae5d 100644 --- a/Assets/VRM/Runtime/IO/VRMImporterContext.cs +++ b/Assets/VRM/Runtime/IO/VRMImporterContext.cs @@ -21,16 +21,16 @@ namespace VRM public VRM.glTF_VRM_extensions VRM { get; private set; } public VRMImporterContext( - GltfParser parser, + IGltfData data, IReadOnlyDictionary externalObjectMap = null, ITextureDeserializer textureDeserializer = null) - : base(parser, externalObjectMap, textureDeserializer) + : base(data, externalObjectMap, textureDeserializer) { // parse VRM part if (glTF_VRM_extensions.TryDeserialize(GLTF.extensions, out glTF_VRM_extensions vrm)) { VRM = vrm; - TextureDescriptorGenerator = new VrmTextureDescriptorGenerator(Parser, VRM); + TextureDescriptorGenerator = new VrmTextureDescriptorGenerator(Data, VRM); MaterialDescriptorGenerator = new VRMMaterialDescriptorGenerator(VRM); } else @@ -299,7 +299,7 @@ namespace VRM meta.Title = gltfMeta.title; if (gltfMeta.texture >= 0) { - var (key, param) = GltfTextureImporter.CreateSRGB(Parser, gltfMeta.texture, Vector2.zero, Vector2.one); + var (key, param) = GltfTextureImporter.CreateSRGB(Data, gltfMeta.texture, Vector2.zero, Vector2.one); meta.Thumbnail = await TextureFactory.GetTextureAsync(param, awaitCaller) as Texture2D; } meta.AllowedUser = gltfMeta.allowedUser; diff --git a/Assets/VRM/Runtime/IO/VRMMToonMaterialImporter.cs b/Assets/VRM/Runtime/IO/VRMMToonMaterialImporter.cs index 82e9abde0..6029c573f 100644 --- a/Assets/VRM/Runtime/IO/VRMMToonMaterialImporter.cs +++ b/Assets/VRM/Runtime/IO/VRMMToonMaterialImporter.cs @@ -6,7 +6,7 @@ namespace VRM { public static class VRMMToonMaterialImporter { - public static bool TryCreateParam(GltfParser parser, glTF_VRM_extensions vrm, int materialIdx, out MaterialDescriptor matDesc) + public static bool TryCreateParam(IGltfData data, glTF_VRM_extensions vrm, int materialIdx, out MaterialDescriptor matDesc) { var vrmMaterial = vrm.materialProperties[materialIdx]; if (vrmMaterial.shader == VRM.glTF_VRM_Material.VRM_USE_GLTFSHADER) @@ -20,7 +20,7 @@ namespace VRM // restore VRM material // // use material.name, because material name may renamed in GltfParser. - var name = parser.GLTF.materials[materialIdx].name; + var name = data.GLTF.materials[materialIdx].name; matDesc = new MaterialDescriptor(name, vrmMaterial.shader); matDesc.RenderQueue = vrmMaterial.renderQueue; @@ -42,7 +42,7 @@ namespace VRM foreach (var kv in vrmMaterial.textureProperties) { - if (VRMMToonTextureImporter.TryGetTextureFromMaterialProperty(parser, vrm, materialIdx, kv.Key, out var texture)) + if (VRMMToonTextureImporter.TryGetTextureFromMaterialProperty(data, vrm, materialIdx, kv.Key, out var texture)) { matDesc.TextureSlots.Add(kv.Key, texture.Item2); } diff --git a/Assets/VRM/Runtime/IO/VRMMToonTextureImporter.cs b/Assets/VRM/Runtime/IO/VRMMToonTextureImporter.cs index 22aa29c64..7252a38ea 100644 --- a/Assets/VRM/Runtime/IO/VRMMToonTextureImporter.cs +++ b/Assets/VRM/Runtime/IO/VRMMToonTextureImporter.cs @@ -7,19 +7,19 @@ namespace VRM { public static class VRMMToonTextureImporter { - public static IEnumerable<(SubAssetKey, TextureDescriptor)> EnumerateAllTextures(GltfParser parser, glTF_VRM_extensions vrm, int materialIdx) + public static IEnumerable<(SubAssetKey, TextureDescriptor)> EnumerateAllTextures(IGltfData data, glTF_VRM_extensions vrm, int materialIdx) { var vrmMaterial = vrm.materialProperties[materialIdx]; foreach (var kv in vrmMaterial.textureProperties) { - if (TryGetTextureFromMaterialProperty(parser, vrm, materialIdx, kv.Key, out var texture)) + if (TryGetTextureFromMaterialProperty(data, vrm, materialIdx, kv.Key, out var texture)) { yield return texture; } } } - public static bool TryGetTextureFromMaterialProperty(GltfParser parser, glTF_VRM_extensions vrm, int materialIdx, string textureKey, out (SubAssetKey, TextureDescriptor) texture) + public static bool TryGetTextureFromMaterialProperty(IGltfData data, glTF_VRM_extensions vrm, int materialIdx, string textureKey, out (SubAssetKey, TextureDescriptor) texture) { var vrmMaterial = vrm.materialProperties[materialIdx]; // 任意の shader の import を許容する @@ -35,10 +35,10 @@ namespace VRM switch (textureKey) { case MToon.Utils.PropBumpMap: - texture = GltfTextureImporter.CreateNormal(parser, textureIdx, offset, scale); + texture = GltfTextureImporter.CreateNormal(data, textureIdx, offset, scale); break; default: - texture = GltfTextureImporter.CreateSRGB(parser, textureIdx, offset, scale); + texture = GltfTextureImporter.CreateSRGB(data, textureIdx, offset, scale); break; } return true; diff --git a/Assets/VRM/Runtime/IO/VRMMaterialDescriptorGenerator.cs b/Assets/VRM/Runtime/IO/VRMMaterialDescriptorGenerator.cs index c14d88cd9..4192dc201 100644 --- a/Assets/VRM/Runtime/IO/VRMMaterialDescriptorGenerator.cs +++ b/Assets/VRM/Runtime/IO/VRMMaterialDescriptorGenerator.cs @@ -14,16 +14,16 @@ namespace VRM m_vrm = vrm; } - public MaterialDescriptor Get(GltfParser parser, int i) + public MaterialDescriptor Get(IGltfData data, int i) { // mtoon - if (!VRMMToonMaterialImporter.TryCreateParam(parser, m_vrm, i, out MaterialDescriptor matDesc)) + if (!VRMMToonMaterialImporter.TryCreateParam(data, m_vrm, i, out MaterialDescriptor matDesc)) { // unlit - if (!GltfUnlitMaterialImporter.TryCreateParam(parser, i, out matDesc)) + if (!GltfUnlitMaterialImporter.TryCreateParam(data, i, out matDesc)) { // pbr - if (!GltfPbrMaterialImporter.TryCreateParam(parser, i, out matDesc)) + if (!GltfPbrMaterialImporter.TryCreateParam(data, i, out matDesc)) { // fallback #if VRM_DEVELOP diff --git a/Assets/VRM/Runtime/IO/VrmTextureDescriptorGenerator.cs b/Assets/VRM/Runtime/IO/VrmTextureDescriptorGenerator.cs index 4d1266dff..6d0fe1080 100644 --- a/Assets/VRM/Runtime/IO/VrmTextureDescriptorGenerator.cs +++ b/Assets/VRM/Runtime/IO/VrmTextureDescriptorGenerator.cs @@ -8,13 +8,13 @@ namespace VRM { public sealed class VrmTextureDescriptorGenerator : ITextureDescriptorGenerator { - private readonly GltfParser m_parser; + private readonly IGltfData m_data; private readonly glTF_VRM_extensions m_vrm; private TextureDescriptorSet _textureDescriptorSet; - public VrmTextureDescriptorGenerator(GltfParser parser, glTF_VRM_extensions vrm) + public VrmTextureDescriptorGenerator(IGltfData data, glTF_VRM_extensions vrm) { - m_parser = parser; + m_data = data; m_vrm = vrm; } @@ -23,7 +23,7 @@ namespace VRM if (_textureDescriptorSet == null) { _textureDescriptorSet = new TextureDescriptorSet(); - foreach (var (_, param) in EnumerateAllTextures(m_parser, m_vrm)) + foreach (var (_, param) in EnumerateAllTextures(m_data, m_vrm)) { _textureDescriptorSet.Add(param); } @@ -32,18 +32,18 @@ namespace VRM } - private static IEnumerable<(SubAssetKey, TextureDescriptor)> EnumerateAllTextures(GltfParser parser, glTF_VRM_extensions vrm) + private static IEnumerable<(SubAssetKey, TextureDescriptor)> EnumerateAllTextures(IGltfData data, glTF_VRM_extensions vrm) { // Materials - for (var materialIdx = 0; materialIdx < parser.GLTF.materials.Count; ++materialIdx) + for (var materialIdx = 0; materialIdx < data.GLTF.materials.Count; ++materialIdx) { - var material = parser.GLTF.materials[materialIdx]; + var material = data.GLTF.materials[materialIdx]; var vrmMaterial = vrm.materialProperties[materialIdx]; if (vrmMaterial.shader == VRM.glTF_VRM_Material.VRM_USE_GLTFSHADER) { // Unlit or PBR - foreach (var kv in GltfPbrTextureImporter.EnumerateAllTextures(parser, materialIdx)) + foreach (var kv in GltfPbrTextureImporter.EnumerateAllTextures(data, materialIdx)) { yield return kv; } @@ -51,7 +51,7 @@ namespace VRM else { // MToon など任意の shader - foreach (var kv in VRMMToonTextureImporter.EnumerateAllTextures(parser, vrm, materialIdx)) + foreach (var kv in VRMMToonTextureImporter.EnumerateAllTextures(data, vrm, materialIdx)) { yield return kv; } @@ -59,17 +59,17 @@ namespace VRM } // Thumbnail - if (TryGetThumbnailTexture(parser, vrm, out var thumbnail)) + if (TryGetThumbnailTexture(data, vrm, out var thumbnail)) { yield return thumbnail; } } - private static bool TryGetThumbnailTexture(GltfParser parser, glTF_VRM_extensions vrm, out (SubAssetKey, TextureDescriptor) texture) + private static bool TryGetThumbnailTexture(IGltfData data, glTF_VRM_extensions vrm, out (SubAssetKey, TextureDescriptor) texture) { if (vrm.meta.texture > -1) { - texture = GltfTextureImporter.CreateSRGB(parser, vrm.meta.texture, Vector2.zero, Vector2.one); + texture = GltfTextureImporter.CreateSRGB(data, vrm.meta.texture, Vector2.zero, Vector2.one); return true; } diff --git a/Assets/VRM/Tests/MToonTest.cs b/Assets/VRM/Tests/MToonTest.cs index 995cb6221..925bd8e1c 100644 --- a/Assets/VRM/Tests/MToonTest.cs +++ b/Assets/VRM/Tests/MToonTest.cs @@ -46,7 +46,7 @@ namespace VRM return; } - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParsePath(path); var importer = new VRMImporterContext(parser, null); @@ -67,7 +67,7 @@ namespace VRM [Test] public void MaterialImporterTest() { - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParsePath(AliciaPath); var vrmImporter = new VRMImporterContext(parser, null); var materialParam = new VRMMaterialDescriptorGenerator(vrmImporter.VRM).Get(parser, 0); diff --git a/Assets/VRM/Tests/VRMLoadTests.cs b/Assets/VRM/Tests/VRMLoadTests.cs index db4e7ee65..9db6f0ce6 100644 --- a/Assets/VRM/Tests/VRMLoadTests.cs +++ b/Assets/VRM/Tests/VRMLoadTests.cs @@ -51,7 +51,7 @@ namespace VRM static GameObject Load(FileInfo gltf, DirectoryInfo root, byte[] bytes = null) { - var parser = new GltfParser(); + var parser = new IGltfData(); try { if (bytes != null) diff --git a/Assets/VRM/Tests/VRMLookAtTests.cs b/Assets/VRM/Tests/VRMLookAtTests.cs index 8e071635c..212092577 100644 --- a/Assets/VRM/Tests/VRMLookAtTests.cs +++ b/Assets/VRM/Tests/VRMLookAtTests.cs @@ -20,7 +20,7 @@ namespace VRM [Test] public void VRMLookAtTest() { - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParsePath(AliciaPath); byte[] bytes = default; using (var loader = new VRMImporterContext(parser)) @@ -38,7 +38,7 @@ namespace VRM }); } - var parser2 = new GltfParser(); + var parser2 = new IGltfData(); parser2.Parse(AliciaPath, bytes); using (var loader2 = new VRMImporterContext(parser2)) { @@ -49,7 +49,7 @@ namespace VRM [Test] public void VRMLookAtCurveMapWithFreezeTest() { - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParsePath(AliciaPath); byte[] bytes = default; CurveMapper horizontalInner = default; @@ -68,7 +68,7 @@ namespace VRM }); } - var parser2 = new GltfParser(); + var parser2 = new IGltfData(); parser2.Parse(AliciaPath, bytes); using (var loader = new VRMImporterContext(parser2)) using (var loaded = loader.Load()) @@ -84,7 +84,7 @@ namespace VRM [Test] public void VRMLookAtCurveMapTest() { - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParsePath(AliciaPath); byte[] bytes = default; CurveMapper horizontalInner = default; @@ -103,7 +103,7 @@ namespace VRM }); } - var parser2 = new GltfParser(); + var parser2 = new IGltfData(); parser2.Parse(AliciaPath, bytes); using (var loader = new VRMImporterContext(parser2)) using (var loaded = loader.Load()) diff --git a/Assets/VRM/Tests/VRMTextureEnumerateTests.cs b/Assets/VRM/Tests/VRMTextureEnumerateTests.cs index f7d602a61..d86e34987 100644 --- a/Assets/VRM/Tests/VRMTextureEnumerateTests.cs +++ b/Assets/VRM/Tests/VRMTextureEnumerateTests.cs @@ -16,7 +16,7 @@ namespace VRM public void TextureEnumerationTest() { { - var parser = new GltfParser + var parser = new IGltfData { GLTF = new glTF { @@ -80,7 +80,7 @@ namespace VRM [Test] public void TextureEnumerationInUnknownShader() { - var parser = new GltfParser + var parser = new IGltfData { GLTF = new glTF { diff --git a/Assets/VRM/Tests/VrmDividedMeshTests.cs b/Assets/VRM/Tests/VrmDividedMeshTests.cs index ccb2babf2..ced785ea8 100644 --- a/Assets/VRM/Tests/VrmDividedMeshTests.cs +++ b/Assets/VRM/Tests/VrmDividedMeshTests.cs @@ -21,7 +21,7 @@ namespace VRM static GameObject Load(byte[] bytes, string path) { - var parser = new GltfParser(); + var parser = new IGltfData(); parser.Parse(path, bytes); using (var loader = new VRMImporterContext(parser)) diff --git a/Assets/VRM10.Samples/Runtime/ViewerUI.cs b/Assets/VRM10.Samples/Runtime/ViewerUI.cs index 8d908d813..c55858cd3 100644 --- a/Assets/VRM10.Samples/Runtime/ViewerUI.cs +++ b/Assets/VRM10.Samples/Runtime/ViewerUI.cs @@ -313,7 +313,7 @@ namespace UniVRM10.Samples Debug.LogError(result.Message); return; } - using (var loader = new Vrm10Importer(result.Parser, result.Vrm)) + using (var loader = new Vrm10Importer(result.Data, result.Vrm)) { var loaded = loader.Load(); loaded.ShowMeshes(); @@ -326,7 +326,7 @@ namespace UniVRM10.Samples case ".glb": { var file = File.ReadAllBytes(path); - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParseGlb(file); using (var loader = new UniGLTF.ImporterContext(parser)) @@ -342,7 +342,7 @@ namespace UniVRM10.Samples case ".gltf": case ".zip": { - var parser = new GltfParser(); + var parser = new IGltfData(); parser.ParsePath(path); using (var loader = new UniGLTF.ImporterContext(parser)) diff --git a/Assets/VRM10/Editor/ScriptedImporter/RemapEditorVrm.cs b/Assets/VRM10/Editor/ScriptedImporter/RemapEditorVrm.cs index 345d2c51a..fad499a9f 100644 --- a/Assets/VRM10/Editor/ScriptedImporter/RemapEditorVrm.cs +++ b/Assets/VRM10/Editor/ScriptedImporter/RemapEditorVrm.cs @@ -18,13 +18,13 @@ namespace UniVRM10 public RemapEditorVrm(IEnumerable keys, EditorMapGetterFunc getter, EditorMapSetterFunc setter) : base(keys, getter, setter) { } - public void OnGUI(ScriptedImporter importer, GltfParser parser, UniGLTF.Extensions.VRMC_vrm.VRMC_vrm vrm) + public void OnGUI(ScriptedImporter importer, IGltfData data, UniGLTF.Extensions.VRMC_vrm.VRMC_vrm vrm) { if (CanExtract(importer)) { if (GUILayout.Button("Extract Meta And Expressions ...")) { - Extract(importer, parser); + Extract(importer, data); } EditorGUILayout.HelpBox("Extract subasset to external object and overwrite remap", MessageType.Info); } @@ -49,7 +49,7 @@ namespace UniVRM10 /// が Extract 対象となる /// /// - public static void Extract(ScriptedImporter importer, GltfParser parser) + public static void Extract(ScriptedImporter importer, IGltfData data) { if (string.IsNullOrEmpty(importer.assetPath)) { diff --git a/Assets/VRM10/Editor/ScriptedImporter/VrmScriptedImporterEditorGUI.cs b/Assets/VRM10/Editor/ScriptedImporter/VrmScriptedImporterEditorGUI.cs index b30965b9c..57c8da79e 100644 --- a/Assets/VRM10/Editor/ScriptedImporter/VrmScriptedImporterEditorGUI.cs +++ b/Assets/VRM10/Editor/ScriptedImporter/VrmScriptedImporterEditorGUI.cs @@ -34,13 +34,13 @@ namespace UniVRM10 // error return; } - m_model = ModelReader.Read(m_result.Parser); + m_model = ModelReader.Read(m_result.Data); var tmp = m_importer.GetExternalObjectMap(); var generator = new Vrm10MaterialDescriptorGenerator(); - var materialKeys = m_result.Parser.GLTF.materials.Select((x, i) => generator.Get(m_result.Parser, i).SubAssetKey); - var textureKeys = new GltfTextureDescriptorGenerator(m_result.Parser).Get().GetEnumerable().Select(x => x.SubAssetKey); + var materialKeys = m_result.Data.GLTF.materials.Select((x, i) => generator.Get(m_result.Data, i).SubAssetKey); + var textureKeys = new GltfTextureDescriptorGenerator(m_result.Data).Get().GetEnumerable().Select(x => x.SubAssetKey); m_materialEditor = new RemapEditorMaterial(materialKeys.Concat(textureKeys), GetEditorMap, SetEditorMap); var expressionSubAssetKeys = m_result.Vrm.Expressions.Select(x => ExpressionKey.CreateFromVrm10(x).SubAssetKey); m_vrmEditor = new RemapEditorVrm(new[] { VRM10Object.SubAssetKey }.Concat(expressionSubAssetKeys), GetEditorMap, SetEditorMap); @@ -82,9 +82,9 @@ namespace UniVRM10 break; case Tabs.Materials: - if (m_result.Parser != null && m_result.Vrm != null) + if (m_result.Data != null && m_result.Vrm != null) { - m_materialEditor.OnGUI(m_importer, m_result.Parser, new Vrm10TextureDescriptorGenerator(m_result.Parser), + m_materialEditor.OnGUI(m_importer, m_result.Data, new Vrm10TextureDescriptorGenerator(m_result.Data), assetPath => $"{Path.GetFileNameWithoutExtension(assetPath)}.vrm1.Textures", assetPath => $"{Path.GetFileNameWithoutExtension(assetPath)}.vrm1.Materials"); RevertApplyRemapGUI(m_importer); @@ -92,9 +92,9 @@ namespace UniVRM10 break; case Tabs.Vrm: - if (m_result.Parser != null && m_result.Vrm != null) + if (m_result.Data != null && m_result.Vrm != null) { - m_vrmEditor.OnGUI(m_importer, m_result.Parser, m_result.Vrm); + m_vrmEditor.OnGUI(m_importer, m_result.Data, m_result.Vrm); RevertApplyRemapGUI(m_importer); } break; diff --git a/Assets/VRM10/Editor/ScriptedImporter/VrmScriptedImporterImpl.cs b/Assets/VRM10/Editor/ScriptedImporter/VrmScriptedImporterImpl.cs index fa32b565a..83a50bf65 100644 --- a/Assets/VRM10/Editor/ScriptedImporter/VrmScriptedImporterImpl.cs +++ b/Assets/VRM10/Editor/ScriptedImporter/VrmScriptedImporterImpl.cs @@ -35,7 +35,7 @@ namespace UniVRM10 .Where(kv => kv.Value != null) .ToDictionary(kv => new SubAssetKey(kv.Value.GetType(), kv.Key.name), kv => kv.Value); - using (var loader = new Vrm10Importer(result.Parser, result.Vrm, extractedObjects)) + using (var loader = new Vrm10Importer(result.Data, result.Vrm, extractedObjects)) { // settings TextureImporters foreach (var textureInfo in loader.TextureDescriptorGenerator.Get().GetEnumerable()) diff --git a/Assets/VRM10/Runtime/IO/Material/Vrm10MToonMaterialImporter.cs b/Assets/VRM10/Runtime/IO/Material/Vrm10MToonMaterialImporter.cs index a871a9d88..abf4ad66a 100644 --- a/Assets/VRM10/Runtime/IO/Material/Vrm10MToonMaterialImporter.cs +++ b/Assets/VRM10/Runtime/IO/Material/Vrm10MToonMaterialImporter.cs @@ -18,9 +18,9 @@ namespace UniVRM10 /// /// VMRC_materials_mtoon の場合にマテリアル生成情報を作成する /// - public static bool TryCreateParam(GltfParser parser, int i, out MaterialDescriptor matDesc) + public static bool TryCreateParam(IGltfData data, int i, out MaterialDescriptor matDesc) { - var m = parser.GLTF.materials[i]; + var m = data.GLTF.materials[i]; if (!UniGLTF.Extensions.VRMC_materials_mtoon.GltfDeserializer.TryGet(m.extensions, out UniGLTF.Extensions.VRMC_materials_mtoon.VRMC_materials_mtoon mtoon)) { @@ -32,7 +32,7 @@ namespace UniVRM10 // use material.name, because material name may renamed in GltfParser. matDesc = new MaterialDescriptor(m.name, MToon10Meta.UnityShaderName); - foreach (var (key, (subAssetKey, value)) in Vrm10MToonTextureImporter.EnumerateAllTextures(parser, m, mtoon)) + foreach (var (key, (subAssetKey, value)) in Vrm10MToonTextureImporter.EnumerateAllTextures(data, m, mtoon)) { matDesc.TextureSlots.Add(key, value); } diff --git a/Assets/VRM10/Runtime/IO/Material/Vrm10MaterialDescriptorGenerator.cs b/Assets/VRM10/Runtime/IO/Material/Vrm10MaterialDescriptorGenerator.cs index ee82c4527..e80db190e 100644 --- a/Assets/VRM10/Runtime/IO/Material/Vrm10MaterialDescriptorGenerator.cs +++ b/Assets/VRM10/Runtime/IO/Material/Vrm10MaterialDescriptorGenerator.cs @@ -6,16 +6,16 @@ namespace UniVRM10 { public sealed class Vrm10MaterialDescriptorGenerator : IMaterialDescriptorGenerator { - public MaterialDescriptor Get(GltfParser parser, int i) + public MaterialDescriptor Get(IGltfData data, int i) { // mtoon - if (!Vrm10MToonMaterialImporter.TryCreateParam(parser, i, out MaterialDescriptor matDesc)) + if (!Vrm10MToonMaterialImporter.TryCreateParam(data, i, out MaterialDescriptor matDesc)) { // unlit - if (!GltfUnlitMaterialImporter.TryCreateParam(parser, i, out matDesc)) + if (!GltfUnlitMaterialImporter.TryCreateParam(data, i, out matDesc)) { // pbr - if (!GltfPbrMaterialImporter.TryCreateParam(parser, i, out matDesc)) + if (!GltfPbrMaterialImporter.TryCreateParam(data, i, out matDesc)) { // fallback #if VRM_DEVELOP diff --git a/Assets/VRM10/Runtime/IO/Model/ModelReader.cs b/Assets/VRM10/Runtime/IO/Model/ModelReader.cs index 876c3c855..65ab1eeed 100644 --- a/Assets/VRM10/Runtime/IO/Model/ModelReader.cs +++ b/Assets/VRM10/Runtime/IO/Model/ModelReader.cs @@ -74,10 +74,10 @@ namespace UniVRM10 return model; } - public static Model Read(UniGLTF.GltfParser parser) + public static Model Read(UniGLTF.IGltfData data) { - var storage = new Vrm10Storage(parser); - var model = Load(storage, Path.GetFileName(parser.TargetPath)); + var storage = new Vrm10Storage(data); + var model = Load(storage, Path.GetFileName(data.TargetPath)); model.ConvertCoordinate(Coordinates.Unity); return model; } diff --git a/Assets/VRM10/Runtime/IO/Texture/Vrm10MToonTextureImporter.cs b/Assets/VRM10/Runtime/IO/Texture/Vrm10MToonTextureImporter.cs index 28c2cf446..b64b13439 100644 --- a/Assets/VRM10/Runtime/IO/Texture/Vrm10MToonTextureImporter.cs +++ b/Assets/VRM10/Runtime/IO/Texture/Vrm10MToonTextureImporter.cs @@ -10,59 +10,59 @@ namespace UniVRM10 { public static class Vrm10MToonTextureImporter { - public static IEnumerable<(string key, (SubAssetKey, TextureDescriptor))> EnumerateAllTextures(GltfParser parser, glTFMaterial material, VRMC_materials_mtoon mToon) + public static IEnumerable<(string key, (SubAssetKey, TextureDescriptor))> EnumerateAllTextures(IGltfData data, glTFMaterial material, VRMC_materials_mtoon mToon) { - if (TryGetBaseColorTexture(parser, material, out var litTex)) + if (TryGetBaseColorTexture(data, material, out var litTex)) { yield return (MToon10Prop.BaseColorTexture.ToUnityShaderLabName(), litTex); } - if (TryGetEmissiveTexture(parser, material, out var emissiveTex)) + if (TryGetEmissiveTexture(data, material, out var emissiveTex)) { yield return (MToon10Prop.EmissiveTexture.ToUnityShaderLabName(), emissiveTex); } - if (TryGetNormalTexture(parser, material, out var normalTex)) + if (TryGetNormalTexture(data, material, out var normalTex)) { yield return (MToon10Prop.NormalTexture.ToUnityShaderLabName(), normalTex); } - if (TryGetShadeMultiplyTexture(parser, mToon, out var shadeTex)) + if (TryGetShadeMultiplyTexture(data, mToon, out var shadeTex)) { yield return (MToon10Prop.ShadeColorTexture.ToUnityShaderLabName(), shadeTex); } - if (TryGetShadingShiftTexture(parser, mToon, out var shadeShiftTex)) + if (TryGetShadingShiftTexture(data, mToon, out var shadeShiftTex)) { yield return (MToon10Prop.ShadingShiftTexture.ToUnityShaderLabName(), shadeShiftTex); } - if (TryGetMatcapTexture(parser, mToon, out var matcapTex)) + if (TryGetMatcapTexture(data, mToon, out var matcapTex)) { yield return (MToon10Prop.MatcapTexture.ToUnityShaderLabName(), matcapTex); } - if (TryGetRimMultiplyTexture(parser, mToon, out var rimTex)) + if (TryGetRimMultiplyTexture(data, mToon, out var rimTex)) { yield return (MToon10Prop.RimMultiplyTexture.ToUnityShaderLabName(), rimTex); } - if (TryGetOutlineWidthMultiplyTexture(parser, mToon, out var outlineTex)) + if (TryGetOutlineWidthMultiplyTexture(data, mToon, out var outlineTex)) { yield return (MToon10Prop.OutlineWidthMultiplyTexture.ToUnityShaderLabName(), outlineTex); } - if (TryGetUvAnimationMaskTexture(parser, mToon, out var uvAnimMaskTex)) + if (TryGetUvAnimationMaskTexture(data, mToon, out var uvAnimMaskTex)) { yield return (MToon10Prop.UvAnimationMaskTexture.ToUnityShaderLabName(), uvAnimMaskTex); } } - private static bool TryGetBaseColorTexture(GltfParser parser, glTFMaterial src, out (SubAssetKey, TextureDescriptor) pair) + private static bool TryGetBaseColorTexture(IGltfData data, glTFMaterial src, out (SubAssetKey, TextureDescriptor) pair) { try { - pair = GltfPbrTextureImporter.BaseColorTexture(parser, src); + pair = GltfPbrTextureImporter.BaseColorTexture(data, src); return true; } catch (NullReferenceException) @@ -77,11 +77,11 @@ namespace UniVRM10 } } - private static bool TryGetEmissiveTexture(GltfParser parser, glTFMaterial src, out (SubAssetKey, TextureDescriptor) pair) + private static bool TryGetEmissiveTexture(IGltfData data, glTFMaterial src, out (SubAssetKey, TextureDescriptor) pair) { try { - pair = GltfPbrTextureImporter.EmissiveTexture(parser, src); + pair = GltfPbrTextureImporter.EmissiveTexture(data, src); return true; } catch (NullReferenceException) @@ -97,11 +97,11 @@ namespace UniVRM10 } - private static bool TryGetNormalTexture(GltfParser parser, glTFMaterial src, out (SubAssetKey, TextureDescriptor) pair) + private static bool TryGetNormalTexture(IGltfData data, glTFMaterial src, out (SubAssetKey, TextureDescriptor) pair) { try { - pair = GltfPbrTextureImporter.NormalTexture(parser, src); + pair = GltfPbrTextureImporter.NormalTexture(data, src); return true; } catch (NullReferenceException) @@ -116,42 +116,42 @@ namespace UniVRM10 } } - private static bool TryGetShadeMultiplyTexture(GltfParser parser, VRMC_materials_mtoon mToon, out (SubAssetKey, TextureDescriptor) pair) + private static bool TryGetShadeMultiplyTexture(IGltfData data, VRMC_materials_mtoon mToon, out (SubAssetKey, TextureDescriptor) pair) { - return TryGetSRGBTexture(parser, new Vrm10TextureInfo(mToon.ShadeMultiplyTexture), out pair); + return TryGetSRGBTexture(data, new Vrm10TextureInfo(mToon.ShadeMultiplyTexture), out pair); } - private static bool TryGetShadingShiftTexture(GltfParser parser, VRMC_materials_mtoon mToon, out (SubAssetKey, TextureDescriptor) pair) + private static bool TryGetShadingShiftTexture(IGltfData data, VRMC_materials_mtoon mToon, out (SubAssetKey, TextureDescriptor) pair) { - return TryGetLinearTexture(parser, new Vrm10TextureInfo(mToon.ShadingShiftTexture), out pair); + return TryGetLinearTexture(data, new Vrm10TextureInfo(mToon.ShadingShiftTexture), out pair); } - private static bool TryGetMatcapTexture(GltfParser parser, VRMC_materials_mtoon mToon, out (SubAssetKey, TextureDescriptor) pair) + private static bool TryGetMatcapTexture(IGltfData data, VRMC_materials_mtoon mToon, out (SubAssetKey, TextureDescriptor) pair) { - return TryGetSRGBTexture(parser, new Vrm10TextureInfo(mToon.ShadingShiftTexture), out pair); + return TryGetSRGBTexture(data, new Vrm10TextureInfo(mToon.ShadingShiftTexture), out pair); } - private static bool TryGetRimMultiplyTexture(GltfParser parser, VRMC_materials_mtoon mToon, out (SubAssetKey, TextureDescriptor) pair) + private static bool TryGetRimMultiplyTexture(IGltfData data, VRMC_materials_mtoon mToon, out (SubAssetKey, TextureDescriptor) pair) { - return TryGetSRGBTexture(parser, new Vrm10TextureInfo(mToon.RimMultiplyTexture), out pair); + return TryGetSRGBTexture(data, new Vrm10TextureInfo(mToon.RimMultiplyTexture), out pair); } - private static bool TryGetOutlineWidthMultiplyTexture(GltfParser parser, VRMC_materials_mtoon mToon, out (SubAssetKey, TextureDescriptor) pair) + private static bool TryGetOutlineWidthMultiplyTexture(IGltfData data, VRMC_materials_mtoon mToon, out (SubAssetKey, TextureDescriptor) pair) { - return TryGetLinearTexture(parser, new Vrm10TextureInfo(mToon.OutlineWidthMultiplyTexture), out pair); + return TryGetLinearTexture(data, new Vrm10TextureInfo(mToon.OutlineWidthMultiplyTexture), out pair); } - private static bool TryGetUvAnimationMaskTexture(GltfParser parser, VRMC_materials_mtoon mToon, out (SubAssetKey, TextureDescriptor) pair) + private static bool TryGetUvAnimationMaskTexture(IGltfData data, VRMC_materials_mtoon mToon, out (SubAssetKey, TextureDescriptor) pair) { - return TryGetLinearTexture(parser, new Vrm10TextureInfo(mToon.UvAnimationMaskTexture), out pair); + return TryGetLinearTexture(data, new Vrm10TextureInfo(mToon.UvAnimationMaskTexture), out pair); } - private static bool TryGetSRGBTexture(GltfParser parser, Vrm10TextureInfo info, out (SubAssetKey, TextureDescriptor) pair) + private static bool TryGetSRGBTexture(IGltfData data, Vrm10TextureInfo info, out (SubAssetKey, TextureDescriptor) pair) { try { var (offset, scale) = GetTextureOffsetAndScale(info); - pair = GltfTextureImporter.CreateSRGB(parser, info.index, offset, scale); + pair = GltfTextureImporter.CreateSRGB(data, info.index, offset, scale); return true; } catch (NullReferenceException) @@ -165,12 +165,12 @@ namespace UniVRM10 return false; } } - private static bool TryGetLinearTexture(GltfParser parser, Vrm10TextureInfo info, out (SubAssetKey, TextureDescriptor) pair) + private static bool TryGetLinearTexture(IGltfData data, Vrm10TextureInfo info, out (SubAssetKey, TextureDescriptor) pair) { try { var (offset, scale) = GetTextureOffsetAndScale(info); - pair = GltfTextureImporter.CreateLinear(parser, info.index, offset, scale); + pair = GltfTextureImporter.CreateLinear(data, info.index, offset, scale); return true; } catch (NullReferenceException) diff --git a/Assets/VRM10/Runtime/IO/Texture/Vrm10TextureDescriptorGenerator.cs b/Assets/VRM10/Runtime/IO/Texture/Vrm10TextureDescriptorGenerator.cs index 95718dad2..ced7ef231 100644 --- a/Assets/VRM10/Runtime/IO/Texture/Vrm10TextureDescriptorGenerator.cs +++ b/Assets/VRM10/Runtime/IO/Texture/Vrm10TextureDescriptorGenerator.cs @@ -9,12 +9,12 @@ namespace UniVRM10 { public sealed class Vrm10TextureDescriptorGenerator : ITextureDescriptorGenerator { - private readonly GltfParser m_parser; + private readonly IGltfData m_data; private TextureDescriptorSet _textureDescriptorSet; - public Vrm10TextureDescriptorGenerator(GltfParser parser) + public Vrm10TextureDescriptorGenerator(IGltfData data) { - m_parser = parser; + m_data = data; } public TextureDescriptorSet Get() @@ -22,7 +22,7 @@ namespace UniVRM10 if (_textureDescriptorSet == null) { _textureDescriptorSet = new TextureDescriptorSet(); - foreach (var (_, param) in EnumerateAllTextures(m_parser)) + foreach (var (_, param) in EnumerateAllTextures(m_data)) { _textureDescriptorSet.Add(param); } @@ -33,20 +33,20 @@ namespace UniVRM10 /// /// glTF 全体で使うテクスチャーを列挙する /// - private static IEnumerable<(SubAssetKey, TextureDescriptor)> EnumerateAllTextures(GltfParser parser) + private static IEnumerable<(SubAssetKey, TextureDescriptor)> EnumerateAllTextures(IGltfData data) { - if (!UniGLTF.Extensions.VRMC_vrm.GltfDeserializer.TryGet(parser.GLTF.extensions, out UniGLTF.Extensions.VRMC_vrm.VRMC_vrm vrm)) + if (!UniGLTF.Extensions.VRMC_vrm.GltfDeserializer.TryGet(data.GLTF.extensions, out UniGLTF.Extensions.VRMC_vrm.VRMC_vrm vrm)) { throw new System.Exception("not vrm"); } // Textures referenced by Materials. - for (var materialIdx = 0; materialIdx < parser.GLTF.materials.Count; ++materialIdx) + for (var materialIdx = 0; materialIdx < data.GLTF.materials.Count; ++materialIdx) { - var m = parser.GLTF.materials[materialIdx]; + var m = data.GLTF.materials[materialIdx]; if (UniGLTF.Extensions.VRMC_materials_mtoon.GltfDeserializer.TryGet(m.extensions, out var mToon)) { - foreach (var (_, tex) in Vrm10MToonTextureImporter.EnumerateAllTextures(parser, m, mToon)) + foreach (var (_, tex) in Vrm10MToonTextureImporter.EnumerateAllTextures(data, m, mToon)) { yield return tex; } @@ -54,7 +54,7 @@ namespace UniVRM10 else { // Fallback to glTF PBR & glTF Unlit - foreach (var tex in GltfPbrTextureImporter.EnumerateAllTextures(parser, materialIdx)) + foreach (var tex in GltfPbrTextureImporter.EnumerateAllTextures(data, materialIdx)) { yield return tex; } @@ -62,7 +62,7 @@ namespace UniVRM10 } // Thumbnail Texture referenced by VRM Meta. - if (TryGetMetaThumbnailTextureImportParam(parser, vrm, out (SubAssetKey key, TextureDescriptor) thumbnail)) + if (TryGetMetaThumbnailTextureImportParam(data, vrm, out (SubAssetKey key, TextureDescriptor) thumbnail)) { yield return thumbnail; } @@ -71,7 +71,7 @@ namespace UniVRM10 /// /// VRM-1 の thumbnail テクスチャー。gltf.textures ではなく gltf.images の参照であることに注意(sampler等の設定が無い) /// - public static bool TryGetMetaThumbnailTextureImportParam(GltfParser parser, UniGLTF.Extensions.VRMC_vrm.VRMC_vrm vrm, out (SubAssetKey, TextureDescriptor) value) + public static bool TryGetMetaThumbnailTextureImportParam(IGltfData data, UniGLTF.Extensions.VRMC_vrm.VRMC_vrm vrm, out (SubAssetKey, TextureDescriptor) value) { if (vrm?.Meta?.ThumbnailImage == null) { @@ -80,12 +80,12 @@ namespace UniVRM10 } var imageIndex = vrm.Meta.ThumbnailImage.Value; - var gltfImage = parser.GLTF.images[imageIndex]; + var gltfImage = data.GLTF.images[imageIndex]; var name = TextureImportName.GetUnityObjectName(TextureImportTypes.sRGB, gltfImage.name, gltfImage.uri); GetTextureBytesAsync getThumbnailImageBytesAsync = () => { - var bytes = parser.GLTF.GetImageBytes(parser.Storage, imageIndex); + var bytes = data.GLTF.GetImageBytes(data.Storage, imageIndex); return Task.FromResult(GltfTextureImporter.ToArray(bytes)); }; var texDesc = new TextureDescriptor(name, gltfImage.GetExt(), gltfImage.uri, Vector2.zero, Vector2.one, default, TextureImportTypes.sRGB, default, default, diff --git a/Assets/VRM10/Runtime/IO/Vrm10Importer.cs b/Assets/VRM10/Runtime/IO/Vrm10Importer.cs index 050fbdbda..04a09a98c 100644 --- a/Assets/VRM10/Runtime/IO/Vrm10Importer.cs +++ b/Assets/VRM10/Runtime/IO/Vrm10Importer.cs @@ -21,14 +21,14 @@ namespace UniVRM10 IReadOnlyDictionary m_externalMap; public Vrm10Importer( - UniGLTF.GltfParser parser, UniGLTF.Extensions.VRMC_vrm.VRMC_vrm vrm, + UniGLTF.IGltfData data, UniGLTF.Extensions.VRMC_vrm.VRMC_vrm vrm, IReadOnlyDictionary externalObjectMap = null, ITextureDeserializer textureDeserializer = null) - : base(parser, externalObjectMap, textureDeserializer) + : base(data, externalObjectMap, textureDeserializer) { - if (parser == null) + if (data == null) { - throw new ArgumentNullException("parser"); + throw new ArgumentNullException("data"); } if (vrm == null) @@ -37,7 +37,7 @@ namespace UniVRM10 } m_vrm = vrm; - TextureDescriptorGenerator = new Vrm10TextureDescriptorGenerator(parser); + TextureDescriptorGenerator = new Vrm10TextureDescriptorGenerator(data); MaterialDescriptorGenerator = new Vrm10MaterialDescriptorGenerator(); m_externalMap = externalObjectMap; @@ -47,7 +47,7 @@ namespace UniVRM10 } // bin に対して右手左手変換を破壊的に実行することに注意 !(bin が変換済みになる) - m_model = ModelReader.Read(parser); + m_model = ModelReader.Read(data); // assign humanoid bones if (m_vrm.Humanoid != null) @@ -236,7 +236,7 @@ namespace UniVRM10 controller.Vrm = await LoadVrmAsync(awaitCaller, m_vrm); // springBone - if (UniGLTF.Extensions.VRMC_springBone.GltfDeserializer.TryGet(Parser.GLTF.extensions, out UniGLTF.Extensions.VRMC_springBone.VRMC_springBone springBone)) + if (UniGLTF.Extensions.VRMC_springBone.GltfDeserializer.TryGet(Data.GLTF.extensions, out UniGLTF.Extensions.VRMC_springBone.VRMC_springBone springBone)) { await LoadSpringBoneAsync(awaitCaller, controller, springBone); } @@ -297,7 +297,7 @@ namespace UniVRM10 { meta.Authors.AddRange(src.Authors); } - if (Vrm10TextureDescriptorGenerator.TryGetMetaThumbnailTextureImportParam(Parser, vrmExtension, out (SubAssetKey, VRMShaders.TextureDescriptor Param) kv)) + if (Vrm10TextureDescriptorGenerator.TryGetMetaThumbnailTextureImportParam(Data, vrmExtension, out (SubAssetKey, VRMShaders.TextureDescriptor Param) kv)) { var texture = await TextureFactory.GetTextureAsync(kv.Param, awaitCaller); if (texture is Texture2D tex2D) @@ -510,9 +510,9 @@ namespace UniVRM10 async Task LoadConstraintAsync(IAwaitCaller awaitCaller, VRM10Controller controller) { - for (int i = 0; i < Parser.GLTF.nodes.Count; ++i) + for (int i = 0; i < Data.GLTF.nodes.Count; ++i) { - var gltfNode = Parser.GLTF.nodes[i]; + var gltfNode = Data.GLTF.nodes[i]; if (UniGLTF.Extensions.VRMC_node_constraint.GltfDeserializer.TryGet(gltfNode.extensions, out UniGLTF.Extensions.VRMC_node_constraint.VRMC_node_constraint ext)) { var constraint = ext.Constraint; diff --git a/Assets/VRM10/Runtime/IO/Vrm10Parser.cs b/Assets/VRM10/Runtime/IO/Vrm10Parser.cs index 7c9deff29..e64fdd9fe 100644 --- a/Assets/VRM10/Runtime/IO/Vrm10Parser.cs +++ b/Assets/VRM10/Runtime/IO/Vrm10Parser.cs @@ -17,13 +17,13 @@ namespace UniVRM10 { public readonly struct Result { - public readonly GltfParser Parser; + public readonly IGltfData Data; public readonly VRMC_vrm Vrm; public readonly Vrm10FileType FileType; public readonly String Message; - public Result(GltfParser parser, VRMC_vrm vrm, Vrm10FileType fileType, string message) + public Result(IGltfData data, VRMC_vrm vrm, Vrm10FileType fileType, string message) { - Parser = parser; + Data = data; Vrm = vrm; FileType = fileType; Message = message; @@ -47,7 +47,7 @@ namespace UniVRM10 // Parse(parse glb, parser gltf json) // { - var parser = new GltfParser(); + var parser = new IGltfData(); parser.Parse(path, bytes); if (UniGLTF.Extensions.VRMC_vrm.GltfDeserializer.TryGet(parser.GLTF.extensions, out UniGLTF.Extensions.VRMC_vrm.VRMC_vrm vrm)) { @@ -103,7 +103,7 @@ namespace UniVRM10 } { - var parser = new GltfParser(); + var parser = new IGltfData(); parser.Parse(path, migrated); if (UniGLTF.Extensions.VRMC_vrm.GltfDeserializer.TryGet(parser.GLTF.extensions, out VRMC_vrm vrm)) { diff --git a/Assets/VRM10/Runtime/IO/Vrm10Storage.cs b/Assets/VRM10/Runtime/IO/Vrm10Storage.cs index c0328f288..cfb0e5e53 100644 --- a/Assets/VRM10/Runtime/IO/Vrm10Storage.cs +++ b/Assets/VRM10/Runtime/IO/Vrm10Storage.cs @@ -12,8 +12,8 @@ namespace UniVRM10 { public class Vrm10Storage { - UniGLTF.GltfParser m_parser; - public UniGLTF.glTF Gltf => m_parser.GLTF; + UniGLTF.IGltfData m_data; + public UniGLTF.glTF Gltf => m_data.GLTF; public List Buffers; @@ -26,7 +26,7 @@ namespace UniVRM10 /// public Vrm10Storage() { - m_parser = new UniGLTF.GltfParser + m_data = new UniGLTF.IGltfData { GLTF = new UniGLTF.glTF() { @@ -46,9 +46,9 @@ namespace UniVRM10 /// /// /// - public Vrm10Storage(UniGLTF.GltfParser parser) + public Vrm10Storage(UniGLTF.IGltfData data) { - m_parser = parser; + m_data = data; if (UniGLTF.Extensions.VRMC_vrm.GltfDeserializer.TryGet(Gltf.extensions, out UniGLTF.Extensions.VRMC_vrm.VRMC_vrm vrm)) diff --git a/Assets/VRM10/Runtime/Scenes/Sample.cs b/Assets/VRM10/Runtime/Scenes/Sample.cs index a2a292030..a5a7ecb27 100644 --- a/Assets/VRM10/Runtime/Scenes/Sample.cs +++ b/Assets/VRM10/Runtime/Scenes/Sample.cs @@ -20,7 +20,7 @@ namespace UniVRM10.Sample return null; } - using (var loader = new Vrm10Importer(result.Parser, result.Vrm)) + using (var loader = new Vrm10Importer(result.Data, result.Vrm)) { var loaded = loader.Load(); loaded.ShowMeshes(); diff --git a/Assets/VRM10/Tests.PlayMode/MaterialTests.cs b/Assets/VRM10/Tests.PlayMode/MaterialTests.cs index 9ab8372b7..1a07acb05 100644 --- a/Assets/VRM10/Tests.PlayMode/MaterialTests.cs +++ b/Assets/VRM10/Tests.PlayMode/MaterialTests.cs @@ -36,13 +36,13 @@ namespace UniVRM10.Test throw new Exception(); } - return ToUnity(result.Parser, result.Vrm); + return ToUnity(result.Data, result.Vrm); } - private (GameObject, IReadOnlyList) ToUnity(GltfParser parser, VRMC_vrm vrm) + private (GameObject, IReadOnlyList) ToUnity(IGltfData data, VRMC_vrm vrm) { // Model => Unity - using (var loader = new Vrm10Importer(parser, vrm)) + using (var loader = new Vrm10Importer(data, vrm)) { var loaded = loader.Load(); return (loaded.gameObject, loader.MaterialFactory.Materials); diff --git a/Assets/VRM10/Tests/ApiSampleTests.cs b/Assets/VRM10/Tests/ApiSampleTests.cs index 7b9aa2d25..37189287b 100644 --- a/Assets/VRM10/Tests/ApiSampleTests.cs +++ b/Assets/VRM10/Tests/ApiSampleTests.cs @@ -13,16 +13,16 @@ namespace UniVRM10.Test { var bytes = MigrationVrm.Migrate(File.ReadAllBytes(path)); - var parser = new GltfParser(); + var parser = new IGltfData(); parser.Parse("migrated", bytes); var model = ModelReader.Read(parser); return model; } - GameObject BuildGameObject(GltfParser parser, VRMC_vrm vrm, bool showMesh) + GameObject BuildGameObject(IGltfData data, VRMC_vrm vrm, bool showMesh) { - using (var loader = new Vrm10Importer(parser, vrm)) + using (var loader = new Vrm10Importer(data, vrm)) { var loaded = loader.Load(); if (showMesh) @@ -42,7 +42,7 @@ namespace UniVRM10.Test Assert.IsTrue(Vrm10Parser.TryParseOrMigrate(path, true, out Vrm10Parser.Result result)); - var go = BuildGameObject(result.Parser, result.Vrm, true); + var go = BuildGameObject(result.Data, result.Vrm, true); Debug.Log(go); // export diff --git a/Assets/VRM10/Tests/MaterialImportTests.cs b/Assets/VRM10/Tests/MaterialImportTests.cs index f0031ac88..c1e456d57 100644 --- a/Assets/VRM10/Tests/MaterialImportTests.cs +++ b/Assets/VRM10/Tests/MaterialImportTests.cs @@ -22,7 +22,7 @@ namespace UniVRM10 public void MaterialImporterTest() { var migratedBytes = MigrationVrm.Migrate(File.ReadAllBytes(AliciaPath)); - var parser = new GltfParser(); + var parser = new IGltfData(); parser.Parse(AliciaPath, migratedBytes); var matDesc = new Vrm10MaterialDescriptorGenerator().Get(parser, 0); diff --git a/Assets/VRM10/Tests/MigrationTests.cs b/Assets/VRM10/Tests/MigrationTests.cs index e84557633..6ea8329a0 100644 --- a/Assets/VRM10/Tests/MigrationTests.cs +++ b/Assets/VRM10/Tests/MigrationTests.cs @@ -202,7 +202,7 @@ namespace UniVRM10 try { var migrated = MigrationVrm.Migrate(bytes); - var parser = new GltfParser(); + var parser = new IGltfData(); parser.Parse(gltf.FullName, migrated); UniGLTF.Extensions.VRMC_vrm.GltfDeserializer.TryGet(parser.GLTF.extensions, out UniGLTF.Extensions.VRMC_vrm.VRMC_vrm vrm); Assert.NotNull(vrm); @@ -224,7 +224,7 @@ namespace UniVRM10 // vrm0 のオリジナルの値 // var VALUE = new Vector3(-0.0359970331f, -0.0188314915f, 0.00566166639f); - var parser0 = new GltfParser(); + var parser0 = new IGltfData(); var bytes0 = File.ReadAllBytes(AliciaPath); parser0.Parse(AliciaPath, bytes0); var json0 = parser0.Json.ParseAsJson(); @@ -240,7 +240,7 @@ namespace UniVRM10 // vrm1 に migrate // var bytes1 = MigrationVrm.Migrate(bytes0); - var parser1 = new GltfParser(); + var parser1 = new IGltfData(); parser1.Parse(AliciaPath, bytes1); Assert.True(UniGLTF.Extensions.VRMC_springBone.GltfDeserializer.TryGet(parser1.GLTF.extensions, out UniGLTF.Extensions.VRMC_springBone.VRMC_springBone springBone)); var spring = springBone.Springs[0];