Unity旧版动画系统

本文介绍了Unity旧版动画系统中的layer和weight概念,强调它们在动画播放中的权重分配作用。通过实例解释了play()、crossfade()和PlayQueued()等方法的使用,以及附加动画如何节省工作量。旧版动画系统的灵活性使得即使有Animator,依然有公司在项目中使用。
摘要由CSDN通过智能技术生成

一、layer和weight 的概念

动画层和layermask没有关系,它是一个只和动画有关的东西。这也是unity本身的一套东西,别的引擎上没有层的概念,正因为这个动画系统在unity里面很灵活,有人说已经有animator,没有人用旧版的动画系统了,其实不然,animator就像一套编好的动画系统,而animation都是用代码控制很灵活,所以很多公司根本没用animator.言归正传,层和权重是分不开的。

所有动画的播放其实是由权重控制的,而权重是怎么分配的呢?是按层分配的,举个例子:move动画 layer=0;  attack动画 layer=1;这时候同时播放动画会出现什么?只会出现attack动画,因为权重全被第一层占了。但是如果这样呢?attack.layer=1,attack.weight=0.5;  move.layer=0;move的权重让他默认,猜猜move的权重会是多少?是0.5,所以权重的分配是按层。一共是1,先分配最高层,剩下来的才轮到下面的再分配。所以总结来说,层是用来计算权重的,而权重是动画融合播放的根本因素。

animation里面有很多方法接口:我们举几个例子。第一个是play(),这个方法基本不用,只有特定的动画才用。而这个方法的原理就是权重分配,将撒谎能够一个动画的权重变为0,要播放的动画的权重变为1,然后将上一个动画的enable=false,要播放的动画enable=true;所以这方法其实是执行了这两个步骤。

第二个是crossfade()这个是渐变的,和play()唯一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值