diff --git a/Assets/VRM10/Runtime/IO/Vrm10Data.cs b/Assets/VRM10/Runtime/IO/Vrm10Data.cs
index b5fffaec1..6e38ca237 100644
--- a/Assets/VRM10/Runtime/IO/Vrm10Data.cs
+++ b/Assets/VRM10/Runtime/IO/Vrm10Data.cs
@@ -18,19 +18,38 @@ namespace UniVRM10
{
public GltfData Data { get; }
public UniGLTF.Extensions.VRMC_vrm.VRMC_vrm VrmExtension { get; }
- public readonly Migration.Vrm0Meta OriginalMetaBeforeMigration;
+
+ ///
+ /// TryParse した元のファイルの種類。元が vrm0 だったか分かる
+ ///
public readonly Vrm10FileType FileType;
+
+ ///
+ /// マイグレーション失敗など
+ ///
public readonly String Message;
- public byte[] MigratedBytes;
+ ///
+ /// vrm0 からマイグレーションした場合に、vrm0 版の meta 情報
+ ///
+ public readonly Migration.Vrm0Meta OriginalMetaBeforeMigration;
- public Vrm10Data(GltfData data, VRMC_vrm vrm, Vrm10FileType fileType, string message, Migration.Vrm0Meta oldMeta = null)
+ ///
+ /// Migration した結果のバイト列(デバッグ用)
+ ///
+ public readonly byte[] MigratedBytes;
+
+ Vrm10Data(GltfData data, VRMC_vrm vrm, Vrm10FileType fileType, string message,
+ Migration.Vrm0Meta oldMeta = null,
+ byte[] migratedBytes = null)
{
Data = data;
VrmExtension = vrm;
FileType = fileType;
Message = message;
+
OriginalMetaBeforeMigration = oldMeta;
+ MigratedBytes = migratedBytes;
}
public static bool TryParseOrMigrate(string path, bool doMigrate, out Vrm10Data result)
@@ -119,14 +138,19 @@ namespace UniVRM10
{
throw new NullReferenceException("oldMeta");
}
- result = new Vrm10Data(migratedData, vrm, Vrm10FileType.Vrm0, "vrm0: migrated", oldMeta);
-
+ byte[] migratedBytes = null;
if (VRMShaders.Symbols.VRM_DEVELOP)
{
// 右手左手座標変換でバッファが破壊的変更されるので、コピーを作っている
- result.MigratedBytes = migrated.Select(x => x).ToArray();
+ migratedBytes = migrated.Select(x => x).ToArray();
}
+ result = new Vrm10Data(migratedData, vrm, Vrm10FileType.Vrm0,
+ message: "vrm0: migrated",
+ oldMeta: oldMeta,
+ migratedBytes: migratedBytes
+ );
+
return true;
}