unity关于动画操作的一些小记录

本文借鉴了https://sharpaccent.com/?c=lesson&id=432&cid=13中的资源来完成。
需要fan qiang下载进去下载。如果实在不行,再找我要吧!

首先如何希望模型能通过给定的animation动起来,你需要一个模型和一组动画;

其次你需要修改模型预设体中的Rig中的Animation Type为Humaniod。就是人型动画的意思,然后他就会自动绑定骨骼,然后通过动画工作起来。
在这里插入图片描述
其次如果你想只操作人物中的一部分身体的话,可以创建一个Avatar Mask。如下图选定你想要操作的部位。
其实Avatar Mask是只控制其属性面板中humaniod选中的部分。
在这里插入图片描述

然后再Animator中新增一层layer,在其属性中选中这部分的Avatar Mask,然后再在这一层中放入你要的动画,就可以用这个动画控制人物的部分动作,其中的weight代表控制的力度。
在这里插入图片描述
如果你在经过以上步骤之后,模型运动的时候的脚一直在抖动,于是你就可以打开动画的属性面板,勾选上Foot IK属性。
这个动画中的Foot IK属性能够使得模型很稳的站在地上,不会抖动。
在这里插入图片描述
其次我们有时候会发现模型会由动画控制着进行位移,但是很多时候我们都希望能够由我们自己代码来控制一个精确的位移。
所以我们可以选择将Player身上挂载的Animator的Apply Root Motion 关掉,就不会在进行位移了。
在这里插入图片描述

Animator.CrossFade(animName, 0.2f);就是混合动画的意思。执行混合上面的动画,让10秒的动画在2秒内运行。
使用上述代码需要将动画控制器中的图形改成下面图片这种状态。然后就可以通过修改animName的值,直接播放对应的动画了。
下面的图片中的状态就是进行多段攻击的动画控制器。
其是在layer中的Override层编写成这样的,并且将其权重修改为1.
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值