UniVRM10.Vrm10
VRM-1.0 importer
Assets/VRM10/Runtime/IO/Vrm10.cs
LoadPathAsync
ファイルパス(文字列)からロードします。
Task<Vrm10Instance> Vrm10.LoadPathAsync(
string path,
bool canLoadVrm0X = true,
ControlRigGenerationOption controlRigGenerationOption = ControlRigGenerationOption.Generate,
bool showMeshes = true,
IAwaitCaller awaitCaller = null,
ITextureDeserializer textureDeserializer = null,
IMaterialDescriptorGenerator materialGenerator = null,
VrmMetaInformationCallback vrmMetaInformationCallback = null,
CancellationToken ct = default(CancellationToken),
ImporterContextSettings importerContextSettings = null,
IVrm10SpringBoneRuntime springboneRuntime = null
)
仕様例
var vrm = await Vrm10.LoadPathAsync(vrm_path);
sample の仕様例
return: Vrm10Instance
canLoadVrm0X: vrm-0.x をマイグレートするか?
true
の場合(default) vrm-0.x は vrm-1.0 に変換してロードされます。
vrm-0.x とアタッチされるコンポーネントが異なります。
controlRigGenerationOption: ControlRig を生成するか?
unity の humanoid を経由せずに直接操作する場合のユーティリティーです。
showMeshes: Load完了時に表示させるか
awaitCaller: 非同期の制御
await
しない場合は以下のようにしてください。
ImmediateCaller
により内部の await が即時実行されるので、
完了済みの Task が返ります。
var task = Vrm10.LoadPathAsync(vrm_path, new ImmediateCaller());
var vrm = task.Value;
advanced
textureDeserializer: テクスチャーの生成のカスタマイズ
ktx で使われます。
advanced
materialGenerator: マテリアル生成のカスタマイズ
デフォルトとは別のマテリアルをロードすることができます。
URPとBuiltin-RPは自動でスイッチするようになりました
vrmMetaInformationCallback: meta情報を取得
0.xからマイグレートした場合は、0.xの方のmetaを取得します。
public delegate void VrmMetaInformationCallback(
Texture2D thumbnail,
UniGLTF.Extensions.VRMC_vrm.Meta vrm10Meta,
Migration.Vrm0Meta vrm0Meta
);
TODO
CancellationToken: async のキャンセル実装
未実装
advanced
importerContextSettings: その他のオプション
public class ImporterContextSettings
{
public bool LoadAnimation { get; }
public Axes InvertAxis { get; }
}
springboneRuntime: SpringBone の Runtime 選択
LoadBytesAsync
バイト列からロードします。 オプションは LoadPathAsync と同じです。
Task<Vrm10Instance> Vrm10.LoadBytesAsync(
byte[] bytes,
bool canLoadVrm0X = true,
ControlRigGenerationOption controlRigGenerationOption = ControlRigGenerationOption.Generate,
bool showMeshes = true,
IAwaitCaller awaitCaller = null,
ITextureDeserializer textureDeserializer = null,
IMaterialDescriptorGenerator materialGenerator = null,
VrmMetaInformationCallback vrmMetaInformationCallback = null,
CancellationToken ct = default(CancellationToken),
ImporterContextSettings importerContextSettings = null
)