unity总结四

动画:


点击最右边的controller在左侧弹出controller的asset,打开animator会看到动画片段。


第一:动画模型的导入

将模型文件夹(包含动画,材质)拖动到unity的assets内

第二,动画的导入:勾选import Animation


第三,动画导入的设置


根据要求来选择,如果拖动动画给物体无法拖动时候,试试把Legacy改成Generic即可,如果只有scene视图,没有animator视图,在unity菜单栏Windows——>animator即可


mecanim使用步骤



对于多个动画片段,右击一个片段,选择set ad Default设置成播放动画的源头,选择make Transition可以设置连线拖拽到第二个动画片段实现连续播放,这样实现了动画状态机


有多个条件进行条件判断再跳转时步骤如下:

点击parameters,设置一个参数,点击哪一条线段,在右侧conditions中选择判断条件,当大于等于还是小于参数时,触发对应动画


设置好参数后什么时候触发呢?在代码中拿到animator组件:

到触发的时刻只需代码调整参数值即可:

利用animation来制作简单的动画:


在左侧创建一个空animation,将其拖拽到animator中的对应节点,单击三角下面选择要编辑的动画片段,add curve,选择修改哪个


点击三角左边红点开始记录,单击0.00帧,移动position的x轴到预定位置,这样做出了1帧的位移动画,同理,

1帧叠加许多动画达到目的


序列帧动画(这个没怎么看懂,以后再弄):



条件从上到下已经会了如何再倒回去,也即播完D3—2动画如何再跳到D2,首先点击跳上的箭头,在右侧设置好返回时动画的时间


这样设置好运行发现会一直死循环,我们想让D3-2跳到D2就停止,需要把向下箭头的条件的值修改下,也即把向下的箭头改为不成立,做法如下:


由于是base layer,所以.GetCurrentAnimatorStateInfo为0

方法二:利用Trigger来实现,Trigger的特点,置为true跳转,跳转后自动回到false.


将向下箭头参数设置成Trigger,代码条件改成即可


人形动画:

导入资源右侧这样,Type选择Humanoid,Definition一般选择create from this model,configure前面省略号说明没有匹配,点击去匹配人物模型


点击automap,pose选择T-pose


Blend Tree 动画融合


右键创建一个blend tree ,双击进去,

一维混合树:

在右侧Blend Type选择1D,创建参数Parameters,在右侧选择该参数,可以选择多次Add motion Field添加多个动画片段


把左侧动画资源拖动到右侧中



对于上面的2个曲线,我们拖动左侧红线来选择动画融合后偏那个动画更多点

如果把automate Threshold关闭,可以在Threshc选择阈值,这里0表示播放第一个动画,1表示播放第二个


这里代码按k进入混合树,随机数大于5,Shootdir的阈值置为1,播放第一个,否则播放第二个动画


在做动画导入图片时,如果是2d在texture选择Sprite(2D and UI)


二维混合树:


这里阈值xy是点位于哪个坐标,拖动对应的动画片段到阈值的左侧

       

如图红点在不同位置,3个点呈现出不同的圆,圆的范围表示不同红点坐标时刻,3个动画的融合所占百分比,没有圆表示不显示该动画


动画层:


在Base Layer基础上创建多个Layer即可,在每个层设置好动画,Blending一般选择Override


通过avatar Mask来讲多个层动画结合起来,assets右键创建avatar Mask,第二层的动画只关注上半身动作,就把下半身设置为红色


如果从站立到快跑需要有个渐变过程怎么弄:再添加一个速度参数,创建一个一维混合树,加入站立和跑步的动画,当站立切换到跑步条件时,将速度参数设置成混合树那个红线也即权重,通过算法在代码中设置好速度参数即可


测试动画时候有时候需要把动画循环(loop)打开

在animator中有个比如站立切换跑步,镜头人物面向会慢慢向左,去掉这个钩即可,它会保存动画偏移量

导入动画在属性里面记得勾选import animation

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值