Unity

使用Dragonbones进行混合动画

2016-12-04  本文已影响1247人  FindCrt

另外做有两点不好:
1、额外工作
2、衔接有问题,比如你跑步跑到左脚在前面,突然玩家点击开枪了,你就要切换到跑步开枪的动作上去,可能就会变成右脚在前面。虽然可以严格的控制时间,根据动画进度来切换。而且如果是节奏比较慢的动作,你在两个关键帧之间开枪了,那切换可能就更明显了。
3、加入混合的动作比较多,就更麻烦了,你开启一个动作,不仅要考虑你要执行的(开枪),还要考虑正在执行了(跑步)。

但是动画混合解决了这些问题:
其实这也是应该的,比如一个角色带了一个围巾,围巾围飘,我把围巾的动画做好,不管觉得怎么跑怎么跳,围巾都是飘。

        firingAnimation = armature.animation.FadeIn (anim_Fire,-1,1,0,firingGroup,AnimationFadeOutMode.SameGroup);
        firingAnimation.autoFadeOutTime = 0.2f;

        firingAnimation.AddBoneMask ("左上臂");
        firingAnimation.AddBoneMask ("右上臂");

这里重点是动画的组不同,然后淡出的模式设置成:AnimationFadeOutMode.SameGroup,这样的话同组的动画之间是互斥的,但不同组的是共存的,共存的动画直接就会混合。比如把跑步和开枪设置在不同组,让他们混合。

上一篇下一篇

猜你喜欢

热点阅读