using UniJSON;
namespace UniVRM10
{
internal static class MigrateVector3
{
///
/// VRM0は本来 (x, y, -z) と座標変換するべきところをしていない。
/// 一方 VRM1 は (-x, y, z) と座標変換するように仕様を変更した。
///
/// VRM0 => VRM1 の変換では、 (-x, y, z) する。
///
///
///
public static float[] Migrate(JsonNode vrm0)
{
return new float[]
{
-vrm0["x"].GetSingle(),
vrm0["y"].GetSingle(),
vrm0["z"].GetSingle(),
};
}
public static float[] Migrate(JsonNode parent, string key)
{
if (!parent.ContainsKey(key))
{
return new float[] { 0, 0, 0 };
}
return Migrate(parent[key]);
}
}
}