2026年8月26日 星期三

🚀 Flutter 3D 物理引擎 rapier_physics v0.5.3 正式發布!全面升級與穩定性強化

在 Flutter 中打造流暢的 3D 遊戲與互動體驗,強大而精準的物理模擬是不可或缺的基石。rapier_physics 結合了 Rust 高效能物理引擎 Rapier3D 與 Flutter 多平台生態,支援 iOS、macOS、Windows、Android 與 Web。

今天我們很高興宣布 rapier_physics v0.5.3 正式發布!這個版本帶來了底層原生引擎升級、Web 平台切換防護以及建置管線的全面精簡。

rapier_physics demos

🎮 線上即時體驗(Live Demo)

可以直接在下方即時操作體驗 3D 物理模擬與角色控制效果:

💡 提示:若無法正常顯示,您也可以直接點擊前往體驗 👉 線上展示網頁


✨ 0.5.3 核心更新亮點

1. ⚙️ 底層物理核心升級:Rapier3D v0.35.2

我們將底層原生 Rust 引擎依賴全面升級至最新的 rapier3d v0.35.2(以及碰撞檢測庫 parry3d v0.30.2):

  • 提供更極致的物理運算效能與記憶體優化。
  • 提升多物體堆疊、關節約束(Joints)與連續碰撞檢測(CCD)的穩定性與精度。

2. 🌐 Web/WASM 場景切換防護(修復 unreachable 崩潰)

在 Web (WebAssembly) 環境下,當使用者在多個 3D 物理場景間頻繁切換時,過往可能因 WASM 生命週期重複初始化導致舊控制代碼引發 unreachable 執行時期錯誤:

  • 0.5.3 加入了全新的 WASM 重新初始化防護機制,確保在單頁應用(SPA)中動態切換、重建物理場景依然穩如磐石。

3. 📦 建置腳本與 Web 產物路徑重構

  • 重構建置流程,讓 Web 相關產物直接輸出至 web/example/web/
  • 移除了冗餘的 prebuilt/web 目錄,使專案結構更乾淨、發布與測試流程更順暢。

4. 🧹 程式碼日誌清理

  • 移除了 RapierWorld 中的額外 Debug Print 調試輸出,讓開發者的 Console 保持乾淨清晰。

🌟 近期版本特色回顧 (0.5.0 ~ 0.5.2)

  • 🏃 運動學角色控制器 (Kinematic Character Controller):支援 3D 角色物理導航、自動攀爬階梯、斜坡滑動、貼地吸附與推動動態物體。
  • 🎯 場景查詢 (Scene Query API):完整的射線投射(castRaycastRayAndGetNormal)與形狀投射(castShape),並支援自訂過濾器旗標(QueryFilterFlags)。
  • 🛡️ 安全的生命週期管理:提供 dispose()` 與加固的 `destroy()` 流程,杜絕原生記憶體洩漏與重複釋放(double-free)。

📦 立即開始使用

在您的 Flutter 專案 pubspec.yaml 中新增依賴:

dependencies:
  rapier_physics: ^0.5.3

或直接透過終端機安裝:

flutter pub add rapier_physics

歡迎前往 GitHub 查看更多 3D 互動範例(包含角色控制器、雙擺、牛頓擺、複合剛體與場景查詢):
👉 GitHub 專案庫:macbearchen/rapier_physics

沒有留言:

張貼留言