当前位置: 首页 > news >正文

Unity3D 创建一个人物,实现人物的移动

1,创建项目

首先打开我们的Unity Hub

在我们的编译器下面新建项目,选择3D模板,更改一下我们的项目名称,选择一下路径,然后点击创建项目

等待项目创建。。。。。。

我们在项目里先创建一个plane,这样有点视觉体验

点击Wnidows --> Asset Store。搜索:Character Pack: Free Sample

点击添加至我的资源,在Unity中打开

回到我们的Unity就会弹出一个模态框,点击import

(因为我之前就已经下载过这个,你们应该会有一个DownLoad,点击下载即可,如果下载出现问题就重新再下载一遍就好了) 

点击import

我们就可以看到我们Assets里面就出现我们下载的包

跟随我的目录找到人物模型

我们将人物拖拽到Scene界面即可

开始添加人物动画

在Assets界面右键鼠标,选择Create,选择Animation,更改一下名字为Move

将创建好的动画控制器Animation,添加到我们人物上面

点击状态机界面,就会有我们刚才创建的了

在Assets界面右键鼠标,选择Create,选择C# Script,我们将这个代码名字命名为Move

点击刚刚创建好的人物,把我们创建好的C#代码拖拽进去

跟随我的目录,找到资源动画

这个Idle就是人物待机动画,这个Run就是我们人物跑起来时的动画

我们将Idle 和 Run拖拽到我们的状态机里面,把我们刚才的Move删除,右键 idle,选择Make Transition,连接到我们的run,同理右键run,连接到idle

选择一下我们要配置的参数,选择bool类型,更改一下名字为isRun

点击我们idle到run的小箭头,改成我这个样子(从idle到run是true)

同理点击run到idle的箭头,更改一下属性(从run到idle是false)

点击动画控制器,将控制器拖拽到Controller上面

双击我们创建好的C#代码,将这串代码复制上去。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class CharacterControl : MonoBehaviour
{private CharacterControl _character;private Animator animator;// Start is called before the first frame updatevoid Start(){_character = GetComponent<CharacterControl>();animator = GetComponent<Animator>();}// Update is called once per framevoid Update(){float horizontal = Input.GetAxis("Horizontal");float vertical = Input.GetAxis("Vertical");Vector3 dir = new Vector3(horizontal, 0, vertical);if (dir != Vector3.zero){transform.rotation = Quaternion.LookRotation(dir);animator.SetBool("isRun", true);transform.Translate(Vector3.forward * 2 * Time.deltaTime);}else{animator.SetBool("isRun", false);}}
}

运行!


http://www.mrgr.cn/news/39189.html

相关文章:

  • C++中的多态(详细讲解)
  • 【Android 14源码分析】Activity启动流程-1
  • CO-DETR追踪损失函数情况
  • 谷歌收录批量查询,如何批量查询谷歌收录以及提交网站进行收录的方法
  • 服务器开通个人账户
  • 初识Linux以及Linux的基本命令
  • UFS 3.1架构简介
  • 关于git分支冲突问题
  • Dynamics 365 dependency EntityType
  • 古代帝王与啤酒的不解之缘
  • 如果MySQL已经安装但mysql --version命令不好用,怎么办?
  • MySQL的驱动安装
  • Python——内置字符串操作与转换函数
  • 配置STM32F103的高级定时器TIM1用于PWM功能
  • 三数之和为0
  • 跨境电商中的IP关联及其防范策略
  • vector
  • 光伏设计难点在哪儿?如何解决?
  • Excel表列名称
  • 【QT Quick】基础语法:导入外部QML文件