VRM - humanoid 3d avatar format for VR

VRMモデルを実行時にインポートする

Unityで実行時にモデルをインポートする方法です。

ファイルパスからVRMを開く

var path="sample.vrm";
var go=VRM.VRMImporter.LoadFromPath(path);
Debug.LogFormat("loaded {0}", go.name);

ファイルパスから非同期にVRMを開く

var path="sample.vrm";
VRMImporter.LoadVrmAsync(path, go => {
    Debug.LogFormat("loaded {0}", go.name);
});

バイト列からVRM開く

var path="sample.vrm";
var bytes = File.ReadAllBytes(path);
var go=VRMImporter.LoadFromBytes(bytes);

バイト列から非同期にVRMを開く

VRMImporter.LoadVrmAsync(bytes, go => {
    Debug.LogFormat("loaded {0}", go.name);
});

VRMから情報を取り出す

var path="sample.vrm";
var bytes = File.ReadAllBytes(path);

var context = new VRMImporterContext(path);

// GLB形式でJSONを取得しParseします
var dataChunk = context.ParseVrm(bytes);

// GLTFにアクセスできます
Debug.LogFormat("{0}", context.VRM);

// ParseしたJSONをシーンオブジェクトに変換していく
if (m_loadAsync)
{
     VRMImporter.LoadVrmAsync(context, dataChunk, go=> {
        Debug.LogFormat("loaded {0}", go.name);
    });
}
else
{
    var go=VRMImporter.LoadFromBytes(context, dataChunk);
    Debug.LogFormat("loaded {0}", go.name);
}
VRM - humanoid 3d avatar format for VR