GLTF模型简介
模型文件类型太多了,这里主要以 GLTF 格式来操作,其他格式按需自用就行。
- GLTF 支持非常不同的数据集。显然,你可以拥有几何形状和材质等数据,但你也可以拥有相机、灯光、场景图、动画、骨架、变形甚至多个场景等数据。
- 它还支持各种文件格式,如 json、二进制、嵌入纹理。GLTF 已成为实时性的标准。由于它正在成为一种标准,因此大多数 3D 软件、游戏引擎和库都支持它。这意味着你可以在不同的环境中轻松获得相似的结果。
- 这并不意味着你在所有情况下都必须使用 GLTF。如果你只需要几何图形,则最好使用其他格式,例如 OBJ、FBX、STL 或 PLY。你应该在每个项目上测试不同的格式,看看是否拥有所需的所有数据、文件是否太重、如果信息被压缩则解压缩信息需要多长时间等。 需求预设好的GLTF 的模型文件,请下载GLTF 示例
GLTF格式
- glTF
glTF 这种格式是一种默认格式。该文件是一个 JSON 文件,可以在编辑器中打开。它包含各种信息,如摄像机、灯光、场景、材质、对象转换等,但不包括几何图形或纹理,这些文件是二进制文件,无法像这样读取。它通常包含几何图形等数据以及与顶点相关的所有信息,如 UV 坐标、法线、顶点颜色等。
鸭子的纹理 Duck.gltf Duck0.bin DuckCM.png 在加载此格式时,我们只加载包含其他文件引用的文件,这些文件将自动加载。
- glTF-Binary
这种格式仅由一个文件组成。它包含我们以 glTF 默认格式讨论的所有数据。这是一个二进制文件,您不能仅在代码编辑器中打开它来查看里面的内容。
这种格式可能更轻,加载起来更舒适,因为只有一个文件,但您将无法轻松更改其数据。例如,如果您想调整纹理大小或压缩纹理,则无法与其余部分合并,因为它位于该二进制文件内。
- glTF-Draco
- glTF-Embedded
导入模型
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';