Flash3D是网页flash播放器播放实时三维画面/三维游戏的程序的总称。目前通用的开源flash3d渲染引擎有papervision3D,Away3D,Sandy,Alternative3D等。
由于Flash本身是一个二维动画软件,用它制作三维效果就比较吃力。直接在Flash中实现3D效果,可以有三种方法:分别是光影效果、遮罩和使用Actionscript。光影效果比较简单,主要是利用明暗对比来达到一种视觉欺骗,大多用在绘制静态场景或物体上,因此就不再叙述了。下面分别对如何利用遮罩和Action script实现三维效果做简单介绍。一、遮罩法我们通过制作一个旋转的地球说明遮罩法的使用,制作前请准备好一张世界地理大陆全景展开图。
1.启动Flash MX 2004,新建一个Flash文档,大小为550×400像素,背景色为黑色,帧频为12fps。
2.按Ctrl+F8新建名为“世界地图”的“影片剪辑”元件,按Ctrl+R导入准备好的世界地图图形,并按Ctrl+B打散图形。
3.新建一个“影片剪辑”元件,命名为“世界地图低透明度”。将“世界地图”拖放到工作区中,选中世界地图,打开“修改”→“变形”→“水平翻转”菜单,将地图做水平翻转,并设置颜色Alpha透明度为30%。
4.回到主场景,将图层1改名为“地球”,然后使用“椭圆工具”绘制一个圆形。再新建一个“地球表面”层,调节“填充颜色”为放射状渐变填充,填充地球表面(如图2)。
5.新建“地球前遮罩”层,将“地球层”上绘制的圆形复制到“地球前遮罩”层内。再新建“地图前”和“地图后”两个图层,分别将“世界地图”和“世界地图低清晰度”拖放到两个图层中,调整两幅地图的位置如图3所示。
6.制作“地图前”为向右移动动画,制作“地图后”为向左移动动画至结束。
7.调整各图层的位置关系,然后在“地球”和“地球前遮罩”层上单击右键,选择“遮罩层”即可。
二、Action script法
此法原理是将三维坐标转换为二维坐标。首先将三维坐标值保存在数组里,根据一定规则对这些数组进行计算转换为二维坐标,并对这些二维坐标渲染,以实现模拟三维的效果。
1.启动Flash MX 2004,新建大小为600×500像素,背景为黑色,帧频为12fps的文档。
2.按Ctrl+F8新建一个“影片剪辑”元件,命名为“图形”。然后使用“椭圆工具”绘制一个圆形,删除圆形的边缘线,并用“选择工具”拖拉圆形边缘,使它成为一个不规则的图形(如图6)。
3.再新建一个名为“图形变色效果”的“影片剪辑”元件,将绘制好的“图形”元件拖放到工作区中,并在“属性”面板中命名实例名称为Circle。
4.在第40、80、120和160帧上插入关键帧,然后分别改变它们的颜色属性。你可以根据自己的爱好随意改变,最后制作成一个颜色渐变的补间动画(如图7)。再新建一个“影片剪辑”元件,名为“三维效果”,在这个元件里输入文字“三维效果”。
5.回到场景1中,将图层1改名为“三维效果”,然后将“三维效果”元件拖放到工作区左上角位置,命名实例名称为point。新建图层,命名为“图形”,将“图形”元件拖放到工作区中,并命名实例名为wire。再新建图层,命名为“ac”,并在第2、3帧上插入关键帧。
6.在ac层的第1、2、3帧上加入动作(具体代码参见光盘)后,最后按Ctrl+Enter便可预览动画了。通过这个实例可以发现,利用Actionscript对元件的二维坐标进行计算转化,可以实现一种三维效果。我们可以通过这种思想做进一步深入研究,作出更好的三维效果。