Skip to content

GLTF ​

什么是 glTF? ​

glTF(GL Transmission Format) 是 khronos 发布的一种能高效传输和加载 3D 场景的规范,是 3D 领域中的 JPEG 格式,其功能涵盖了 FBX、OBJ 等传统模型格式,基本支持 3D 场景中的所有特性,其插件机制也使用户可以灵活地自定义实现想要的功能。 glTF 是目前 Orillusion 推荐的首选 3D 场景传输格式,Orillusion 对 glTF 的核心功能和插件都做了很好的支持。

加载 glTF ​

使用 engine.res.loadGltf 来加载 gltf 模型,该方法对 gltf/glb 文件做了优化处理,可以直接添加对象:

ts
let scene = new Scene3D();
// 加载 gltf 文件
let data = await engine.res.loadGltf('sample.gltf');
// 添加至场景
scene.addChild(data);

插件支持 ​

目前支持以下 glTF 插件,若 glTF 文件中包含相应插件,则会自动加载相应功能:

插件功能
KHRdracomesh_compression支持 Draco 压缩,能有效节省模型体积
KHRlightspunctual支持多光源组合,会解析成引擎的光源,详见 光照教程
KHRmaterialspbrSpecularGlossiness支持 PBR 高光-光泽度工作流
KHRmaterialsunlit支持 Unlit 材质
KHRmaterialsvariants允许渲染器存在多个材质,然后通过 setMaterial 接口进行材质切换
KHRmeshquantization支持顶点数据压缩,节省显存,如顶点数据一般都是浮点数,此插件可以保存为整型
KHRtexturetransform支持纹理的缩放位移变换
KHR_lights_punctual支持扩展灯光,包含 direction light ,point light , spot light