Unity-Animator深入系列---测试CrossFade和CrossFadeInFixedTime

回到 Animator深入系列总目录

CrossFade是按照动画的自身时间进行混合。如果动画10秒,混合持续时间0.2,会在2秒后混合完成

CrossFadeInFixedTime是按照实际时间进行混合。如果动画10秒,混合持续时间0.2,会在0.2秒后混合完成

使用CrossFade或CrossFadeInFixedTime混合时,如果混合时间大于动画自身长度,动画自身会被滞留在最后一帧,直到混合结束



以下是对此进行实际测试的结果:

测试脚本

void OnEnable()
{
    //anim.CrossFadeInFixedTime("A2", 0.2f); test2
    anim.CrossFade("A2", 0.2f);
}

void Update()
{
    if (anim.GetCurrentAnimatorStateInfo(0).IsName("A2"))
    {
        Debug.Log(Time.time);
        enabled = false;
    }
}

测试结果:

CrossFadeInFixedTime

CrossFade

时间: 2024-10-09 02:09:30

Unity-Animator深入系列---测试CrossFade和CrossFadeInFixedTime的相关文章

Unity animator:StateMachineBehaviour的一点应用(施工中)

Unity animator:StateMachineBehaviour的一点应用(施工中) 有什么用 直奔主题,我们先讲讲作用,用法,再慢慢解释 一个简单的应用场景:Unity动画状态机中有一个"特色"是,如果你为一组Animator添加一个triggerA的parameter,用于控制动画A的播放(这里我们举例triggerA触发一次,进入动画A播放一次),你会发现,快速出发两次或多次triggerA,不加入限制条件,动画A将再播放完后再播放一次或多次 已有的解决方案是在脚本中添加

Unity内存优化技术测试案例

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解>电子工业出版社等. CSDN视频网址:http://edu.csdn.net/lecturer/144 Unity引擎优化技术,无非涉及到三点:CPU优化,GPU优化,内存优化. 先谈谈内存优化:大概可以分成三大部分: 1. Unity3D内部的内存 2. Mono的托管内存 3. 引入的DLL或者第

Unity Animator动画状态机 深入理解(一)

接触Unity以来就已经有了Animator,Animation用的少,不过也大概理解他俩之间的一个区别于联系. 图中其实就是Animator和Animation之间的区别于联系了,啊!你肯定会告诉我这就不是Animator么. 对啊,Animator其实是由Animation组成的.比如在Animator没有出现的时候有些公司写的动画状态机其实就是代码版的Animator. Animator其实就是把Animation统一管理和逻辑状态管理的组件,而Animation就是每一个动画. 动画状态

Rigidbody和Animator的影响测试

测试结果为两者同时存在,互不影响,Animator不会刻意冻结Rigidbody. Animator只是按照记录的值改变相关数值 如果执行动画之前就没有产生速率,执行时也不会有速率 如果有产生速率,其衰减速度不会受到影响 当动画中碰到了其他有刚体的物体,会产生额外速率,并且会附加在原有动画上. 而对于有根运动的物体,使用AddForce时,会出现此问题:http://www.cnblogs.com/hont/p/5186694.html

【Unity】UGUI系列教程——拼接一个简单界面

0.简介: 在目前的游戏市场上,手游依然是市场上的主力军,而只有快速上线,玩法系统完善的游戏才能在国内市场中占据份额.而在手游开发过程中,搭建UI系统是非常基本且重要的技能,极端的说如果对Unity的UI系统熟悉,就可以去游戏公司上班了 :)(笑~). 但是就像蛋炒饭,最简单的事要做好也是非常困难的.UI这块的变动也经常是整个游戏最频繁的一块,如果没有一个合理的设计思路,和管理方案,后期将会陷入无止境的调试优化之中. 万丈高楼平地起,现在让我们开始从Unity中的UGUI系统进行讲解. 1.创建

unity, animator stateMachine立即触发状态转换

例如按下键jump按钮人物执行跳起动作,同时动画状态由idle转换为jump,同时打开Game窗口和Animator窗口对比观察,发现人物跳起时动画状态并没有同步发生转换,而是有一定延迟,导致人物动画与动作脱节.后来发现是由于Transition(idle->jump)面板中勾选了Has Exit Time造成的,把此勾去掉就同步了. 关于Has Exit Time参考:http://docs.unity3d.com/Manual/class-Transition.html

51CTO平台小强系列测试视频全场5-6折,心动不如行,错过又的等N久!

借助学院平台周年庆,一直持续关注小强测试视频的小伙伴们,你们的福利又来了,耐心的看下去,惊喜无限! 6月29日-7月1日,51CTO平台小强测试视频全场5-6折(其中安卓端5折,PC端6折)你还在犹豫什么? 小强测试集结号针对本次活动的额外福利(额外福利有效期延迟至7-15号): 购买课程花费超过500金币的同学,同时享受如下福利: 1.免费赠送<LoadRunner性能测试巧匠训练营>书籍(共三本,送完为止).请截图购买记录发送至[email protected]统计. 2.享受加入51CT

Unity Animator动画状态机 深入理解(二)IK控制

IK还是一个很神奇和实用的东西啊,起码可以用代码来控制人物骨骼位置还是很爽的.因为不是动画师~ 这篇可能跟Animator没啥关系了哈,都是代码层的. 看了一官方的案例,老的,有些问题,自己修改了一下,达到了效果. 官方建议把所有的IK操作放在OnAnimatorIK中进行. 如果我们要进行IK操作,先要绑定IK位置.IK能控制的官方都给了enum   然后我们要设置权重Weight,范围为0~1,这里都设成1 1 avatar.SetIKPositionWeight(AvatarIKGoal.

unity animator BlendTree1

好想骂人啊,终于解决了 问题 我使用blendtree让角色进行跑,向左转,向右转,跳跃的的功能,但角色其他动画播放正常,只要转向就在原地不动了 原因:动画播放完了就不动了,设置下loop属性就行了. 使用blendtree 1 动画如果只在原地运动,可以给动画添加运动曲线,(curves,在animation视窗中)然后给忽角色添加运动代码 OnAnimatorMove函数中 void OnAnimatorMove() { Animator animator = GetComponent<An