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 update
void Start()
{
_character = GetComponent<CharacterControl>();
animator = GetComponent<Animator>();
}
// Update is called once per frame
void 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);
}
}
}
运行!