2026年5月24日 星期日

Macbear 3D v0.9.0 for Flutter on pub.dev

Macbear 3D v0.9.0 — 導入 Rapier 物理引擎與全新渲染上下文

Macbear 3D v0.9.0 — 導入 Rapier 物理引擎與全新渲染上下文

2026年5月 · macbear_3d · Flutter 3D 引擎

我們非常高興地宣布 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 著色器支持
相機控制 M3CameraM3Projection 中新增反射矩陣支持
幾何形狀 更新 M3PlaneGeomM3Material 及基礎幾何基元

🚀 線上即時體驗

想要親自感受新版本的魅力嗎?我們準備了網頁版 Live Demo,無需任何安裝與設定,點擊即可直接在瀏覽器中體驗 Macbear 3D 的強大功能:

若要在您的 Flutter 項目中開始使用,請更新 pubspec.yaml

dependencies:
  macbear_3d: ^0.9.0

如果您在開發過程中遇到任何 Bug 或有新的功能建議,歡迎前往 GitHub Issues 提交反饋,也隨時歡迎您的 Pull Request!

Happy rendering 🎮

— Macbear 3D 團隊

2026年5月1日 星期五

Rapier Physics for Flutter v0.3.0

Rapier Physics for Flutter v0.3.0 正式發佈

邁向高效能 3D 物理模擬的新里程碑

很高興向大家宣佈,Rapier Physics for Flutter 迎來了重要的 v0.3.0 版本更新!這是一個專為 Flutter 打造、由 Rapier (Rust) 強力驅動的高性能 3D 物理引擎。

🌐 互動式線上展示 (Live Demo)

提示:您可以直接在上方視窗中進行互動。若無法正常載入,請點擊 此處開啟全螢幕版

🚀 新版本亮點

1. 全新的 Descriptor 設計模式

我們重新設計了 RigidBody 與 Collider 的創建流程,引入了 Descriptor-based API。現在,你可以用更簡潔、具宣告性的方式定義物理屬性,大幅提升了代碼的可讀性與維護性。

2. 強大的關節 (Joints) 系統

新版本全面支援多種物理關節,並內建馬達 (Motor) 控制功能,讓你可以輕鬆實現複雜的機械運動,包括固定、球狀、旋轉、稜柱及繩索等多種連接方式。

3. 範例專案架構重構

為了方便開發者學習,我們重構了 example 專案,提取出 BaseScene 基礎類別。現在場景展示代碼更加整潔,開發者可以更專注於物理交互的設計。

4. Web 端極速體驗 (WASM)

透過 WebAssembly (WASM) 技術,Rapier Physics 在網頁端展現了流暢的效能。即便在瀏覽器中模擬大量物體的物理交互,依然能保持穩定的幀率。