unity-动画状态机之人物的移动

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

前言

状态机的基本思想是使角色在某一给定时刻进行一个特定的动作。动作类型可因游戏类型的不同而不同,常用的动作包括空闲、行走、跑步、跳跃等,其中每一个动作被称为一种状态。

各种属性

Motion :状态对应的动画。每个状态的基本属性,直接选择已定义好的动画(Animation Clip)即可
Speed :动画播放的速度。默认值为1,表示速度为原动画的1.0倍。
Mutiplier: 勾选右侧的Parameter后可用,即在计算Speed的时考虑 区域1 中定义的某个参数。若选择的参数为smooth, 则动画播放速度的计算公式为 smooth * speed * fps(animation clip中指定)。
Mirror: 仅适用于humanoid animation(人型机动画)。
Cycle Offset: 周期偏移,取值范围为0-1.0,用于控制动画起始的偏移量。把它和正弦函数的offset进行对比就能够理解了,只会影响起始动画的播放位置。
Foot IK :仅适用于humanoid animation(人型机动画)。
Write Default: 最好保持默认。
Transitions :该状态向其他状态发起的过渡列表,包含了Solo和Mute两个参数,在预览状态机的效果时起作用。
Add Behaviour: 用于向状态添加“行。

实现移动

参数有Float,Int,Bool,Trigger。
WASD键移动

public class Animation_VR : MonoBehaviour {public Animator ani;
void Start () {
    ani = GetComponent<Animator> ();

    //ani.SetLayerWeight (1,1);   //设置权重信息(代表那个动画层,权重)}
void Update () {
    float h = Input.GetAxis("Horizontal");
    float v = Input.GetAxis("Vertical");
    ani.SetFloat ("Run",v);
    ani.SetFloat ("Rotation",h);
  }}

要想动画在运行后动,那就要将动画预制物的属性修改为Humanoid

备注

这个是自己动手让预制体进行动作的表现,如果有钱的话,final ik这个插件是最好的选择(省心又省事),但是自己来做的话会学到很多的东西。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值