mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-08-27 21:34:38 -05:00
update JsonSchema to VRM-1.0beta
This commit is contained in:
@@ -47,6 +47,8 @@ namespace UniVRM10
|
||||
}
|
||||
}
|
||||
|
||||
const string SPEC_DIR = "vrm-specification/specification";
|
||||
|
||||
static void Run(bool debug)
|
||||
{
|
||||
var projectRoot = new DirectoryInfo(Path.GetFullPath(Path.Combine(Application.dataPath, "../")));
|
||||
@@ -57,32 +59,32 @@ namespace UniVRM10
|
||||
{
|
||||
// VRMC_hdr_emissiveMultiplier
|
||||
new GenerateInfo(
|
||||
"vrm-specification/specification/VRMC_materials_hdr_emissiveMultiplier-1.0_draft/schema/VRMC_materials_hdr_emissiveMultiplier.json",
|
||||
$"{SPEC_DIR}/VRMC_materials_hdr_emissiveMultiplier-1.0/schema/VRMC_materials_hdr_emissiveMultiplier.json",
|
||||
"Assets/UniGLTF/Runtime/UniGLTF/Format/ExtensionsAndExtras/EmissiveMultiplier"
|
||||
),
|
||||
|
||||
// VRMC_vrm
|
||||
new GenerateInfo(
|
||||
"vrm-specification/specification/VRMC_vrm-1.0_draft/schema/VRMC_vrm.schema.json",
|
||||
$"{SPEC_DIR}/VRMC_vrm-1.0-beta/schema/VRMC_vrm.schema.json",
|
||||
"Assets/VRM10/Runtime/Format/Vrm"
|
||||
),
|
||||
|
||||
// VRMC_materials_mtoon
|
||||
new GenerateInfo(
|
||||
"vrm-specification/specification/VRMC_materials_mtoon-1.0_draft/schema/VRMC_materials_mtoon.schema.json",
|
||||
$"{SPEC_DIR}/VRMC_materials_mtoon-1.0-beta/schema/VRMC_materials_mtoon.schema.json",
|
||||
"Assets/VRMShaders/VRM10/Format/Runtime/MaterialsMToon",
|
||||
"Assets/VRM10/Runtime/Format/MaterialsMToon"
|
||||
),
|
||||
|
||||
// VRMC_springBone
|
||||
new GenerateInfo(
|
||||
"vrm-specification/specification/VRMC_springBone-1.0_draft/schema/VRMC_springBone.schema.json",
|
||||
$"{SPEC_DIR}/VRMC_springBone-1.0-beta/schema/VRMC_springBone.schema.json",
|
||||
"Assets/VRM10/Runtime/Format/SpringBone"
|
||||
),
|
||||
|
||||
// VRMC_node_constraint
|
||||
new GenerateInfo(
|
||||
"vrm-specification/specification/VRMC_node_constraint-1.0_draft/schema/VRMC_node_constraint.schema.json",
|
||||
$"{SPEC_DIR}/VRMC_node_constraint-1.0_draft/schema/VRMC_node_constraint.schema.json",
|
||||
"Assets/VRM10/Runtime/Format/Constraints"
|
||||
),
|
||||
};
|
||||
|
||||
@@ -87,8 +87,13 @@ public static VRMC_materials_mtoon Deserialize(JsonNode parsed)
|
||||
continue;
|
||||
}
|
||||
|
||||
if(key=="giIntensityFactor"){
|
||||
value.GiIntensityFactor = kv.Value.GetSingle();
|
||||
if(key=="giEqualizationFactor"){
|
||||
value.GiEqualizationFactor = kv.Value.GetSingle();
|
||||
continue;
|
||||
}
|
||||
|
||||
if(key=="matcapFactor"){
|
||||
value.MatcapFactor = Deserialize_MatcapFactor(kv.Value);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -251,6 +256,17 @@ public static ShadingShiftTextureInfo Deserialize_ShadingShiftTexture(JsonNode p
|
||||
return value;
|
||||
}
|
||||
|
||||
public static float[] Deserialize_MatcapFactor(JsonNode parsed)
|
||||
{
|
||||
var value = new float[parsed.GetArrayCount()];
|
||||
int i=0;
|
||||
foreach(var x in parsed.ArrayItems())
|
||||
{
|
||||
value[i++] = x.GetSingle();
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
public static TextureInfo Deserialize_MatcapTexture(JsonNode parsed)
|
||||
{
|
||||
var value = new TextureInfo();
|
||||
|
||||
@@ -83,9 +83,14 @@ public static void Serialize(JsonFormatter f, VRMC_materials_mtoon value)
|
||||
f.Value(value.ShadingToonyFactor.GetValueOrDefault());
|
||||
}
|
||||
|
||||
if(value.GiIntensityFactor.HasValue){
|
||||
f.Key("giIntensityFactor");
|
||||
f.Value(value.GiIntensityFactor.GetValueOrDefault());
|
||||
if(value.GiEqualizationFactor.HasValue){
|
||||
f.Key("giEqualizationFactor");
|
||||
f.Value(value.GiEqualizationFactor.GetValueOrDefault());
|
||||
}
|
||||
|
||||
if(value.MatcapFactor!=null&&value.MatcapFactor.Count()>=3){
|
||||
f.Key("matcapFactor");
|
||||
Serialize_MatcapFactor(f, value.MatcapFactor);
|
||||
}
|
||||
|
||||
if(value.MatcapTexture!=null){
|
||||
@@ -239,6 +244,18 @@ public static void Serialize_ShadingShiftTexture(JsonFormatter f, ShadingShiftTe
|
||||
f.EndMap();
|
||||
}
|
||||
|
||||
public static void Serialize_MatcapFactor(JsonFormatter f, float[] value)
|
||||
{
|
||||
f.BeginList();
|
||||
|
||||
foreach(var item in value)
|
||||
{
|
||||
f.Value(item);
|
||||
|
||||
}
|
||||
f.EndList();
|
||||
}
|
||||
|
||||
public static void Serialize_MatcapTexture(JsonFormatter f, TextureInfo value)
|
||||
{
|
||||
f.BeginMap();
|
||||
|
||||
@@ -84,7 +84,7 @@ namespace UniVRM10
|
||||
|
||||
// GI
|
||||
// TODO: update schema
|
||||
mtoon.GiIntensityFactor = context.GiEqualizationFactor;
|
||||
mtoon.GiEqualizationFactor = context.GiEqualizationFactor;
|
||||
|
||||
// Emission
|
||||
dst.emissiveFactor = context.EmissiveFactorLinear.ToFloat3(ColorSpace.Linear, ColorSpace.Linear);
|
||||
|
||||
@@ -161,7 +161,7 @@ namespace UniVRM10
|
||||
}
|
||||
|
||||
// GI
|
||||
var giEqualization = mToon?.GiIntensityFactor;
|
||||
var giEqualization = mToon?.GiEqualizationFactor;
|
||||
if (giEqualization.HasValue)
|
||||
{
|
||||
// TODO: Update schema
|
||||
|
||||
@@ -463,7 +463,7 @@ namespace UniVRM10
|
||||
);
|
||||
|
||||
// GI
|
||||
dst.GiIntensityFactor = MToon10Migrator.MigrateToGiEqualization(mtoon.Definition.Lighting.LightingInfluence.GiIntensityValue);
|
||||
dst.GiEqualizationFactor = MToon10Migrator.MigrateToGiEqualization(mtoon.Definition.Lighting.LightingInfluence.GiIntensityValue);
|
||||
|
||||
// Emission
|
||||
gltfMaterial.emissiveFactor = mtoon.Definition.Emission.EmissionColor.ToFloat3(ColorSpace.Linear, ColorSpace.Linear);
|
||||
|
||||
@@ -77,7 +77,9 @@ namespace UniGLTF.Extensions.VRMC_materials_mtoon
|
||||
|
||||
public float? ShadingToonyFactor;
|
||||
|
||||
public float? GiIntensityFactor;
|
||||
public float? GiEqualizationFactor;
|
||||
|
||||
public float[] MatcapFactor;
|
||||
|
||||
// MatCap
|
||||
public TextureInfo MatcapTexture;
|
||||
|
||||
Submodule vrm-specification updated: a099e8de01...04e3bb2525
Reference in New Issue
Block a user