添加角色预制体
Prefabs(预制体)Assets/Prefabs/文件夹中找到 PlayerRobot.prefab
将 PlayerRobot.prefab 拖到场景中,放置在地面上。
添加角色控制器
确保你的角色有一个 CharacterController 组件。如果没有,可以在 PlayerRobot 上点击 Add Component,然后搜索并添加 CharacterController 。
调整 CharacterController 的参数,例如 Height 和 Radius ,以适配角色的模型。
设置动画控制器
如果你想让角色有动画,可以使用 Assets/SourceFiles/StarterAssets/ThirdPersonController/Character/Animations 文件夹中的动画。
创建一个 Animator Controller ,并将这些动画设置为角色的动画状态。
在 Unity 的 Assets 文件夹中,右键点击空白处,选择 Create > Animator Controller
给新创建的 Animator Controller 命名,例如 PlayerAnimatorController
双击刚刚创建的 PlayerAnimatorController ,打开 Animator 窗口
将你的动画文件(例如 Idle , Walk_N , Run_N , JumpStart , JumpLand )从 StarterAssets/ThirdPersonController/Character/Animations 文件夹中拖到 Animator 窗口中
右键点击 Idle 动画,选择 Set as Layer Default State
在 Animator 窗口中,右键点击 Idle 动画,选择 Make Transition,然后将箭头拖到 Walk_N 动画
点击每个过渡箭头,在 Inspector 窗口中设置条件(例如速度参数
编写移动脚本
创建一个新的脚本,例如 PlayerMovement.cs ,并将其附加到 PlayerRobot 。
cs
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public float speed = 5f;
private CharacterController controller;
void Start()
{
controller = GetComponent<CharacterController>();
}
void Update()
{
float horizontal = Input.GetAxis("Horizontal");
float vertical = Input.GetAxis("Vertical");
Vector3 direction = new Vector3(horizontal, 0, vertical).normalized;
if (direction.magnitude >= 0.1f)
{
controller.Move(direction * speed * Time.deltaTime);
}
}
}
选择 PlayerRobot 对象在场景层级中,点击 PlayerRobot
添加 Animator 组件在 Inspector 窗口中,点击 Add Component 按钮,搜索 Animator ,然后点击添加
设置 Controller 字段添加 Animator 组件后,你会看到一个名为 Controller 的字段。将你创建的 PlayerAnimatorController 拖动到这个字段中
测试角色动画确保你的 PlayerAnimatorController 已正确设置动画状态,并运行场景测试角色动画