现在市面上的模型有上百种,每一种的格式都有不同的用途,不同的功能和复杂程度。尽管提供了很多的加载器,但选择正确的格式和工作流程将在以后节省时间和成本。而且某些格式难以使用,效率低下或者目前还未完全支持。
推荐使用的模型格式
官方推荐我们使用的模型的格式为,由于专注于传输,因此它的传输和解析的速度都很快。模型功能包括: 格,材质,纹理,蒙皮,骨骼,变形动画,骨骼动画,灯光以及相机。
如果当前的首选不是格式,那么推荐定期维护并且流行的格式,或者格式,也有自己独有的格式。我们接下来将介绍这五种格式:
Three.js的JSON格式
这里的格式指的是可以将其转换为场景的对象的格式模型。这种格式内部一般必有的四项为:
- 当前模型的相关信息以及生成的工具信息
- 存储当前模型所使用的几何体的数组
- 存储当前模型所使用的材质的数组
- 当前模型的结构以及标示所应用到的材质和几何体标示
所有的模型 格,几何体和材质都有一个固定的标识符,格式中都是通过作为引用。
3d对象转成JSON
所有的对象都可以转成字符串保存成为文件,我们不能直接将对象转成是因为是无法保存函数的,所以,给我们提供了一个的方法来让我们转换为可存储的格式。
按照这种方式,我们就可以将生成的场景模型保存为文件。
使用ObjectLoader加载JSON模型
既然我们能够导入,肯定就可以导入。这里我们将使用到内置的对象来加载模型:
直接加载生成的对象:
加载外部的文件:
案例地址:点击这里
案例的右上角有四个点击事件:
- 添加模型:将在场景内随机生成一组立方体,每次都不相同。
- 导出模型:将场景内这一组立方体可以导出到本地json文件。
- 导入模型:可以将选择的符合文件解析并导入到场景内。
- 加载模型:将加载服务器上面的一个文件。
案例代码地址:点击这里
glTF格式文件导入
格式的3D格式文件是官方推荐的使用的格式,这种格式的文件我们可以在官 下载,这是一个国外比较知名的模型 站,下载地址是:点击这里,我们可以在这里下载一些免费的格式的模型。
这里我在官 上随便找了一个不错的模型做了一个案例:点击这里
创建加载器
修改模型大小,并设置每个模型 格可以投射阴影:
这样就实现了模型的导入。
案例源码地址:点击这里
OBJ格式模型导入
COLLADA模型导入
COLLADA是一个开放的标准,最初用于3D软件数据交换,由SCEA发起,现在则被许多著名厂家支持如Autodesk、XSI等。COLLADA不仅仅可以用于建模工具之间交换数据之用,也可以作为场景描述语言用于小规模的实时渲染。因为COLLADA DOM拥有丰富的内容用于表现场景中的各种元素,从多边形几何体到摄像机无所不包。我们可以通过COLLADA DOM库来进行场景文件的读取与处理操作。

上面是我写的一个模型导入案例,案例地址:点击这里
实现步骤,首先引入插件:
接着实例化对象:
最后加载文件并调整文件大小,添加到场景内:
案例源码查看:点击这里
注意事项
-
如何知道,加载完成的模型需要将哪部分导入到场景br> 一般情况下都是将自身导入,比如,,等,还有一种,会在里面生成一个可导入属性,如:和文件。如果导入的你无法确定,你就把模型对象打印到控制台查看,然后尝试往场景内导入。
-
导入到场景内的模型无法查看,而且也没有 错
这种会有可能有多种情况造成的,一般情况下都是下面两种情况造成的:
- 模型太小或者太大,这种情况可以尝试放大一千倍或者缩小一千倍来查看效果。
- 模型的位置太偏,根本不在相机照射范围内,这种问题我们可以将模型居中到相机照射的焦点位置查看,如何居中我们将在后面的章节中讲解。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!