mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-04-19 05:27:21 -05:00
2.7 KiB
2.7 KiB
v0.82.1 GlbImport GltfData
以下のステップでロードします。
GLB/GLTFをパースしてGltfDataを得る。GltfDataからUnity Hierarchyを ロード する。RuntimeGltfInstanceを得る。 ローダーを破棄する。- ロードした
RuntimeGltfInstance使う。RuntimeGltfInstanceを破棄する。
1. パースする
glb ファイルパスからパースする
vrmもこの関数を使います。
GltfData Load(string path)
{
return new GlbFileParser(path).Parse();
}
glb バイト列をパースする
vrmもこの関数を使います。
GltfData Load(byte[] bytes)
{
return new GlbBinaryParser(bytes, "LOAD_NAME").parse();
}
gltf ファイルパスからパースする
GltfData Load(string path)
{
return new GltfFileWithResourceFilesParser(path).Parse();
}
zip アーカイブからパースする
gltf と関連するファイルを zip アーカイブしたファイルをパースできます(実験)。
GltfData Load(string path)
{
return new ZipArchivedGltfFileParser(path).Parse();
}
ファイルパスの拡張子でパースする
サンプルの SimpleViewer を参考にしてください。
GltfData Load(string path)
{
// ファイル拡張子で自動判定します
return new AutoGltfFileParser(path).Parse();
}
2. ロードする
sync
RuntimeGltfInstance Load(GltfData data)
{
// ImporterContext は使用後に Dispose を呼び出してください。
// using で自動的に呼び出すことができます。
using(var loader = new UniGLTF.ImporterContext(data)
{
var instance = loader.Load();
return instance;
}
}
async
async RuntimeGltfInstance Load(GltfData data)
{
// ImporterContext は使用後に Dispose を呼び出してください。
// using で自動的に呼び出すことができます。
using(var loader = new UniGLTF.ImporterContext(data)
{
var instance = await loader.LoadAsync();
return instance;
}
}
materialGenerator で URP 用のマテリアルをロードする
{doc}Import 時に生成される Material をカスタマイズする <how_to_customize_material_import>
3. インスタンスを使用する
// SkinnedMeshRenderer に対する指示
instance.EnableUpdateWhenOffscreen();
// 準備ができたら表示する(デフォルトでは非表示)
instance.ShowMeshes();
使用後に以下のように破棄してください。関連する Asset(Texture, Material, Meshなど)も破棄されます。
GameObject.Destroy(instance);