outline-导出动画

使用AnimationRecorder

安装了outline后,在creator资源面板中将会出现一个outline-components目录。该目录下有两个个文件,如下图:

outline-components中的两个脚本

  • 要为某个节点录制动画时,首先用creator自带的Animation组件将动画剪辑编辑好,接着将AnimationRecorder直接拖至这个节点的面板中,拖放结果如下图:
    AnimationRecorder

AnimationRecorder组件在属性面板上基本与Animation组件一致,并且理论上可以替代后者。不过可能是cocos creator的bug,动画编辑器必须要在选中的节点上添加Animation组件才能启动。因此最好先用Animation组件将动画剪辑编辑好,然后再用AnimationRecorder导出。

  • 上图中的Clips属性用来设置需要导出的动画剪辑,将剪辑引用到Clips的0索引即可,注意AnimationRecorder每次运行只能导出一个动画剪辑,所以多设剪辑是不会导出的
  • 上图中的Namespace属性用来设置导出动画对象所挂载全局表的表名,它的概念与ExportRule中的Namespace属性一致
  • 上图中的needRecord属性用来标记运行时这个AnimationRecorder实例需不需要导出动画,当需要导出时,将它设为true
  • 上图中的dstPath属性用来标记导出文件的路径和文件名

创作动画

创作动画的过程和正常在creator上创作动画并无二样,需要注意的是,目前只支持针对节点基本属性的动画,如坐标、缩放、颜色、精灵帧等,虽然creator还支持很多控件属性,但是后者并不实用
坐标曲线动画以及时间曲线都是支持的

导出动画

动画编辑并保存好,设置好AnimationRecorder组件,将creator项目在浏览器中运行,即可导出动画文件。

使用动画

  • 导入依赖
    可以参考《outline-导出节点》一文中的导出有依赖文件部分
  • 导入动画文件
    把out目录中的导出的动画lua文件复制到项目的合适位置,需要用到的时候require即可。例如:
    require("creator.clips.clip_jump")
  • 播放动画
    假如AnimationRecorder中Namespace设为Anims,要播放的动画剪辑名为clip_jump,那么可以通过如下代码创建一个动画实例:
    local anim=Anims.Clip_jump:create()
    假如需要播放动画的节点为sheep,那么如下代码将会开始播放动画:
    anim:play(sheep)

动画接口

下文中,Anim表示某个动画实例。

  • Anim:play(Node node,bool loop,function callback,string key)
    开始播放动画。参数node为执行动画的节点,需要注意的是,当node的子节点也参与动画时,方法内部将会通过创建动画时在creator编辑器中的节点层级关系和节点名来寻找相关的子节点。loop为是否会循环播放动画。callback为一次动画播放完后的回调。key为动画标志,如果设置了,将会作为参数传给回调函数。
  • Anim:pause()
    暂停动画
  • Anim:resume()
    被暂停后恢复播放
  • Anim:stop()
    停止动画并释放动画实例
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容