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

相关推荐
AllBlue5 小时前
unity嵌入安卓界面,如何显示状态
android·unity·游戏引擎
tealcwu6 小时前
【Unity技巧】实现在Play时自动保存当前场景
java·unity·游戏引擎
tealcwu6 小时前
【Unity基础】实现Scroll View跟随动态内容滚动
java·unity·游戏引擎
野奔在山外的猫7 小时前
【文档】VSCode 配置 Unity 环境流程
unity
技术小甜甜8 小时前
[Godot排错] 上传 Google Play Console 封闭测试时签名证书不匹配错误的解决方案
游戏引擎·godot·游戏开发
变身缎带16 小时前
Unity中的NetworkManager基于protobuf, Socket-TCP
tcp/ip·unity·游戏引擎
AllBlue1 天前
unity调用安卓方法
android·unity·游戏引擎
郝学胜-神的一滴1 天前
Horse3D游戏引擎研发笔记(十):在QtOpenGL环境下,视图矩阵与投影矩阵(摄像机)带你正式进入三维世界
c++·3d·unity·游戏引擎·godot·图形渲染·unreal engine
AllBlue1 天前
unity导出成安卓工程,集成到安卓显示
android·unity·游戏引擎
Sator11 天前
Unity的FishNet相关知识
网络·unity·游戏引擎