简介
Physijs
作为Three.js
的物理引擎插件。为Three.js
提供一套非常简单易于使用的物理引擎。Three.js
如此流行的原因之一就是因为它对于新手来说非常容易上手的图形引擎。Physijs
也坚持了相同的理念,使得对于物理效果的制作变得非常的简单。
工作原理
Physijs
建立在ammo.js
之上(也有cannon.js
的分支),并且使用了单独的js线程(web worker
了解一下),以免影响应用程序的性能并且占用WebGL
渲染时间。
使用Physijs
时,Physijs
已经尽量保持了和Three.js
一样的使用规则。除了更新对象的位置以外,所有的常规的规则都是按照Three.js
定义规则来使用。
如果我们已经习惯了Three.js
的使用规则,那使用Physijs
不会有阻碍。
如果你还不知道Three.js
是什么,请移步到我的Three.js
笔记相关查看。
特点
- 支持多种形状的模型,包括自定义的凸形或者凹形
- 材质系统可以简单地控制模型的摩擦力和复原(
反弹力
) - 里面集成了碰撞检测和事件回调
- 在
Three.js
中使用了系统结构的复合对象 - 车辆系统
- 限制系统,比如 点到点和铰链
- 使用欧拉角或者四元数进行旋转
- 无缝的构建在
Three.js
之上,以保持相同的约定和编码风格