博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spine学习五- spine动画融合
阅读量:5149 次
发布时间:2019-06-13

本文共 1390 字,大约阅读时间需要 4 分钟。

在许多地方,都需要用到动画融合,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
();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

你可能感兴趣的文章
转 Silverlight开发历程—(画刷与着色之线性渐变画刷)
查看>>
SQL语法(3)
查看>>
在js在添版本号
查看>>
sublime3
查看>>
Exception Type: IntegrityError 数据完整性错误
查看>>
Nuget:Newtonsoft.Json
查看>>
Hdu - 1002 - A + B Problem II
查看>>
Android设置Gmail邮箱
查看>>
js编写时间选择框
查看>>
JIRA
查看>>
小技巧——直接在目录中输入cmd然后就打开cmd命令窗口
查看>>
深浅拷贝(十四)
查看>>
HDU 6370(并查集)
查看>>
BZOJ 1207(dp)
查看>>
PE知识复习之PE的导入表
查看>>
HDU 2076 夹角有多大(题目已修改,注意读题)
查看>>
洛谷P3676 小清新数据结构题(动态点分治)
查看>>
九校联考-DL24凉心模拟Day2T1 锻造(forging)
查看>>
Attributes.Add用途与用法
查看>>
L2-001 紧急救援 (dijkstra+dfs回溯路径)
查看>>