【Three.js】WEB3D 项目开发中实用工具推荐

据说百度即将发布元宇宙产品,应该算是国内第一家,过去介绍的元宇宙相关产品都是国外的。上一篇谈到元宇宙设想了一个由虚拟世界和 3D 技术广泛应用重塑的未来。Three.js 是一个非常令人印象深刻的 JavaScript 3D 库,它也使用 WebGL(或 2d Canvas)进行渲染。本文主要是介绍一些使用 Three.js 时的辅助工具,没有必要全部使用,但它们有时对项目开发非常有用。
Stats.js
这个工具可以监控应用程序的性能,它对避免瓶颈和检查项目的稳定性很有帮助。
工具网站:https://github.com/mrdoob/stats.js/
安装
需要使用此工具,如引起其他第三方依赖库一样:
使用
dat.gui
有时项目需要 UI,最简单的方法是使用 dat.gui。 dat.gui 可用于在 JavaScript 中更改变量的轻量级图形用户界面。
项目地址:https://github.com/dataarts/dat.gui
安装
需要使用此工具,如引起其他第三方依赖库一样:
使用
通常的使用方式如下:
现在来创建一个对象来控制 UI 的参数:
然后使用这些值创建一个网格:
就根据这些值创建 UI 了, dat.gui 提供了不同的方法来控制变量,在这种情况下,可以使用滑块作为大小,使用颜色选择器作为颜色值。
下面来创建负责在控件发生变化时修改网格的函数。
OrbitControls
从代码中操作相机有时会非常令人沮丧,OrbitControls 可以用鼠标来控制相机,就像其它主流的 3D 软件一样。
项目地址:https://threejs.org/docs/#examples/en/controls/OrbitControls
使用起来非常简单,如下添加控制:
响应式
很多时候开始没有必要,但是一般在优化的过程中需要一个响应式渲染器。为了解决这个问题,可以使用这个简单的片段:
当需要以更高分辨率导出作品时,拥有响应式渲染器非常有用。
导出效果
当开始使用 Three.js 时,经常会遇到的第一个问题是如何将 3D 作品导出到视频当中。如果对画质要求不高,可以使用录屏工具:
以上工具是安装在系统上,而 Rendercan 是一个谷歌插件,使用比较方便。
Rendercan 提供了一个 PNG 序列,可以将其与任何视频编辑器连接在一起,还可以在终端中使用 ffmpeg:
如果在响应式渲染器中使用浏览器的缩小功能,可以导出非常高分辨率的图像,可用于高清视频或打印。
版权声明: 本文为 InfoQ 作者【devpoint】的原创文章。
原文链接:【http://xie.infoq.cn/article/20230687153c1939650429927】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。











评论