メインコンテンツまでスキップ

VRM.VrmUtility

VRM-0.x importer

vrm-1.0 として load することができます

vrm-1.0

  • canLoadVrm0X

LoadAsync

ファイルパス(文字列)からロードします。

Task<RuntimeGltfInstance> VrmUtility.LoadAsync(
string path,
IAwaitCaller awaitCaller = null,
MaterialGeneratorCallback materialGeneratorCallback = null,
MetaCallback metaCallback = null,
ITextureDeserializer textureDeserializer = null,
bool loadAnimation = false
)

仕様例

var vrm = await VrmUtility.LoadBytesAsync(path);

return: RuntimeGltfInstance

RuntimeGltfInstance

awaitCaller: 非同期の制御

await しない場合は以下のようにしてください。 ImmediateCaller により内部の await が即時実行されるので、 完了済みの Task が返ります。

var task = VrmUtility.LoadAsync(vrm_path, new ImmediateCaller());
var vrm = task.Value;

advanced materialGeneratorCallback

metaCallback: metaを受けます

public delegate void MetaCallback(VRMMetaObject meta);

advanced textureDeserializer

no spec loadAnimation

注記

vrmとしては仕様がありません。 glbとしてAnimationClipを生成。

https://github.com/vrm-c/UniVRM/pull/1719

LoadBytesAsync

バイト列からロードします。 オプションは LoadAsync と同じです。

Task<RuntimeGltfInstance> VrmUtility.LoadBytesAsync(
string path,
byte[] bytes,
IAwaitCaller awaitCaller = null,
MaterialGeneratorCallback materialGeneratorCallback = null,
MetaCallback metaCallback = null,
ITextureDeserializer textureDeserializer = null,
bool loadAnimation = false,
IVrm0XSpringBoneRuntime springboneRuntime = null
)