前言:作为一个游戏开发,难免要跟图片打交道,想让图片动起来就得导入动画了,如果遇到一个好说话的美工往往程序事半功倍,但是公司往往不遂人愿。谁也不愿意多加班,就是为了美工做还是程序做而伤脑筋,所以导入动画的时候很多让美工改动工作量”所谓大“就让程序改了,这也是为什么需要学好动画的原因,永远不知道下一个美工是个什么水平。
一 龙骨动画。//帧动画,spine动画以后有机会再补充。
1.首先,在用龙骨动画的时候,得导入龙骨动画的插件。相当于库支持吧。
https://pan.baidu.com/s/1hsEOy7y 密码: jvpe //如果挂了或者没有资源可以回复我。
2. 然后美工给我们的图一般包含三个文件
然后导入unity中,右键ske.json这类文件新建一个Data
这样就得到这个配置文件。
3.龙骨动画的两种简单运用
(1)直接在需要的组件上附加 unity Armature Component,然后将配置文件拖入到DragonBones Data;点击随后出来的Create按钮,然后点保存全部。
然后在这个界面就可以调节。默认动画是<None>状态。
(2)往往(1)中方法不能满足所有要求和优化//有的美工即使都是龙骨动画也要不同的处理,美工动画开始的界面会掩盖精灵图片。
这样我们创建一个空的gameObject;按(1)中方法弄好配置文件。然后加入以下写好的脚本。拖入资源文件夹变成一个预制体。
以上都是简单的入门,接下来才是我要写这篇文章的重点。以免我以后忘了在得看源码找半天。
4.龙骨动画的代码控制。
1)龙骨动画需要引入using DragonBones;
2) 获取龙骨动画。
public UnityArmatureComponent thisArmature;
直接在unity中托给他复制或者
thisArmature=this.GetComponent<UnityArmatureComponent>();
3)播放动画。
thisArmature.animation.Play("fall");
//"fall"为这个动画组件的动画名字,一个动画可能包含多个动画。
animation.Play("fall",1);//第二个参数为播放次数,默认为循环。
4)动画的回调(监听事件)
thisAnimation.AddEventListener(EventObject.LOOP_COMPLETE,ArmatureEnd);
其中EventObject.LOOP_COMPLETE为播放完一次动画的回调,还有
EventObject.START为一个动画开始的时候的回调,还有淡入淡出等,详情可以点进EventObject查看。
第二个参数为自己写的需要回调的函数,形式如下:
private void ArmatureEnd(string type, EventObject baseObject)
(其中type表示之前写的