==============================问题提出=============================
项目中经常会遇到,用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的存放目录。
如果项目中存在大量重复性的,有规律的操作,可以考虑写个脚本让电脑来自动完成,省时又省力。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。