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 时让它弹出去的效果

相关推荐
小贺儿开发7 小时前
Unity 家居视频遥控(细节优化)
科技·unity·程序员·udp·视频·工具·通信
淡海水7 小时前
13-04-面试-源码级深度追问链
数据结构·unity·面试·c#·游戏引擎·源码·il2cpp
小小数媒成员20 小时前
UGUI 性能优化(详细,全,深入)
开发语言·unity·游戏引擎
林川~011 天前
Unity新输入系统使用笔记
unity·input system
小贺儿开发2 天前
Unity 结合百度AI开放平台 手写文字识别
人工智能·科技·学习·unity·云服务·文字识别·手写文字
goujunwe2 天前
GEO 评估方法:如何自测你的内容,会不会被 AI 引用
搜索引擎·网络安全·游戏引擎·全文检索·中文分词
林川~012 天前
Unity 万能物理检测工具:射线检测 / 范围检测 / 层级过滤 / 编辑器可视化(可直接拿去用)
游戏·unity·c#·射线检测·通用工具
yi碗汤园3 天前
MQTT消息队列遥测传输协议
网络·网络协议·unity
林川~013 天前
Unity 常用 API 与核心类全解:从生命周期到协程,附性能避坑清单(Unity 6 适配)
unity·游戏引擎·常用api
sensen_kiss3 天前
CPT306 Coursework 1 个人游戏作业——坦克大战
unity·游戏程序·游戏策划