06
2015
08

序列帧动画优化


==============================问题提出=============================


项目中经常会遇到,用maya做动画,然后导出序列图,再导入到flash中使用。


这样导出的图片宽高都是一样的,为了能容纳整个动画,图片尺寸(宽高)往往会很大,这样一来,生成的swf文件虽然不大,但是在运行时占用内存以及cpu会很高,直观的感受就是很卡。而且在将图片导入到flash中,以及生成swf的过程都会很慢。


==============================解决思路=============================


解决思路:


1、用视频代替帧动画。


maya直接导出视频(应该可以吧),或者用其它工具生成视频文件,将视频导入到flash中。


存在问题:


1)视频是一个矩形区域,是有背景的,而我们要求动画的背景应该是透明的。虽然AE可以导出透明背景的视频,没有用过,不知道难度大不大。


2)一个视频只能在一个图层,不够灵活。(目前还没遇到过)



2、截取序列图的最小透明区域。


图片中,大部分区域都是透明的,去掉这些透明区域,图片就可以小很多。


问题:


1)如何截取图片的透明区域。


2)图片截取之后,导入到flash中,如何设置图片的坐标。


上面两个问题,如果是手动来做,工作量太大,不太现实。所以必须要能通过程序来批量操作。


对于问题1),截取图片透明区域.app 可以解决。

对于问题2),使用“批量设置舞台上图片坐标.jsfl”。



==============================具体操作=============================



1、截取图片透明区域


打开”截取图片透明区域.exe“,点击”浏览“,选中所有要处理的图片,然后点击”输出“,找一个空文件夹即可。


打开刚才输出的文件夹,里面是处理好的图片和一个description.txt文件。


注意:不要选择原图片所在的文件夹,否则会直接替换原来的图片。


2、导入到flash中,并批量设置坐标。


导入用flash的导入功能即可。


导入之后,点击菜单栏的”命令“->"运行命令",找到”批量设置舞台上图片坐标.jsfl“,打开;然后浏览并选择description.txt,设置完成之后会弹出”设置完成. “对话框。





================================题外话===========================================



关于jsfl。


flash中可以通过”命令“->"运行命令"来执行一个脚本文件(.jsfl),来实现一些功能。


flash允许我们自己写(.jsfl)来实现自己想要的功能。现在好多软件都有类似的功能。


.jsfl可以通过”命令“->"运行命令"来执行;也可以直接双击来执行;或者放到某个目录下,就会出现在”命令“的下拉菜单中,可以直接点击执行,这个目录在不同的电脑中可能不一样,执行”jsfl存放路径.jsfl“,就会在输出面板输出jsfl的存放目录。


如果项目中存在大量重复性的,有规律的操作,可以考虑写个脚本让电脑来自动完成,省时又省力。



工具打包下载


« 上一篇下一篇 »

相关文章:

jsfl批量修改发布设置  (2016-3-30 12:25:40)

jsfl读取xml及json  (2015-8-6 9:34:20)

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。