創建一個簡單的3D角色
創建一個簡單的3D角色是製作3D遊戲的重要步驟。以下是如何在 Unity 中創建和設定一個基本的3D角色的過程,並添加基本的控制和動畫。
1. 創建3D角色模型
步驟 1:使用內建3D物件創建角色
- 創建角色的基礎物件
- 在
Hierarchy
視窗中,右鍵選擇3D Object > Capsule
來創建一個新的膠囊體(這將作為角色的基本形狀)。 - 將膠囊體重命名為
Player
。
- 在
- 調整角色外觀
- 使用
Transform
組件調整膠囊體的大小和位置。例如,將Scale
調整為(1, 2, 1)
以使其更像人形。 - 如果需要,可以添加其他基本形狀(如
Cube
、Sphere
)來構建更複雜的角色模型。
- 使用
步驟 2:添加角色的材質和顏色
- 創建材質
- 在
Assets
資料夾中右鍵選擇Create > Material
,並將其命名為PlayerMaterial
。 - 在
Inspector
視窗中選擇顏色(如綠色或藍色)來為角色著色。
- 在
- 應用材質到角色
- 將
PlayerMaterial
拖放到Player
膠囊體上,為其應用材質。
- 將
2. 添加角色控制
步驟 1:創建角色控制腳本
- 創建角色控制腳本
- 在
Assets
資料夾中右鍵選擇Create > C# Script
,命名為PlayerController
。 - 編輯腳本以實現基本的移動功能。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
using UnityEngine; public class PlayerController : MonoBehaviour { public float moveSpeed = 5f; public float rotateSpeed = 200f; void Update() { // 移動角色 float move = Input.GetAxis("Vertical") * moveSpeed * Time.deltaTime; float rotate = Input.GetAxis("Horizontal") * rotateSpeed * Time.deltaTime; transform.Translate(0, 0, move); transform.Rotate(0, rotate, 0); } }
- 在
- 將腳本附加到角色
- 將
PlayerController
腳本拖放到Player
物件上。
- 將
步驟 2:設置角色的碰撞體和剛體
- 添加剛體(Rigidbody)
- 在
Inspector
視窗中點擊Add Component
,選擇Rigidbody
。 - 確保
Use Gravity
選項被勾選,使角色受到重力影響。
- 在
- 調整碰撞體(Collider)
- 默認情況下,膠囊體會有
Capsule Collider
,確保其大小覆蓋整個角色模型。 - 如果需要,根據角色的形狀調整碰撞體的大小和位置。
- 默認情況下,膠囊體會有
3. 添加角色動畫
步驟 1:創建基本動畫(例如行走、跑步)
- 導入動畫素材(可選)
- 如果有外部的動畫素材,可以將其導入到
Assets
資料夾中。
- 如果有外部的動畫素材,可以將其導入到
- 創建 Animator Controller
- 在
Assets
資料夾中右鍵選擇Create > Animator Controller
,命名為PlayerAnimatorController
。 - 將
PlayerAnimatorController
拖放到Player
物件的Animator
組件上。
- 在
- 創建動畫狀態
- 在
Animator
視窗中打開PlayerAnimatorController
。 - 添加新的動畫狀態(例如
Idle
、Walk
、Run
),並將對應的動畫片段拖到每個狀態中。
- 在
步驟 2:設置動畫過渡
- 設置動畫過渡
- 在
Animator
視窗中,右鍵點擊Idle
狀態並選擇Make Transition
,將其連接到Walk
狀態。 - 為每個過渡設置條件,如
speed > 0
切換到Walk
,speed == 0
切換到Idle
。
- 在
- 控制動畫播放
- 編輯
PlayerController
腳本,使用Animator
組件控制動畫播放。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
using UnityEngine; public class PlayerController : MonoBehaviour { public float moveSpeed = 5f; public float rotateSpeed = 200f; private Animator animator; void Start() { animator = GetComponent<Animator>(); } void Update() { float move = Input.GetAxis("Vertical") * moveSpeed * Time.deltaTime; float rotate = Input.GetAxis("Horizontal") * rotateSpeed * Time.deltaTime; transform.Translate(0, 0, move); transform.Rotate(0, rotate, 0); // 設置動畫參數 animator.SetFloat("Speed", Mathf.Abs(move)); } }
- 編輯
4. 測試和調整角色
- 播放測試
- 點擊
Play
按鈕,檢查角色是否能夠正常移動和播放動畫。
- 點擊
- 調整控制參數
- 根據測試結果,調整
PlayerController
腳本中的移動速度、旋轉速度等參數。 - 修改動畫過渡的條件和參數,確保角色動作流暢。
- 根據測試結果,調整
5. 小結
這些步驟提供了一個簡單的3D角色創建和控制的基礎。你可以根據遊戲需求進一步擴展角色的功能,例如添加跳躍、攻擊、更多的動畫狀態和更複雜的控制邏輯。通過反覆測試和調整,你可以創建出一個符合遊戲風格和玩法需求的3D角色。
本文章以 CC BY 4.0 授權