iT邦幫忙

2022 iThome 鐵人賽

DAY 13
0

物理引擎可以用來模擬真實世界的效果,如重力、摩擦力、碰撞偵測、加速度、空氣阻力等,使畫面更真實,也分為 2D物理引擎與 3D 物理引擎
three.js 只創造了一個 3D 世界並不包含物理世界,因此需透過物理引擎使畫面呈現更加貼近真實世界。

2D物理引擎

Matter.js

官網 | 範例

為網頁寫的 2D 物理碰撞引擎,主要處理碰撞行為

P2.js

官網 | 範例

基於 JavaScript 編寫的 2D 物理引擎,包含了碰撞偵測、接觸、摩擦力、恢復係數、彈力等類型

Box2D.js

官網 | 範例

基於 C++ 所開發,用於模擬遊戲內 2D 剛體的物理引擎,讓遊戲世界看起來更具交互作用性

3D物理引擎

Oimo.js

官網 | 範例

輕量級 3D 物理引擎,github 說明

Oimo.js is a lightweight 3d physics engine for JavaScript. It's a full javascript conversion of OimoPhysics Originally created by Saharan for actionscript 3.0.

Ammo.js

官網

使用 Emscripten 編譯器將 C++ 所開發的 Bullet 引擎轉換成 Javascript 移植到網頁端,功能和原來的 Bullet 完全一樣

Cannon.js

官網

受 three.js 與 ammo.js 啟發,所開發出的輕量級 3D 物理引擎,包含了簡單的碰撞偵測,約束,摩擦力、恢復係數等,與其他物理引擎比相對容易上手


上一篇
Day12. 動畫效果 Tween.js
下一篇
Day14. Cannon.js 範例
系列文
Three.js 反閘之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言