mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-09-08 20:08:53 -05:00
Merge pull request #886 from ousttrue/feature10/generated_format_dependency
[1.0]ジェネレーターの生成コード(Format)からUniJSON, UniGLTF依存を除去
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
@@ -81,7 +58,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();
|
||||
}
|
||||
|
||||
@@ -178,8 +154,7 @@ namespace GenerateUniGLTFSerialization
|
||||
w.Write($@"// This file is generated from JsonSchema. Don't modify this source code.
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UniGLTF;
|
||||
using UniJSON;
|
||||
|
||||
|
||||
namespace UniGLTF.Extensions.{rootName}
|
||||
{{
|
||||
|
||||
@@ -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)";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,18 +7,15 @@ namespace UniVRM10
|
||||
/// <summary>
|
||||
/// 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` しておくこと。
|
||||
///
|
||||
/// </summary>
|
||||
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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
// This file is generated from JsonSchema. Don't modify this source code.
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UniGLTF;
|
||||
using UniJSON;
|
||||
|
||||
|
||||
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;
|
||||
@@ -29,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.
|
||||
@@ -46,10 +43,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;
|
||||
@@ -58,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.
|
||||
@@ -75,10 +70,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;
|
||||
@@ -87,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.
|
||||
@@ -110,10 +103,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;
|
||||
@@ -128,13 +121,12 @@ 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;
|
||||
public object Extensions;
|
||||
|
||||
// Application-specific data.
|
||||
public glTFExtension Extras;
|
||||
public object Extras;
|
||||
|
||||
// Contains position, rotation, or aim
|
||||
public Constraint Constraint;
|
||||
|
||||
@@ -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)){
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
// This file is generated from JsonSchema. Don't modify this source code.
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UniGLTF;
|
||||
using UniJSON;
|
||||
|
||||
|
||||
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;
|
||||
@@ -51,13 +50,12 @@ 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;
|
||||
public object Extensions;
|
||||
|
||||
// Application-specific data.
|
||||
public glTFExtension Extras;
|
||||
public object Extras;
|
||||
|
||||
// Meta
|
||||
public string Version;
|
||||
@@ -96,7 +94,6 @@ namespace UniGLTF.Extensions.VRMC_materials_mtoon
|
||||
public float? ParametricRimLiftFactor;
|
||||
|
||||
// Outline
|
||||
[JsonSchema(EnumSerializationType = EnumSerializationType.AsString)]
|
||||
public OutlineWidthMode OutlineWidthMode;
|
||||
|
||||
public float? OutlineWidthFactor;
|
||||
|
||||
@@ -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){
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
// This file is generated from JsonSchema. Don't modify this source code.
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UniGLTF;
|
||||
using UniJSON;
|
||||
|
||||
|
||||
namespace UniGLTF.Extensions.VRMC_springBone
|
||||
{
|
||||
@@ -31,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;
|
||||
|
||||
@@ -44,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;
|
||||
@@ -58,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<Collider> Colliders;
|
||||
}
|
||||
@@ -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;
|
||||
@@ -114,13 +113,12 @@ 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;
|
||||
public object Extensions;
|
||||
|
||||
// Application-specific data.
|
||||
public glTFExtension Extras;
|
||||
public object Extras;
|
||||
|
||||
// An array of colliderGroups.
|
||||
public List<ColliderGroup> ColliderGroups;
|
||||
|
||||
@@ -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){
|
||||
@@ -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){
|
||||
@@ -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){
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
// This file is generated from JsonSchema. Don't modify this source code.
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UniGLTF;
|
||||
using UniJSON;
|
||||
|
||||
|
||||
namespace UniGLTF.Extensions.VRMC_vrm
|
||||
{
|
||||
@@ -66,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
|
||||
@@ -76,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
|
||||
@@ -292,7 +287,6 @@ namespace UniGLTF.Extensions.VRMC_vrm
|
||||
public int? Node;
|
||||
|
||||
// How the camera interprets the mesh.
|
||||
[JsonSchema(EnumSerializationType = EnumSerializationType.AsString)]
|
||||
public FirstPersonType Type;
|
||||
}
|
||||
|
||||
@@ -323,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.
|
||||
@@ -366,10 +359,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,15 +387,14 @@ 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;
|
||||
|
||||
[JsonSchema(EnumSerializationType = EnumSerializationType.AsString)]
|
||||
public MaterialColorType Type;
|
||||
|
||||
// target color
|
||||
@@ -412,10 +404,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,16 +430,15 @@ 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;
|
||||
|
||||
// Functions of Expression
|
||||
[JsonSchema(EnumSerializationType = EnumSerializationType.AsString)]
|
||||
public ExpressionPreset Preset;
|
||||
|
||||
// Specify a morph target
|
||||
@@ -463,22 +454,18 @@ 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;
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
@@ -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){
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user