RuntimeLoad¶
Assets\VRM10\Samples\VRM10Viewer\VRM10ViewerUI.cs
RuntimeLoad¶
Vrm10Instance vrm10Instance = await Vrm10.LoadPathAsync(path);
Migration(VRM-0 to VRM-1)¶
VRM-1.0
can also read VRM-0.x
. In that case a conversion to the new meta occurs and all incompatible partsHas a value of disallowed
. You can access your pre-converted licenses.
See also the sample Assets\VRM10\Samples\VRM10Viewer\VRM10ViewerUI.cs
.
async Task<Vrm10Instance> LoadAsync(string path)
{
GltfData data = new AutoGltfFileParser(path).Parse();
// doMigrate: true で旧バージョンの vrm をロードできます。
if (Vrm10Data.TryParseOrMigrate(data, doMigrate: true, out Vrm10Data vrm))
{
// vrm
using (var loader = new Vrm10Importer(vrm))
{
// migrate しても thumbnail は同じ
var thumbnail = await loader.LoadVrmThumbnailAsync();
if (vrm.OriginalMetaBeforeMigration != null)
{
// migrated from vrm-0.x. use OriginalMetaBeforeMigration
UpdateMeta(vrm.OriginalMetaBeforeMigration, thumbnail);
}
else
{
// load vrm-1.0. use newMeta
UpdateMeta(vrm.VrmExtension.Meta, thumbnail);
}
// モデルをロード
RuntimeGltfInstance instance = await loader.LoadAsync();
return instance.GetComponent<Vrm10Instance>();
}
}
else{
throw new Exception("not vrm");
}
}