GLTF模型
优质
小牛编辑
128浏览
2023-12-01
glTF(GL传输格式)是Khronos的一个开放项目,它为3D资产提供了一种通用的、可扩展的格式,这种格式既高效又与现代web技术高度互操作。
The gltf-model
组件使用glTF ( .gltf
或 .glb
)文件来加载模型数据。
请注意,glTF是一个相当新的规范,采用率仍在增长。规范工作可以阅读: three.js glTF loader。
目录
- 为什么使用glTF?
陈旧的obj格式只支持顶点、法线、纹理坐标和基本材质,而glTF提供了一组更强大的功能。除上述所有内容外,glTF还提供:
- 层级对象
- 场景信息(光源,相机)
- 骨骼结构与动画
- 更可靠的材质和着色器
对于没有动画的简单模型,OBJ仍然是一个常见而可靠的选择。
和COLLADA相比,支持的功能非常相似。然而,由于glTF侧重于提供“传输格式”而不是编辑器格式,因此它与web技术的互操作性更强。类似地,.PSD(Adobe Photoshop)格式有助于编辑二维图像,但图像会转换为.JPG格式以供在web上使用。同样,glTF是一种更简单的传输3D资源的方式,同时呈现相同的结果。
简而言之,glTF模型比COLLADA模型更可靠地与A-Frame一起工作。
例子
通过指定
src
所指向的glTF文件来加载模型。<a-scene>
<a-assets>
<a-asset-item src="/path/to/tree.gltf"></a-asset-item>
</a-assets>
<a-entity gltf-model="#tree"></a-entity>
</a-scene>数值
类型 描述 selector 指向一个 <a-asset-item>
的Selectorstring url()
-glTF文件的封闭路径Events
事件名 描述 model-loaded glTF模型已加载到场景中。 内联加载
或者,通过直接在
url()
中指定路径。但是,场景在渲染之前不会等待资源加载。<a-entity gltf-model="url(/path/to/tree.gltf)"> </a-entity>
更多资源
glTF格式是相当新的,很少有编辑器会直接导出
.gltf
文件。相反,可以使用一些既有的转换器:请访问 官方glTF规范来获取可用功能、社区资源和贡献方式。