Unity(①基础)

添加角色预制体

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 已正确设置动画状态,并运行场景测试角色动画

机器人碰撞到 Cube 时让它弹出去的效果

相关推荐
淡海水2 小时前
02-07-原理篇-GC暂停时间的本质
开发语言·unity·c#·gc·暂停时间
WarPigs2 小时前
UI路径配置SO>字典json工作流
ui·unity
淡海水6 小时前
02-06-原理篇-增量式GC与并发GC
算法·unity·c#·并发·gc·增量
阿松爱学习18 小时前
【Unity开发】Aspose.PDF的使用
unity·pdf·c#
淡海水20 小时前
02-04-原理篇-GC Roots与对象图遍历
算法·unity·c#·图·gc·遍历·roots
辻弋2015 天前
五年前的旅行视频糊成马赛克?Video2X用Real-ESRGAN逐帧重建细节,但只支持Windows、集显用户建议直接放弃
服务器·数据库·windows·游戏引擎·电脑
Martina_03215 天前
AI生成3D场景导入 Unity/Unreal 后,NPC 总串层?用6步检查导航高度与跨层连接
人工智能·游戏·数学建模·3d·unity·自然语言处理·aigc
小贺儿开发5 天前
Unity 局域网遥控幻灯片展示工具 3.0
科技·http·unity·工具·ppt·通信·网页
WarPigs7 天前
Unity对象不应该使用null传播的问题
unity
每日出拳老爷子8 天前
【VR】【Unity】抓走转放系列21|一天搭完门和抽屉工具槽:小场景按这个次序拼装
unity·vr·驱动·排错·snap zone