Unity 3D 剛體實踐案例

2022-04-06 14:07 更新

剛體使物體符合現實中物理學定律進行運動,任何物體想要受重力影響,都必須包含一個剛體組件。

利用剛體類游戲組件,遵循萬有引力定律,在重力作用下,物體會自由落下。

剛體組件還會影響到物體發(fā)生碰撞時產生的效果,使物體的運動遵循慣性定律,使其發(fā)生碰撞時在運動沖量作用下產生速度。

本案例旨在利用剛體測試重力效果以及碰撞后的交互效果。

案例設計

本案例在 Unity 3D 內創(chuàng)建一個簡單的三維場景,場景內放有 CubePlane,Plane 用于充當地面,Cube 用于剛體重力測試。

案例實施

  1. 新建項目,將場景命名為 Rigidbody。

  1. 創(chuàng)建游戲對象。

執(zhí)行 GameObject3D ObjectPlane 命令,此時在 Scene 視圖中出現了一個平面,在右側的 Inspector 面板中設置平面位置(0,0,-5)。

  1. 創(chuàng)建游戲對象。

在菜單欄中執(zhí)行 GameObject3D ObjectCube 命令,在右側的 Inspector 面板中設置立方體的位置(0,5,0),按 F2 鍵可將其重新命名。

  1. 美化場景。

采用紋理貼圖的方法將地面和立方體都貼上紋理。

首先,將資源圖片放置在項目的根目錄 Assets 下,Unity 3D 會自動加載資源。

然后分別選中立方體和平面,將對應的資源圖片分別拖到立方體和平面上即可。

  1. 為立方體添加剛體屬性。

選中立方體,然后執(zhí)行菜單欄中的 ComponentPhysicsRigidbody 命令,當右側的 Inspector 面板中出現了 Rigidbody 屬性面板時,即為立方體添加了剛體屬性。

  1. 進行初步測試。

置于半空中的立方體由于受到重力作用做自由落體運動,掉落到平面上。

  1. 復制游戲對象。

在 Hierarchy 視圖中,選中 Cube1 后按 Ctrl+D 鍵復制立方體 Cube2 并將其擺放于場景中,在 Inspector 面板中設置新復制的立方體的位置屬性(0.4,0.5,0),按此方法再復制一個立方體 Cube3 斜放于 Cube2 上,設置 Cube3 的位置為(0,1.5,0)。

  1. 執(zhí)行菜單欄的 ComponentPhysicsRigidbody 命令為每一個立方體添加剛體屬性。

  1. 再次測試。

最上方立方體進行自由落體運動,撞擊到地面,盒子發(fā)生倒塌。

  1. 創(chuàng)建 JavaScript 腳本文件,輸入下列代碼:

    var speed=10;
    function OnMouseDrag(){
        transform.position+=Vector3.right*Time.deltaTime*Input.GetAxis("MouseX")*speed;
        transform.position+=Vector3.up*Time.deltaTime*Input.GetAxis("Mouse Y")*speed;
    }

  1. 將腳本分別連接到 3 個立方體上。

  1. 進行最終測試。

本案例世間目標達成。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號