Skip to main content

gltf 格納詳細

warning

import, export の実装で注意が必要です。

glTF: z+ forward

モデルは Z+ 方向が前方になるように格納します。

VRM0VRM1
forwardz-z+
rightx+x-
実装

vrm-0.x を vrm-1.0 に変換する際は、Y 軸 180 度の回転をしてください。

Vector3 vrm0;
var vrm1 = new Vector3(-vrm0.x, vrm0.y, -vrm0.z);

glTF: divided vertex buffer

bufferView の primitive 間での共有をやめます。

VRM0VRM1
bufferViewshareddivided
利点GameEngine メモリレイアウトに近いので変換が少ない一般的な glTF ローダーでロードできる
欠点UniVRM 以外の glTF ローダーでメモリ使用量が爆発する可能性(ロードできるが頂点バッファに未使用領域ができてしまう)export 時に頂点の増加・並び順の変化がありえる。import 時に連結する手間。morphTarget の扱いが煩雑
prim0prim1
position100100
index0..1000..100

👇

prim0prim1
position100100バッファーが連結されている
index0..100100..200
実装

Vrm 専用の gltfPrimitive 間での共有バッファーローダーをやめて、 一般的な glTF ローダーで問題ありません。