Macbear 3D v0.9.0 — 導入 Rapier 物理引擎與全新渲染上下文
我們非常高興地宣布 Macbear 3D 正式發佈 v0.9.0 版本!這是專為 Flutter 打造的輕量級、高效能 3D 引擎,底層由 Google ANGLE (OpenGL ES 3.0) 驅動。
本次更新為迄今為止最大的版本升級,迎來了全新的渲染上下文抽象、正式導入 Rapier 物理引擎,並對整體架構進行了全面優化。
⚡ Rapier 物理引擎 — 再見了,Oimo
Macbear 3D 的物理模擬迎來了重大升級!我們正式從舊有的 Oimo 遷移至 Rapier 物理引擎。這是一款現代、具備確定性(Deterministic)的剛體物理模擬器,廣泛應用於各式生產環境的遊戲與模擬中。
這次的遷移帶來了更乾淨、更直覺的 API 設計。相較於舊版 Oimo,核心改進包括:
- 解耦形狀與動力學: 全新的碰撞體(
Collider)與剛體(RigidBody)抽象化設計,讓形狀定義與物體動態分開,管理更彈性。 - 更高的模擬穩定性: 在高幀率或高模擬頻率下,物理表現更加穩定。
- 原生支持確定性: 確保每一次的物理模擬與回放結果完全一致。
🖼️ M3RenderContext — 更乾淨的多通道渲染
隨著引擎功能的不斷擴展(例如陰影貼圖、立方體貼圖探針、平面反射等),如果每次渲染調用都要手動傳遞零散的 GPU 狀態,程式碼會變得非常臃腫。
v0.9.0 引入了全新的 M3RenderContext。這是一個輕量級的數值對象(Value Object),將渲染通道所需的一切物件完美封裝,包含:視口(Viewport)尺寸、視圖與投影矩陣、光照方向與陰影貼圖圖集,以及反射緩衝區句柄等。
現在,管線中的每個通道都只需接收一個 M3RenderContext,大幅簡化了調用端的複雜度,也為未來加入後處理(Post-processing)、綻放(Bloom)或光暈(God-rays)等新功能奠定了堅實的基礎。
🪞 平面反射 (Planar Reflections)
鏡面級的反射效果現在成為了核心功能!透過全新設計的 M3PlanarReflection 與鏡面著色器(Mirror Shaders),任何平面(如地板、平靜水面、玻璃牆)都能完美反射上方的場景,並具備可配置的裁剪平面(Clip-plane),有效消除畫面偽影。反射相機每一幀都會由引擎自動驅動,開發者無需進行額外的複雜設定。
📦 版本變更一覽
| 模組 | 變更內容 |
|---|---|
| 渲染上下文 | 新增 M3RenderContext 抽象化管理 |
| 物理引擎 | 由 Rapier 取代 Oimo;啟用全新的 Collider / RigidBody API |
| 鏡面反射 | 新增 M3PlanarReflection 與 Mirror 著色器支持 |
| 相機控制 | 在 M3Camera 與 M3Projection 中新增反射矩陣支持 |
| 幾何形狀 | 更新 M3PlaneGeom、M3Material 及基礎幾何基元 |
🚀 線上即時體驗
想要親自感受新版本的魅力嗎?我們準備了網頁版 Live Demo,無需任何安裝與設定,點擊即可直接在瀏覽器中體驗 Macbear 3D 的強大功能:
若要在您的 Flutter 項目中開始使用,請更新 pubspec.yaml:
dependencies:
macbear_3d: ^0.9.0
如果您在開發過程中遇到任何 Bug 或有新的功能建議,歡迎前往 GitHub Issues 提交反饋,也隨時歡迎您的 Pull Request!
沒有留言:
張貼留言