人物
在Project界面->点击右键->Import Package->Custom Package->选择人物资源->弹出界面,选择Import。
或
在Window中点击Asset Store,在商店中下载资源。
将人物模型放在设置好的地图上。
添加 Rigibody
添加 IdleRunJump
IdleRunJump
using UnityEngine;
using System.Collections;
public class IdleRunJump : MonoBehaviour {
protected Animator animator;
public float DirectionDampTime = .25f;
// Direction 方向
public bool ApplyGravity = true;
// Use this for initialization
void Start ()
{
animator = GetComponent<Animator>();
if(animator.layerCount >= 2)
animator.SetLayerWeight(1, 1);
}
// Update is called once per frame
void Update ()
{
if (animator)
{
AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(0);
if (stateInfo.IsName("Base Layer.Run"))
{
if (Input.GetButton("Fire1")) animator.SetBool("Jump", true);
}
else
{
animator.SetBool("Jump", false);
}
if(Input.GetButtonDown("Fire2") && animator.layerCount >= 2)
{
animator.SetBool("Hi", !animator.GetBool("Hi"));
}
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
animator.SetFloat("Speed", h*h+v*v);
animator.SetFloat("Direction", h, DirectionDampTime, Time.deltaTime);
}
}
}
控制
1.在Project界面点击右键->Create->Animator Controller
2.将新建的Animator Controller拉入Animator的Controller中
3.打开新建的Animator Controller,在Base Layer层中创建Idle右键Make Transition连接Entry,在Idle的Motion上选择相应动作。
4.创建状态Run,选择相应动作,连接状态Idle。创建参数(float)->Speed,点击连接,如下
步骤1.
步骤2.
5.创建状态Jump,选择相应动作,创建参数(Bool)->Jump.连接Run,步骤如下。
步骤1
步骤2
6.创建(float)->Direction,在Run中创建融合树,并调整数值
7.点击Play,人物可以左右前移动,在奔跑时并且点击鼠标左键可以跳跃。
8.创建新层Wave,创建状态Wave,选择相应动作.并在project界面搜索Arm,将不需要的地方点红,在Wave层选择此Arm。
9.连线
10.创建(Bool)->Hi
11.在New State到Wave这条线中,选择Hi
12.完成,当点击Play时,鼠标右键让人物招手。