From 1e851de1219208d247b38ca723da54a428981429 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Mon, 19 Apr 2021 13:30:08 +0900 Subject: [PATCH 1/5] generate menu #if VRM_DEVELOP --- Assets/VRM10/Editor/GeneratorMenu.cs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Assets/VRM10/Editor/GeneratorMenu.cs b/Assets/VRM10/Editor/GeneratorMenu.cs index ba76317d3..c2e084fb0 100644 --- a/Assets/VRM10/Editor/GeneratorMenu.cs +++ b/Assets/VRM10/Editor/GeneratorMenu.cs @@ -7,18 +7,15 @@ namespace UniVRM10 /// /// JsonSchema から vrm10 のシリアライザーを生成する。 /// - /// * https://github.com/KhronosGroup/glTF - /// * https://github.com/vrm-c/vrm-specification - /// - /// を UniVRM の隣に clone しておくこと。 - /// - /// * UniVRM /// * glTF /// * vrm-specification /// + /// は SubModuleになった。 `$ git submodule update --init` しておくこと。 + /// /// public static class Menu { +#if VRM_DEVELOP [MenuItem(UniVRM10.VRMVersion.MENU + "/Generate from JsonSchema")] public static void Generate() { @@ -30,6 +27,7 @@ namespace UniVRM10 { Run(true); } +#endif static void Run(bool debug) { From da5133ebdf02fcbb3e0db2692fc2531a1690dd67 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Mon, 19 Apr 2021 13:33:44 +0900 Subject: [PATCH 2/5] remove dependency on UniJson from format --- Assets/UniGLTF/Editor/Generator/DeserializerWriter.cs | 3 ++- Assets/UniGLTF/Editor/Generator/FormatWriter.cs | 3 +-- Assets/VRM10/Runtime/Format/Constraints/Deserializer.g.cs | 3 ++- Assets/VRM10/Runtime/Format/Constraints/Format.g.cs | 3 +-- Assets/VRM10/Runtime/Format/MaterialsMToon/Deserializer.g.cs | 3 ++- Assets/VRM10/Runtime/Format/MaterialsMToon/Format.g.cs | 3 +-- Assets/VRM10/Runtime/Format/SpringBone/Deserializer.g.cs | 3 ++- Assets/VRM10/Runtime/Format/SpringBone/Format.g.cs | 3 +-- Assets/VRM10/Runtime/Format/Vrm/Deserializer.g.cs | 3 ++- Assets/VRM10/Runtime/Format/Vrm/Format.g.cs | 3 +-- Assets/VRM10/Tests/MigrationTests.cs | 4 ++-- 11 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Assets/UniGLTF/Editor/Generator/DeserializerWriter.cs b/Assets/UniGLTF/Editor/Generator/DeserializerWriter.cs index d5ce549cb..eaae7f986 100644 --- a/Assets/UniGLTF/Editor/Generator/DeserializerWriter.cs +++ b/Assets/UniGLTF/Editor/Generator/DeserializerWriter.cs @@ -16,6 +16,7 @@ namespace UniGLTF.Extensions.$0 { public static class GltfDeserializer { + public static readonly Utf8String ExtensionNameUtf8 = Utf8String.From($0.ExtensionName); public static bool TryGet(UniGLTF.glTFExtension src, out $0 extension) { @@ -23,7 +24,7 @@ public static bool TryGet(UniGLTF.glTFExtension src, out $0 extension) { foreach(var kv in extensions.ObjectItems()) { - if(kv.Key.GetUtf8String() == $0.ExtensionNameUtf8) + if(kv.Key.GetUtf8String() == ExtensionNameUtf8) { extension = Deserialize(kv.Value); return true; diff --git a/Assets/UniGLTF/Editor/Generator/FormatWriter.cs b/Assets/UniGLTF/Editor/Generator/FormatWriter.cs index d102bd91f..781625a2e 100644 --- a/Assets/UniGLTF/Editor/Generator/FormatWriter.cs +++ b/Assets/UniGLTF/Editor/Generator/FormatWriter.cs @@ -81,7 +81,6 @@ namespace GenerateUniGLTFSerialization { var indent = " "; m_w.WriteLine($"{indent}public const string ExtensionName = \"{rootName}\";"); - m_w.WriteLine($"{indent}public static readonly Utf8String ExtensionNameUtf8 = Utf8String.From(ExtensionName);"); m_w.WriteLine(); } @@ -179,7 +178,7 @@ namespace GenerateUniGLTFSerialization using System; using System.Collections.Generic; using UniGLTF; -using UniJSON; + namespace UniGLTF.Extensions.{rootName} {{ diff --git a/Assets/VRM10/Runtime/Format/Constraints/Deserializer.g.cs b/Assets/VRM10/Runtime/Format/Constraints/Deserializer.g.cs index ce4d738a7..04fa4b622 100644 --- a/Assets/VRM10/Runtime/Format/Constraints/Deserializer.g.cs +++ b/Assets/VRM10/Runtime/Format/Constraints/Deserializer.g.cs @@ -8,6 +8,7 @@ namespace UniGLTF.Extensions.VRMC_node_constraint { public static class GltfDeserializer { + public static readonly Utf8String ExtensionNameUtf8 = Utf8String.From(VRMC_node_constraint.ExtensionName); public static bool TryGet(UniGLTF.glTFExtension src, out VRMC_node_constraint extension) { @@ -15,7 +16,7 @@ public static bool TryGet(UniGLTF.glTFExtension src, out VRMC_node_constraint ex { foreach(var kv in extensions.ObjectItems()) { - if(kv.Key.GetUtf8String() == VRMC_node_constraint.ExtensionNameUtf8) + if(kv.Key.GetUtf8String() == ExtensionNameUtf8) { extension = Deserialize(kv.Value); return true; diff --git a/Assets/VRM10/Runtime/Format/Constraints/Format.g.cs b/Assets/VRM10/Runtime/Format/Constraints/Format.g.cs index 13a812f1c..f1e80baa7 100644 --- a/Assets/VRM10/Runtime/Format/Constraints/Format.g.cs +++ b/Assets/VRM10/Runtime/Format/Constraints/Format.g.cs @@ -2,7 +2,7 @@ using System; using System.Collections.Generic; using UniGLTF; -using UniJSON; + namespace UniGLTF.Extensions.VRMC_node_constraint { @@ -128,7 +128,6 @@ namespace UniGLTF.Extensions.VRMC_node_constraint public class VRMC_node_constraint { public const string ExtensionName = "VRMC_node_constraint"; - public static readonly Utf8String ExtensionNameUtf8 = Utf8String.From(ExtensionName); // Dictionary object with extension-specific objects. public glTFExtension Extensions; diff --git a/Assets/VRM10/Runtime/Format/MaterialsMToon/Deserializer.g.cs b/Assets/VRM10/Runtime/Format/MaterialsMToon/Deserializer.g.cs index 3d6714e44..12cedff0c 100644 --- a/Assets/VRM10/Runtime/Format/MaterialsMToon/Deserializer.g.cs +++ b/Assets/VRM10/Runtime/Format/MaterialsMToon/Deserializer.g.cs @@ -8,6 +8,7 @@ namespace UniGLTF.Extensions.VRMC_materials_mtoon { public static class GltfDeserializer { + public static readonly Utf8String ExtensionNameUtf8 = Utf8String.From(VRMC_materials_mtoon.ExtensionName); public static bool TryGet(UniGLTF.glTFExtension src, out VRMC_materials_mtoon extension) { @@ -15,7 +16,7 @@ public static bool TryGet(UniGLTF.glTFExtension src, out VRMC_materials_mtoon ex { foreach(var kv in extensions.ObjectItems()) { - if(kv.Key.GetUtf8String() == VRMC_materials_mtoon.ExtensionNameUtf8) + if(kv.Key.GetUtf8String() == ExtensionNameUtf8) { extension = Deserialize(kv.Value); return true; diff --git a/Assets/VRM10/Runtime/Format/MaterialsMToon/Format.g.cs b/Assets/VRM10/Runtime/Format/MaterialsMToon/Format.g.cs index 1812ab9cb..f6b5d2f5b 100644 --- a/Assets/VRM10/Runtime/Format/MaterialsMToon/Format.g.cs +++ b/Assets/VRM10/Runtime/Format/MaterialsMToon/Format.g.cs @@ -2,7 +2,7 @@ using System; using System.Collections.Generic; using UniGLTF; -using UniJSON; + namespace UniGLTF.Extensions.VRMC_materials_mtoon { @@ -51,7 +51,6 @@ namespace UniGLTF.Extensions.VRMC_materials_mtoon public class VRMC_materials_mtoon { public const string ExtensionName = "VRMC_materials_mtoon"; - public static readonly Utf8String ExtensionNameUtf8 = Utf8String.From(ExtensionName); // Dictionary object with extension-specific objects. public glTFExtension Extensions; diff --git a/Assets/VRM10/Runtime/Format/SpringBone/Deserializer.g.cs b/Assets/VRM10/Runtime/Format/SpringBone/Deserializer.g.cs index 1d6b3a46c..28fe96538 100644 --- a/Assets/VRM10/Runtime/Format/SpringBone/Deserializer.g.cs +++ b/Assets/VRM10/Runtime/Format/SpringBone/Deserializer.g.cs @@ -8,6 +8,7 @@ namespace UniGLTF.Extensions.VRMC_springBone { public static class GltfDeserializer { + public static readonly Utf8String ExtensionNameUtf8 = Utf8String.From(VRMC_springBone.ExtensionName); public static bool TryGet(UniGLTF.glTFExtension src, out VRMC_springBone extension) { @@ -15,7 +16,7 @@ public static bool TryGet(UniGLTF.glTFExtension src, out VRMC_springBone extensi { foreach(var kv in extensions.ObjectItems()) { - if(kv.Key.GetUtf8String() == VRMC_springBone.ExtensionNameUtf8) + if(kv.Key.GetUtf8String() == ExtensionNameUtf8) { extension = Deserialize(kv.Value); return true; diff --git a/Assets/VRM10/Runtime/Format/SpringBone/Format.g.cs b/Assets/VRM10/Runtime/Format/SpringBone/Format.g.cs index b4124a382..1cab35b19 100644 --- a/Assets/VRM10/Runtime/Format/SpringBone/Format.g.cs +++ b/Assets/VRM10/Runtime/Format/SpringBone/Format.g.cs @@ -2,7 +2,7 @@ using System; using System.Collections.Generic; using UniGLTF; -using UniJSON; + namespace UniGLTF.Extensions.VRMC_springBone { @@ -114,7 +114,6 @@ namespace UniGLTF.Extensions.VRMC_springBone public class VRMC_springBone { public const string ExtensionName = "VRMC_springBone"; - public static readonly Utf8String ExtensionNameUtf8 = Utf8String.From(ExtensionName); // Dictionary object with extension-specific objects. public glTFExtension Extensions; diff --git a/Assets/VRM10/Runtime/Format/Vrm/Deserializer.g.cs b/Assets/VRM10/Runtime/Format/Vrm/Deserializer.g.cs index fef0de1f1..20a866f87 100644 --- a/Assets/VRM10/Runtime/Format/Vrm/Deserializer.g.cs +++ b/Assets/VRM10/Runtime/Format/Vrm/Deserializer.g.cs @@ -8,6 +8,7 @@ namespace UniGLTF.Extensions.VRMC_vrm { public static class GltfDeserializer { + public static readonly Utf8String ExtensionNameUtf8 = Utf8String.From(VRMC_vrm.ExtensionName); public static bool TryGet(UniGLTF.glTFExtension src, out VRMC_vrm extension) { @@ -15,7 +16,7 @@ public static bool TryGet(UniGLTF.glTFExtension src, out VRMC_vrm extension) { foreach(var kv in extensions.ObjectItems()) { - if(kv.Key.GetUtf8String() == VRMC_vrm.ExtensionNameUtf8) + if(kv.Key.GetUtf8String() == ExtensionNameUtf8) { extension = Deserialize(kv.Value); return true; diff --git a/Assets/VRM10/Runtime/Format/Vrm/Format.g.cs b/Assets/VRM10/Runtime/Format/Vrm/Format.g.cs index 60319c844..cd68e6472 100644 --- a/Assets/VRM10/Runtime/Format/Vrm/Format.g.cs +++ b/Assets/VRM10/Runtime/Format/Vrm/Format.g.cs @@ -2,7 +2,7 @@ using System; using System.Collections.Generic; using UniGLTF; -using UniJSON; + namespace UniGLTF.Extensions.VRMC_vrm { @@ -478,7 +478,6 @@ namespace UniGLTF.Extensions.VRMC_vrm public class VRMC_vrm { public const string ExtensionName = "VRMC_vrm"; - public static readonly Utf8String ExtensionNameUtf8 = Utf8String.From(ExtensionName); // Specification version of the VRM public string SpecVersion; diff --git a/Assets/VRM10/Tests/MigrationTests.cs b/Assets/VRM10/Tests/MigrationTests.cs index e60a69d51..5329888b6 100644 --- a/Assets/VRM10/Tests/MigrationTests.cs +++ b/Assets/VRM10/Tests/MigrationTests.cs @@ -54,9 +54,9 @@ namespace UniVRM10 var json = glb.Json.Bytes.ParseAsJson(); var gltf = UniGLTF.GltfDeserializer.Deserialize(json); - MigrationVrm.Check(vrm0Json, GetExtension(gltf.extensions, UniGLTF.Extensions.VRMC_vrm.VRMC_vrm.ExtensionNameUtf8, + MigrationVrm.Check(vrm0Json, GetExtension(gltf.extensions, UniGLTF.Extensions.VRMC_vrm.GltfDeserializer.ExtensionNameUtf8, UniGLTF.Extensions.VRMC_vrm.GltfDeserializer.Deserialize)); - MigrationVrm.Check(vrm0Json, GetExtension(gltf.extensions, UniGLTF.Extensions.VRMC_springBone.VRMC_springBone.ExtensionNameUtf8, + MigrationVrm.Check(vrm0Json, GetExtension(gltf.extensions, UniGLTF.Extensions.VRMC_springBone.GltfDeserializer.ExtensionNameUtf8, UniGLTF.Extensions.VRMC_springBone.GltfDeserializer.Deserialize), gltf.nodes); } From f25f249b294f5181a3b1f31f540895e0bb6d26e3 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Mon, 19 Apr 2021 13:42:34 +0900 Subject: [PATCH 3/5] remove dependency on UniGLTF from format --- .../UniGLTF/Editor/Generator/FormatWriter.cs | 1 - .../JsonSchema/Schemas/ExtensionJsonSchema.cs | 4 +-- .../Runtime/Format/Constraints/Format.g.cs | 21 +++++++------- .../Format/Constraints/Serializer.g.cs | 20 ++++++------- .../Runtime/Format/MaterialsMToon/Format.g.cs | 13 ++++----- .../Format/MaterialsMToon/Serializer.g.cs | 28 +++++++++---------- .../Runtime/Format/SpringBone/Format.g.cs | 13 ++++----- .../Runtime/Format/SpringBone/Serializer.g.cs | 12 ++++---- Assets/VRM10/Runtime/Format/Vrm/Format.g.cs | 17 ++++++----- .../VRM10/Runtime/Format/Vrm/Serializer.g.cs | 16 +++++------ 10 files changed, 70 insertions(+), 75 deletions(-) diff --git a/Assets/UniGLTF/Editor/Generator/FormatWriter.cs b/Assets/UniGLTF/Editor/Generator/FormatWriter.cs index 781625a2e..a50c8938e 100644 --- a/Assets/UniGLTF/Editor/Generator/FormatWriter.cs +++ b/Assets/UniGLTF/Editor/Generator/FormatWriter.cs @@ -177,7 +177,6 @@ namespace GenerateUniGLTFSerialization w.Write($@"// This file is generated from JsonSchema. Don't modify this source code. using System; using System.Collections.Generic; -using UniGLTF; namespace UniGLTF.Extensions.{rootName} diff --git a/Assets/UniGLTF/Editor/JsonSchema/Schemas/ExtensionJsonSchema.cs b/Assets/UniGLTF/Editor/JsonSchema/Schemas/ExtensionJsonSchema.cs index 11cd401e1..7a83dfdf9 100644 --- a/Assets/UniGLTF/Editor/JsonSchema/Schemas/ExtensionJsonSchema.cs +++ b/Assets/UniGLTF/Editor/JsonSchema/Schemas/ExtensionJsonSchema.cs @@ -9,7 +9,7 @@ namespace UniGLTF.JsonSchema.Schemas { } - public override string ValueType => "glTFExtension"; + public override string ValueType => "object"; public override bool IsInline => true; @@ -25,7 +25,7 @@ namespace UniGLTF.JsonSchema.Schemas public override string GenerateSerializerCall(string callName, string argName) { - return $"{argName}.Serialize(f)"; + return $"({argName} as glTFExtension).Serialize(f)"; } } } diff --git a/Assets/VRM10/Runtime/Format/Constraints/Format.g.cs b/Assets/VRM10/Runtime/Format/Constraints/Format.g.cs index f1e80baa7..a04baefed 100644 --- a/Assets/VRM10/Runtime/Format/Constraints/Format.g.cs +++ b/Assets/VRM10/Runtime/Format/Constraints/Format.g.cs @@ -1,7 +1,6 @@ // This file is generated from JsonSchema. Don't modify this source code. using System; using System.Collections.Generic; -using UniGLTF; namespace UniGLTF.Extensions.VRMC_node_constraint @@ -17,10 +16,10 @@ namespace UniGLTF.Extensions.VRMC_node_constraint public class PositionConstraint { // Dictionary object with extension-specific objects. - public glTFExtension Extensions; + public object Extensions; // Application-specific data. - public glTFExtension Extras; + public object Extras; // The user-defined name of this object. public string Name; @@ -46,10 +45,10 @@ namespace UniGLTF.Extensions.VRMC_node_constraint public class RotationConstraint { // Dictionary object with extension-specific objects. - public glTFExtension Extensions; + public object Extensions; // Application-specific data. - public glTFExtension Extras; + public object Extras; // The user-defined name of this object. public string Name; @@ -75,10 +74,10 @@ namespace UniGLTF.Extensions.VRMC_node_constraint public class AimConstraint { // Dictionary object with extension-specific objects. - public glTFExtension Extensions; + public object Extensions; // Application-specific data. - public glTFExtension Extras; + public object Extras; // The user-defined name of this object. public string Name; @@ -110,10 +109,10 @@ namespace UniGLTF.Extensions.VRMC_node_constraint public class Constraint { // Dictionary object with extension-specific objects. - public glTFExtension Extensions; + public object Extensions; // Application-specific data. - public glTFExtension Extras; + public object Extras; // A constraint that links the position with a source. public PositionConstraint Position; @@ -130,10 +129,10 @@ namespace UniGLTF.Extensions.VRMC_node_constraint public const string ExtensionName = "VRMC_node_constraint"; // Dictionary object with extension-specific objects. - public glTFExtension Extensions; + public object Extensions; // Application-specific data. - public glTFExtension Extras; + public object Extras; // Contains position, rotation, or aim public Constraint Constraint; diff --git a/Assets/VRM10/Runtime/Format/Constraints/Serializer.g.cs b/Assets/VRM10/Runtime/Format/Constraints/Serializer.g.cs index 35356e461..02b319f02 100644 --- a/Assets/VRM10/Runtime/Format/Constraints/Serializer.g.cs +++ b/Assets/VRM10/Runtime/Format/Constraints/Serializer.g.cs @@ -35,12 +35,12 @@ public static void Serialize(JsonFormatter f, VRMC_node_constraint value) if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(value.Constraint!=null){ @@ -58,12 +58,12 @@ public static void Serialize_Constraint(JsonFormatter f, Constraint value) if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(value.Position!=null){ @@ -91,12 +91,12 @@ public static void __constraint_Serialize_Position(JsonFormatter f, PositionCons if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(!string.IsNullOrEmpty(value.Name)){ @@ -151,12 +151,12 @@ public static void __constraint_Serialize_Rotation(JsonFormatter f, RotationCons if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(!string.IsNullOrEmpty(value.Name)){ @@ -211,12 +211,12 @@ public static void __constraint_Serialize_Aim(JsonFormatter f, AimConstraint val if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(!string.IsNullOrEmpty(value.Name)){ diff --git a/Assets/VRM10/Runtime/Format/MaterialsMToon/Format.g.cs b/Assets/VRM10/Runtime/Format/MaterialsMToon/Format.g.cs index f6b5d2f5b..4333dfe1f 100644 --- a/Assets/VRM10/Runtime/Format/MaterialsMToon/Format.g.cs +++ b/Assets/VRM10/Runtime/Format/MaterialsMToon/Format.g.cs @@ -1,7 +1,6 @@ // This file is generated from JsonSchema. Don't modify this source code. using System; using System.Collections.Generic; -using UniGLTF; namespace UniGLTF.Extensions.VRMC_materials_mtoon @@ -10,10 +9,10 @@ namespace UniGLTF.Extensions.VRMC_materials_mtoon public class TextureInfo { // Dictionary object with extension-specific objects. - public glTFExtension Extensions; + public object Extensions; // Application-specific data. - public glTFExtension Extras; + public object Extras; // The index of the texture. public int? Index; @@ -25,10 +24,10 @@ namespace UniGLTF.Extensions.VRMC_materials_mtoon public class ShadingShiftTextureInfo { // Dictionary object with extension-specific objects. - public glTFExtension Extensions; + public object Extensions; // Application-specific data. - public glTFExtension Extras; + public object Extras; // The index of the texture. public int? Index; @@ -53,10 +52,10 @@ namespace UniGLTF.Extensions.VRMC_materials_mtoon public const string ExtensionName = "VRMC_materials_mtoon"; // Dictionary object with extension-specific objects. - public glTFExtension Extensions; + public object Extensions; // Application-specific data. - public glTFExtension Extras; + public object Extras; // Meta public string Version; diff --git a/Assets/VRM10/Runtime/Format/MaterialsMToon/Serializer.g.cs b/Assets/VRM10/Runtime/Format/MaterialsMToon/Serializer.g.cs index b6e3369a2..397041fca 100644 --- a/Assets/VRM10/Runtime/Format/MaterialsMToon/Serializer.g.cs +++ b/Assets/VRM10/Runtime/Format/MaterialsMToon/Serializer.g.cs @@ -35,12 +35,12 @@ public static void Serialize(JsonFormatter f, VRMC_materials_mtoon value) if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(!string.IsNullOrEmpty(value.Version)){ @@ -185,12 +185,12 @@ public static void Serialize_ShadeMultiplyTexture(JsonFormatter f, TextureInfo v if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(value.Index.HasValue){ @@ -213,12 +213,12 @@ public static void Serialize_ShadingShiftTexture(JsonFormatter f, ShadingShiftTe if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(value.Index.HasValue){ @@ -246,12 +246,12 @@ public static void Serialize_MatcapTexture(JsonFormatter f, TextureInfo value) if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(value.Index.HasValue){ @@ -286,12 +286,12 @@ public static void Serialize_RimMultiplyTexture(JsonFormatter f, TextureInfo val if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(value.Index.HasValue){ @@ -314,12 +314,12 @@ public static void Serialize_OutlineWidthMultiplyTexture(JsonFormatter f, Textur if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(value.Index.HasValue){ @@ -354,12 +354,12 @@ public static void Serialize_UvAnimationMaskTexture(JsonFormatter f, TextureInfo if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(value.Index.HasValue){ diff --git a/Assets/VRM10/Runtime/Format/SpringBone/Format.g.cs b/Assets/VRM10/Runtime/Format/SpringBone/Format.g.cs index 1cab35b19..83442be36 100644 --- a/Assets/VRM10/Runtime/Format/SpringBone/Format.g.cs +++ b/Assets/VRM10/Runtime/Format/SpringBone/Format.g.cs @@ -1,7 +1,6 @@ // This file is generated from JsonSchema. Don't modify this source code. using System; using System.Collections.Generic; -using UniGLTF; namespace UniGLTF.Extensions.VRMC_springBone @@ -69,10 +68,10 @@ namespace UniGLTF.Extensions.VRMC_springBone public class SpringBoneJoint { // Dictionary object with extension-specific objects. - public glTFExtension Extensions; + public object Extensions; // Application-specific data. - public glTFExtension Extras; + public object Extras; // The node index. public int? Node; @@ -96,10 +95,10 @@ namespace UniGLTF.Extensions.VRMC_springBone public class Spring { // Dictionary object with extension-specific objects. - public glTFExtension Extensions; + public object Extensions; // Application-specific data. - public glTFExtension Extras; + public object Extras; // Name of the Spring public string Name; @@ -116,10 +115,10 @@ namespace UniGLTF.Extensions.VRMC_springBone public const string ExtensionName = "VRMC_springBone"; // Dictionary object with extension-specific objects. - public glTFExtension Extensions; + public object Extensions; // Application-specific data. - public glTFExtension Extras; + public object Extras; // An array of colliderGroups. public List ColliderGroups; diff --git a/Assets/VRM10/Runtime/Format/SpringBone/Serializer.g.cs b/Assets/VRM10/Runtime/Format/SpringBone/Serializer.g.cs index 38e423999..9f03bc2c3 100644 --- a/Assets/VRM10/Runtime/Format/SpringBone/Serializer.g.cs +++ b/Assets/VRM10/Runtime/Format/SpringBone/Serializer.g.cs @@ -35,12 +35,12 @@ public static void Serialize(JsonFormatter f, VRMC_springBone value) if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(value.ColliderGroups!=null&&value.ColliderGroups.Count()>=0){ @@ -255,12 +255,12 @@ public static void Serialize_Springs_ITEM(JsonFormatter f, Spring value) if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(!string.IsNullOrEmpty(value.Name)){ @@ -300,12 +300,12 @@ public static void __springs_ITEM_Serialize_Joints_ITEM(JsonFormatter f, SpringB if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(value.Node.HasValue){ diff --git a/Assets/VRM10/Runtime/Format/Vrm/Format.g.cs b/Assets/VRM10/Runtime/Format/Vrm/Format.g.cs index cd68e6472..f4f3f5437 100644 --- a/Assets/VRM10/Runtime/Format/Vrm/Format.g.cs +++ b/Assets/VRM10/Runtime/Format/Vrm/Format.g.cs @@ -1,7 +1,6 @@ // This file is generated from JsonSchema. Don't modify this source code. using System; using System.Collections.Generic; -using UniGLTF; namespace UniGLTF.Extensions.VRMC_vrm @@ -366,10 +365,10 @@ namespace UniGLTF.Extensions.VRMC_vrm public class MorphTargetBind { // Dictionary object with extension-specific objects. - public glTFExtension Extensions; + public object Extensions; // Application-specific data. - public glTFExtension Extras; + public object Extras; // The index of the node that attached to target mesh. public int? Node; @@ -394,10 +393,10 @@ namespace UniGLTF.Extensions.VRMC_vrm public class MaterialColorBind { // Dictionary object with extension-specific objects. - public glTFExtension Extensions; + public object Extensions; // Application-specific data. - public glTFExtension Extras; + public object Extras; // target material public int? Material; @@ -412,10 +411,10 @@ namespace UniGLTF.Extensions.VRMC_vrm public class TextureTransformBind { // Dictionary object with extension-specific objects. - public glTFExtension Extensions; + public object Extensions; // Application-specific data. - public glTFExtension Extras; + public object Extras; // target material public int? Material; @@ -438,10 +437,10 @@ namespace UniGLTF.Extensions.VRMC_vrm public class Expression { // Dictionary object with extension-specific objects. - public glTFExtension Extensions; + public object Extensions; // Application-specific data. - public glTFExtension Extras; + public object Extras; // Use only if the preset is custom. Unique within the model public string Name; diff --git a/Assets/VRM10/Runtime/Format/Vrm/Serializer.g.cs b/Assets/VRM10/Runtime/Format/Vrm/Serializer.g.cs index c5dc200a8..610fec3c9 100644 --- a/Assets/VRM10/Runtime/Format/Vrm/Serializer.g.cs +++ b/Assets/VRM10/Runtime/Format/Vrm/Serializer.g.cs @@ -1378,12 +1378,12 @@ public static void Serialize_Expressions_ITEM(JsonFormatter f, Expression value) if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(!string.IsNullOrEmpty(value.Name)){ @@ -1453,12 +1453,12 @@ public static void __expressions_ITEM_Serialize_MorphTargetBinds_ITEM(JsonFormat if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(value.Node.HasValue){ @@ -1498,12 +1498,12 @@ public static void __expressions_ITEM_Serialize_MaterialColorBinds_ITEM(JsonForm if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(value.Material.HasValue){ @@ -1555,12 +1555,12 @@ public static void __expressions_ITEM_Serialize_TextureTransformBinds_ITEM(JsonF if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(value.Material.HasValue){ From 1aa3b38a35dbb938970f46a4703d9dbf39361014 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Mon, 19 Apr 2021 13:59:03 +0900 Subject: [PATCH 4/5] =?UTF-8?q?EnumSerializationType=20=E6=8C=87=E5=AE=9A?= =?UTF-8?q?=E3=82=92=E9=99=A4=E5=8E=BB(Reflection=E7=94=A8=E3=81=AE?= =?UTF-8?q?=E5=8D=B0=E3=81=AA=E3=81=AE=E3=81=A7=E7=84=A1=E3=81=8F=E3=81=A6?= =?UTF-8?q?=E3=82=88=E3=81=84)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UniGLTF/Editor/Generator/FormatWriter.cs | 25 +------------------ .../Runtime/Format/Constraints/Format.g.cs | 6 ----- .../Runtime/Format/MaterialsMToon/Format.g.cs | 1 - 3 files changed, 1 insertion(+), 31 deletions(-) diff --git a/Assets/UniGLTF/Editor/Generator/FormatWriter.cs b/Assets/UniGLTF/Editor/Generator/FormatWriter.cs index a50c8938e..9fb9be3e9 100644 --- a/Assets/UniGLTF/Editor/Generator/FormatWriter.cs +++ b/Assets/UniGLTF/Editor/Generator/FormatWriter.cs @@ -19,29 +19,6 @@ namespace GenerateUniGLTFSerialization m_prefix = prefix; } - // static string UpperCamelCase(string src) - // { - // if(string.IsNullOrEmpty(src)) - // { - // return ""; - // } - // return src.Substring(0, 1).ToUpper() + src.Substring(1); - // } - - // string ClassName(string src) - // { - // if(string.IsNullOrEmpty(src)) - // { - // // root - // return m_prefix; - // } - // else{ - // return String.Join("", src.Split("__").Select(x => UpperCamelCase(x))); - // } - // } - - const string EnumStringAttr = "[JsonSchema(EnumSerializationType = EnumSerializationType.AsString)]"; - static (string, string) PropType(JsonSchemaBase schema) { switch (schema.JsonSchemaType) @@ -55,7 +32,7 @@ namespace GenerateUniGLTFSerialization return (null, schema.ValueType); case JsonSchemaType.EnumString: - return (EnumStringAttr, schema.ValueType); + return (null, schema.ValueType); } throw new NotImplementedException(); diff --git a/Assets/VRM10/Runtime/Format/Constraints/Format.g.cs b/Assets/VRM10/Runtime/Format/Constraints/Format.g.cs index a04baefed..0d3af20a9 100644 --- a/Assets/VRM10/Runtime/Format/Constraints/Format.g.cs +++ b/Assets/VRM10/Runtime/Format/Constraints/Format.g.cs @@ -28,11 +28,9 @@ namespace UniGLTF.Extensions.VRMC_node_constraint public int? Source; // The source node will be evaluated in this space. - [JsonSchema(EnumSerializationType = EnumSerializationType.AsString)] public ObjectSpace SourceSpace; // The destination node will be evaluated in this space. - [JsonSchema(EnumSerializationType = EnumSerializationType.AsString)] public ObjectSpace DestinationSpace; // Axes be constrained by this constraint, in X-Y-Z order. @@ -57,11 +55,9 @@ namespace UniGLTF.Extensions.VRMC_node_constraint public int? Source; // The source node will be evaluated in this space. - [JsonSchema(EnumSerializationType = EnumSerializationType.AsString)] public ObjectSpace SourceSpace; // The destination node will be evaluated in this space. - [JsonSchema(EnumSerializationType = EnumSerializationType.AsString)] public ObjectSpace DestinationSpace; // Axes be constrained by this constraint, in X-Y-Z order. @@ -86,11 +82,9 @@ namespace UniGLTF.Extensions.VRMC_node_constraint public int? Source; // The source node will be evaluated in this space. - [JsonSchema(EnumSerializationType = EnumSerializationType.AsString)] public ObjectSpace SourceSpace; // The destination node will be evaluated in this space. - [JsonSchema(EnumSerializationType = EnumSerializationType.AsString)] public ObjectSpace DestinationSpace; // An axis which faces the direction of its source. diff --git a/Assets/VRM10/Runtime/Format/MaterialsMToon/Format.g.cs b/Assets/VRM10/Runtime/Format/MaterialsMToon/Format.g.cs index 4333dfe1f..91a660a4d 100644 --- a/Assets/VRM10/Runtime/Format/MaterialsMToon/Format.g.cs +++ b/Assets/VRM10/Runtime/Format/MaterialsMToon/Format.g.cs @@ -94,7 +94,6 @@ namespace UniGLTF.Extensions.VRMC_materials_mtoon public float? ParametricRimLiftFactor; // Outline - [JsonSchema(EnumSerializationType = EnumSerializationType.AsString)] public OutlineWidthMode OutlineWidthMode; public float? OutlineWidthFactor; From 871f57e8fda53983e66628cc8ddf21e646726ebc Mon Sep 17 00:00:00 2001 From: ousttrue Date: Thu, 6 May 2021 16:30:46 +0900 Subject: [PATCH 5/5] regenerate --- Assets/VRM10/Runtime/Format/SpringBone/Format.g.cs | 12 ++++++------ .../VRM10/Runtime/Format/SpringBone/Serializer.g.cs | 12 ++++++------ Assets/VRM10/Runtime/Format/Vrm/Format.g.cs | 11 ----------- 3 files changed, 12 insertions(+), 23 deletions(-) diff --git a/Assets/VRM10/Runtime/Format/SpringBone/Format.g.cs b/Assets/VRM10/Runtime/Format/SpringBone/Format.g.cs index 83442be36..122860d74 100644 --- a/Assets/VRM10/Runtime/Format/SpringBone/Format.g.cs +++ b/Assets/VRM10/Runtime/Format/SpringBone/Format.g.cs @@ -30,10 +30,10 @@ namespace UniGLTF.Extensions.VRMC_springBone public class ColliderShape { // Dictionary object with extension-specific objects. - public glTFExtension Extensions; + public object Extensions; // Application-specific data. - public glTFExtension Extras; + public object Extras; public ColliderShapeSphere Sphere; @@ -43,10 +43,10 @@ namespace UniGLTF.Extensions.VRMC_springBone public class Collider { // Dictionary object with extension-specific objects. - public glTFExtension Extensions; + public object Extensions; // Application-specific data. - public glTFExtension Extras; + public object Extras; // The node index. public int? Node; @@ -57,10 +57,10 @@ namespace UniGLTF.Extensions.VRMC_springBone public class ColliderGroup { // Dictionary object with extension-specific objects. - public glTFExtension Extensions; + public object Extensions; // Application-specific data. - public glTFExtension Extras; + public object Extras; public List Colliders; } diff --git a/Assets/VRM10/Runtime/Format/SpringBone/Serializer.g.cs b/Assets/VRM10/Runtime/Format/SpringBone/Serializer.g.cs index 9f03bc2c3..ef63c1cd2 100644 --- a/Assets/VRM10/Runtime/Format/SpringBone/Serializer.g.cs +++ b/Assets/VRM10/Runtime/Format/SpringBone/Serializer.g.cs @@ -75,12 +75,12 @@ public static void Serialize_ColliderGroups_ITEM(JsonFormatter f, ColliderGroup if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(value.Colliders!=null&&value.Colliders.Count()>=0){ @@ -110,12 +110,12 @@ public static void __colliderGroups_ITEM_Serialize_Colliders_ITEM(JsonFormatter if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(value.Node.HasValue){ @@ -138,12 +138,12 @@ public static void __colliderGroups_ITEM__colliders_ITEM_Serialize_Shape(JsonFor if(value.Extensions!=null){ f.Key("extensions"); - value.Extensions.Serialize(f); + (value.Extensions as glTFExtension).Serialize(f); } if(value.Extras!=null){ f.Key("extras"); - value.Extras.Serialize(f); + (value.Extras as glTFExtension).Serialize(f); } if(value.Sphere!=null){ diff --git a/Assets/VRM10/Runtime/Format/Vrm/Format.g.cs b/Assets/VRM10/Runtime/Format/Vrm/Format.g.cs index f4f3f5437..22167bc20 100644 --- a/Assets/VRM10/Runtime/Format/Vrm/Format.g.cs +++ b/Assets/VRM10/Runtime/Format/Vrm/Format.g.cs @@ -65,7 +65,6 @@ namespace UniGLTF.Extensions.VRMC_vrm public int? ThumbnailImage; // A person who can perform with this avatars - [JsonSchema(EnumSerializationType = EnumSerializationType.AsString)] public AvatarPermissionType AvatarPermission; // A flag that permits to use this avatar in excessively violent contents @@ -75,21 +74,18 @@ namespace UniGLTF.Extensions.VRMC_vrm public bool? AllowExcessivelySexualUsage; // An option that permits to use this avatar in commercial products - [JsonSchema(EnumSerializationType = EnumSerializationType.AsString)] public CommercialUsageType CommercialUsage; // A flag that permits to use this avatar in political or religious contents public bool? AllowPoliticalOrReligiousUsage; // An option that forces or abandons to display the credit of this avatar - [JsonSchema(EnumSerializationType = EnumSerializationType.AsString)] public CreditNotationType CreditNotation; // A flag that permits to redistribute this avatar public bool? AllowRedistribution; // An option that controls the condition to modify this avatar - [JsonSchema(EnumSerializationType = EnumSerializationType.AsString)] public ModificationType Modification; // Describe the URL links of other license @@ -291,7 +287,6 @@ namespace UniGLTF.Extensions.VRMC_vrm public int? Node; // How the camera interprets the mesh. - [JsonSchema(EnumSerializationType = EnumSerializationType.AsString)] public FirstPersonType Type; } @@ -322,7 +317,6 @@ namespace UniGLTF.Extensions.VRMC_vrm // The origin of LookAt. Position offset from the head bone public float[] OffsetFromHeadBone; - [JsonSchema(EnumSerializationType = EnumSerializationType.AsString)] public LookAtType Type; // Horizontal inward movement. The left eye moves right. The right eye moves left. @@ -401,7 +395,6 @@ namespace UniGLTF.Extensions.VRMC_vrm // target material public int? Material; - [JsonSchema(EnumSerializationType = EnumSerializationType.AsString)] public MaterialColorType Type; // target color @@ -446,7 +439,6 @@ namespace UniGLTF.Extensions.VRMC_vrm public string Name; // Functions of Expression - [JsonSchema(EnumSerializationType = EnumSerializationType.AsString)] public ExpressionPreset Preset; // Specify a morph target @@ -462,15 +454,12 @@ namespace UniGLTF.Extensions.VRMC_vrm public bool? IsBinary; // Override values of Blink expressions when this Expression is enabled - [JsonSchema(EnumSerializationType = EnumSerializationType.AsString)] public ExpressionOverrideType OverrideBlink; // Override values of LookAt expressions when this Expression is enabled - [JsonSchema(EnumSerializationType = EnumSerializationType.AsString)] public ExpressionOverrideType OverrideLookAt; // Override values of Mouth expressions when this Expression is enabled - [JsonSchema(EnumSerializationType = EnumSerializationType.AsString)] public ExpressionOverrideType OverrideMouth; }