Unity - Rigidbody 剛體物件Author: Kelvin Huang剛體元件 (Rigidbody) 可讓物件產生受重力影響,或是施加作用力而產生移動,透過物理引擎計算達到擬真的互動效果。 以下教學以製作簡易射擊遊戲說明 Rigidbody 剛體的使用方法,包括槍、子彈、靶的互動功能。
製作子彈功能需求:子彈生成後自主向前移動,可設定推力以控制移動速度,碰撞後掉落或刪除。 建立空物件並命名為 Bullet 並套用 Rigidbody 剛體元件,關閉 Use Gravity 停用重力的影響。 建立 C# 腳本並命名為 "Bullet" 用撰寫子彈的腳本, 方法一、使用 RigidbodyAddForce 讓子彈向前移動。 方法二、使用 Rigidbody.Velocity 讓子彈向前移動。 將 Bullet 腳本附加到 Bullet 子彈物件。
為 Bullet 物件增加 Capsule 膠囊子物件,並調整到適當大小與旋轉角度。按下 Play 測試,確認子彈前進方向。
若需顯示子彈移動軌跡,附加 Trail Renderer 元件,設定材質並調整寬度。 新增 Bullet 標籤並套用到子彈,並拖曳到 Prefabs 資料夾轉成預製物件。 使用標籤可在稍後子彈擊中不同的物件時,製作不同的的互動效果與音效。 例如擊中玻璃時破碎、擊中牆壁時動態生成彈孔,擊中角色時置換為布娃娃角色。
製作槍物件自行製作槍的模型,或是從資源商店搜尋,有不少免費的槍枝模型可下載。 建立一個空物件,重新命名 Muzzle 移到槍口的位置,用於動態生成子彈。 撰寫槍的腳本。建立一個 C# 腳本並命名為 "Gun" 然後附加到 Muzzle 物件。 將剛才的 Bullet 子彈預製物件拖曳到 Bullet Prefab 欄位。
製作靶物件功能需求:被子彈擊中時發出音效,並掉落到地面。 建立空物件並命名為 "Target" 套用 Rigidbody 剛體元件,先關閉 Use Gravity 停用重力的影響。 套用 AudioSource 音效元件,設定子彈擊中的音效,取消 Play On Awake 自動播放。 建立一個 C# 腳本並命名為 Target 然後附加到 Target 靶物件。 測試遊戲,確認子彈擊中靶的互動效果。
相關教學
Copyright © 2024 CG Digital Corp. All rights reserved.
|