Spine学习五- spine动画融合

在许多地方,都需要用到动画融合,unity的新版动画系统已经能够很方便的进行动画融合,那么使用spine的动画状态机的情况下,如何来进行动画融合呢?

官方有两种方案,一种是使用混合动作实现,另一种是使用spine的动画状态机实现,这里讲解一下状态机的实现:

 1 public class cartoonCombine : MonoBehaviour {
 2
 3     SkeletonAnimation skeletonAnimation;
 4     AnimationStateData stateData;
 5     Spine.AnimationState state;
 6     public float mixTime = 0.5f;
 7     public float mixTime2 = 0.5f;
 8     void Start () {
 9
10         skeletonAnimation = GetComponent<SkeletonAnimation>();
11         state = skeletonAnimation.AnimationState;
12         //获取状态机动画数据
13         stateData = skeletonAnimation.SkeletonDataAsset.GetAnimationStateData();
14
15         //设置动画混合,第一个参数是 当前动画,第二参数是下一个动画,第三个参数是从当前动画过度到下一个动画所需时间
16         stateData.SetMix("walk", "run", mixTime);
17         stateData.SetMix("run", "walk", mixTime2);
18
19         skeletonAnimation.AnimationState.SetAnimation(0, "walk", true);
20
21     }
22
23     void Update () {
24
25         if (Input.GetKeyDown(KeyCode.A))
26         {
27             skeletonAnimation.AnimationState.SetAnimation(0, "run", true);
28         }
29
30         if (Input.GetKeyDown(KeyCode.D))
31         {
32
33             skeletonAnimation.AnimationState.SetAnimation(0, "walk", true);
34         }
35     }

将该脚本挂到一个挂有 SkeletonAnimation 组件的物体上,需要确保 SkeletonAnimation的Spine资源里面有"walk" 和"run"这两个动画,否则会出错,然后在运行状态下查看动画融合的效果。

原文地址:https://www.cnblogs.com/leiGameDesigner/p/9114000.html

时间: 2024-10-21 08:53:32

Spine学习五- spine动画融合的相关文章

SVG 学习&lt;五&gt; SVG动画

先上个动画图 说道SVG动画不得不提到两个属性:stroke-dasharray(这个前面有提到,做虚线的)stroke-dashoffset (这个是关键). 先说说stroke-dasharray 之前提过 可以把线条做成虚线状,值可以为一个数值 也可以是一个数组.详见:SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 最后一段.在动画里 stroke-dasharray 用来绘制路径或者虚线环绕效果. stroke-dashoffset : 官方解释 svg的

spine动画融合与动画叠加

一.动画融合setMix 1.概述:两个动作之间的平滑过渡 参数duration为需要多少时间从fromAnimation过渡到toAnimation,过渡时间为动画重叠时间. 下图为动作切换时的情况(setAnimation),左红线为切换动作时刻,两个红线之间为动作切换时间,这之间动画播放为A与B的混合,A和B所占的权重是不断变化的,从A占的权重从100到0,B占的权重从0到100.右红线之后为动作B完全播放. 图1 下图是A动作后有B动作的情况(addAnimation) 图2 下图为错误

Spine(2D骨骼动画)

点击进入Spine官网 Spine 是一款针对游戏的 2D 骨骼动画编辑工具. Spine 旨在提供更高效和简洁 的工作流程,以创建游戏所需的动画. 功能: 1.摄影表 Dopesheet 在动画制作过程中摄影表是最核心的地方.这里显示所有关键的细节,通过它可以 创建动画以及对时间节奏进行微调. 2.网格 Meshes 网格允许你在矩形边界内定义多边形.这将提高最终纹理贴图集的空间使用率,因 为在多边形外的像素将被忽略掉,这种优化对移动设备来特别重要.网格的另外一 个功能就是支持自由变形 FFD

cocos2dx 3.1从零学习(五)——动画

动画是游戏中最重要的表现部分,本篇只是初步学习大部分动画的使用方法,没有什么原理性的东西,但是例子有很多,如果有不熟的地方要练一下. 特别是Spawn和Sequence的组合使用,什么时候使用Spawn,什么使用使用Sequence,怎么在它们之间相互嵌套对方.用光你的脑细胞尽力的去折磨这几个函数吧!做出尽可能多的绚丽的组合! 动画方法 动画的方法都在Node中,它的子类包括Layer.Sprite.MenuItem等. runAction 启动动画 stopAction 停止动画 stopAc

推荐系统遇上深度学习(十)--GBDT+LR融合方案实战

推荐系统遇上深度学习(十)--GBDT+LR融合方案实战 0.8012018.05.19 16:17:18字数 2068阅读 22568 推荐系统遇上深度学习系列:推荐系统遇上深度学习(一)--FM模型理论和实践:https://www.jianshu.com/p/152ae633fb00推荐系统遇上深度学习(二)--FFM模型理论和实践:https://www.jianshu.com/p/781cde3d5f3d推荐系统遇上深度学习(三)--DeepFM模型理论和实践:https://www.

Android学习之 属性动画&lt;Property Animation&gt;

property 动画系统是相当健壮的框架,它几乎可以动画显示任何对象. 你可以定义一个动画来定时改变任何对象的属性值,不论该对象是否在屏幕上显示. property 动画将以一定的时间间隔修改属性值(对象中的字段值). 要实现动画显示,你须指定对象的相应属性(比如对象的屏幕位置),以及动画时长.动画时间间隔. property 动画系统能让你设定以下动画要素: 1.持续时间:指定动画的持续显示时间.默认的时长是300毫秒. 2.插值因子:指定属性值的变化方式,表示为关于动画已显示时间的函数.

Beaglebone Back学习五(PWM测试)

PWM测试 参考链接 1 Enable PWM on BeagleBone with Device Tree overlays 2Using PWM on the Beaglebone Black 3 Beaglebone Coding 101: Buttons and PWM 4 Using PWM outputs 5 beaglebone-black-cpp-PWM 6 Enabling PWM Support in the kernel 7 Beaglebone Back学习五(PWM测试

TweenMax动画库学习(五)

目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            TweenMax动画库学习(四)            TweenMax动画库学习(五)  

NodeJS学习五 之网页显示

我们新建一个Server.js. 然后运行cmd 找到server.js 路径.  node server.js 浏览器中输入http://localhost:8888/ 你会发现,网页上出现了 Hello World NodeJS学习五 之网页显示,布布扣,bubuko.com