你將學到什麼#
你會把你的 prop 放進 Engine 裡一個真實的場景,賦予它物理效果,在 Play 模式下測試,並使用能把它送回 Sculpt 或 Pigment 修改的雙向流程。
開始之前#
- 先完成《在 Pigment 中為 prop 上材質》,或準備好任何已上材質的 mesh。
- Engine 是需要贊助的模組。瀏覽器有 WebGPU 時它會使用 WebGPU,沒有時則退回 WebGL2,所以不管哪一種情況它都能開啟。
- 值得了解的一點:Engine 是一個完整的遊戲引擎。一個場景是 Scene Graph 裡的一棵實體樹,每個實體都是一組元件(Transform、Model、Light、Camera、RigidBody、Collider、Script)。
步驟#
-
開啟 Engine,選擇從空白場景開始,或載入其中一個示範範本,直接取得現成的地面和燈光。
警告: 示範場景不會被儲存。如果你在它之上繼續建構,離開模組前請先把它另存為自己的專案。
-
匯入你的 prop。從 Pigment 把它送過來,或直接匯入
.glb檔案。它抵達時會是一個已經附有 Transform 和 Model 元件的實體。 -
在 Scene Graph 裡選取這個實體,在 inspector 中檢查它的 Transform。現在就把它放到地面上並設定合理的縮放,因為之後的每一步都會繼承這個設定。
-
用 Add Component 加入一個 Collider。少了它,prop 雖然有看得見的形狀,卻沒有任何東西讓物理系統碰得到。
提示: 讓碰撞體符合用途。用一個近似 prop 形狀的簡單形狀,執行期的成本比精確的 mesh 碰撞體低,而對一顆岩石來說,沒有人會注意到差異。
-
如果 prop 應該受物理影響,就加入一個 Rigidbody。對於永遠不會移動的場景物件,不要加,因為靜態幾何體的成本更低。
-
按下 Play。這個模式下物理是真的在運作,所以帶有 Rigidbody 和碰撞體的 prop 會落下、著地並靜止下來。
-
觀察落地時發生的狀況。一個穿過地板、抖動或用奇怪方式彈跳的 prop,代表它的碰撞體或質量設定有問題。
-
按下停止並調整。Play 模式是用來測試的,不是用來製作的。
-
不用離開 Engine 就能修正建模問題:在 Scene Graph 裡右鍵點擊 prop,用 Edit in 在 Sculpt、Pigment 或 Retopo 中開啟它。你的修改完成後會回到原本的位置,直接更新這個 prop。
提示: 你可以用 Shift+click 或在 Mac 上用 Cmd+click 進行多選,把好幾個物件合併送出。在 Mac 上,Ctrl+click 會開啟右鍵選單,不會改變選取狀態。
-
儲存場景,並用 Save to Cloud 讓專案跟著你的帳號走。
結果#
你的 prop 現在存在於一個可遊玩的場景裡:它有實際的物理存在感,會在真實物理下產生行為,而且你隨時都能把它送回上游修改,不需要匯出或重新匯入任何東西。
更進一步#
- 用腳本賦予 prop 行為。Engine 提供了生命週期鉤子,例如
start、update(dt)、onCollision和onTrigger,這些來自一個橫跨 50 個命名空間、共 538 個成員的 API。 - 如果你想用視覺化的方式建立邏輯,而不是用寫的,可以試試 Blueprints。
- 探索地形編輯器和 Sky & Atmosphere 面板,在 prop 周圍打造一個環境。