A-Frame中文教程

GLTF模型

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 id="tree" src="/path/to/tree.gltf"></a-asset-item>
</a-assets>

<a-entity gltf-model="#tree"></a-entity>
</a-scene>

数值

类型 描述
selector 指向一个<a-asset-item>的Selector
string url()-glTF文件的封闭路径

Events

事件名 描述
model-loaded glTF模型已加载到场景中。

内联加载

或者,通过直接在url()中指定路径。但是,场景在渲染之前不会等待资源加载。

            
<a-entity gltf-model="url(/path/to/tree.gltf)"> </a-entity>

更多资源

glTF格式是相当新的,很少有编辑器会直接导出.gltf文件。相反,可以使用一些既有的转换器:

请访问 官方glTF规范来获取可用功能、社区资源和贡献方式。