当前位置: 首页 > 文档资料 > A-Frame 中文文档 >

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>的Selector
    stringurl()-glTF文件的封闭路径

    Events

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

    内联加载

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

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

    更多资源

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

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