unity怎么导入spine运行库

 我来答
Narkii纳金网
2017-10-10 · TA获得超过325个赞
知道小有建树答主
回答量:235
采纳率:89%
帮助的人:120万
展开全部

是我们又不得不用不是,所以就要自己翻它代码,找真正能调用的api了,这里推荐还是看一看它的官方文档,可以至少让我们对它的架构思路有一定的理解,方便快速分析它的真.api都是用来干什么的~

以下以一个单通道的动画控制脚本来说一下。(这里要提个醒,spine它里面有个多通道的功能,可以让动画只作用于网格的某一部分上,比如我们有一个跑步的动画,依靠通道,我们可以实现在跑步的同时,让人能够挥手,或者扭头,用高级别的通道去覆盖低级别上的动画)

如果我们只是播简单的动画的话,封装的这个小控制脚本就足够了。 
_skeletonAnimation.state 这个是我们获取当前动画和播放动画的主要方法,文档有说,就不累赘了。

当我们有需求中间打断一个动画,让它重头开始时,我们第一时间想到的肯定是这样来: 
_skeletonAnimation.state.SetAnimation(currentTrack, animationName, loop); 
然鹅,并没有卵用,单纯的这样调一下,你会发现动画会从当前的地方往回拉,动画完全不会重头进行播放,这根本不是我们想要的结果。

正确的做法应该是先用 
_skeletonAnimation.state.ClearTrack(currentTrack); 
来停止当前正在运行的通道,然后再重新播放这个动画,这时你就发现动画是真的重头开始了,而不是往回拉了。。。

而当我们只需要播放时间轴上某一段动画的时候,也根本不是官方所说的方法,而是需要用 
_trackEntry.TrackTime和_trackEntry.TrackEnd这2个方法,它们控制了当前通道下播放动画的起止时间!

希望上面的回答可以帮助到您,如果有什么unity插件呢要下载可以到纳金网论坛去下载

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式