gltf 存储细节
警告
进行 import、export 时需要注意。
glTF: z+ forward
模型应存储为 Z轴 正方向朝前。
VRM0 | VRM1 | |
forward | z- | z+ |
right | x+ | 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。
VRM0 | VRM1 | |
---|---|---|
bufferView | shared(共享) | divided(分割) |
优点 |
接近游戏引擎内存布局,转换较少 | 可用一般的 glTF 加载程序加载 |
缺点 | 在除UniVRM之外的glTF加载器中,内存使用可能激增(虽然可以加载,但顶点缓冲区中可能会出现未使用区域) | 在导出时,可能会增加顶点并改变顺序。在导入时需要费力合并。处理morphTarget较为繁琐。 |
在将 vrm-0.x 转换为 vrm-1.0 时,请绕Y轴进行180度的旋转。
例:
prim0 prim1 position 100 100 index 0..100 0..100 👇
prim0 prim1 position 100 100 バッファーが連結されている
【连接缓冲区】
index 0..100 100..200
実装
不要在Vrm
专用的 gltfPrimitive 之间共享缓冲区加载程序,一般的glTF
加载程序没有问题。
No Comments