schema からシリアライザを生成

This commit is contained in:
Masataka SUMI
2021-02-18 20:07:22 +09:00
parent cfa276c211
commit 9a2017c6f9
4 changed files with 36 additions and 23 deletions

View File

@@ -73,6 +73,16 @@ public static Spring Deserialize_Springs_ITEM(JsonNode parsed)
{
var key = kv.Key.GetString();
if(key=="extensions"){
value.Extensions = new glTFExtensionImport(kv.Value);
continue;
}
if(key=="extras"){
value.Extras = new glTFExtensionImport(kv.Value);
continue;
}
if(key=="name"){
value.Name = kv.Value.GetString();
continue;
@@ -150,11 +160,6 @@ public static SpringBoneJoint Deserialize_Joints_ITEM(JsonNode parsed)
continue;
}
if(key=="exclude"){
value.Exclude = kv.Value.GetBoolean();
continue;
}
}
return value;
}

View File

@@ -32,20 +32,23 @@ namespace UniGLTF.Extensions.VRMC_springBone
// Air resistance. Deceleration force.
public float? DragForce;
// When enabled, this joint will skip Spring processing.
public bool? Exclude;
}
public class Spring
{
// Dictionary object with extension-specific objects.
public glTFExtension Extensions;
// Application-specific data.
public glTFExtension Extras;
// Name of the Spring
public string Name;
// Joints in this spring. Except for the first element, the parent of the element must be the previous element of the array
// Joints of the spring. Except for the first element, a previous joint of the array must be an ancestor of the joint.
public List<SpringBoneJoint> Joints;
// Colliders that detect collision with nodes start from springRoot
// Colliders that detect collision with this spring.
public int[] Colliders;
}

View File

@@ -68,6 +68,16 @@ public static void Serialize_Springs_ITEM(JsonFormatter f, Spring value)
f.BeginMap();
if(value.Extensions!=null){
f.Key("extensions");
value.Extensions.Serialize(f);
}
if(value.Extras!=null){
f.Key("extras");
value.Extras.Serialize(f);
}
if(!string.IsNullOrEmpty(value.Name)){
f.Key("name");
f.Value(value.Name);
@@ -143,11 +153,6 @@ public static void Serialize_Joints_ITEM(JsonFormatter f, SpringBoneJoint value)
f.Value(value.DragForce.GetValueOrDefault());
}
if(value.Exclude.HasValue){
f.Key("exclude");
f.Value(value.Exclude.GetValueOrDefault());
}
f.EndMap();
}

View File

@@ -305,7 +305,7 @@ namespace UniGLTF.Extensions.VRMC_vrm
public enum LookAtType
{
bone,
blendShape,
expression,
}
@@ -342,23 +342,23 @@ namespace UniGLTF.Extensions.VRMC_vrm
public enum ExpressionPreset
{
custom,
happy,
angry,
sad,
relaxed,
surprised,
aa,
ih,
ou,
ee,
oh,
blink,
happy,
angry,
sad,
relaxed,
blinkLeft,
blinkRight,
lookUp,
surprised,
lookDown,
lookLeft,
lookRight,
blinkLeft,
blinkRight,
neutral,
}