WEB开发网
开发学院图形图像Flash Flash与3D编程探秘(三)- 摄像机(Camera) 阅读

Flash与3D编程探秘(三)- 摄像机(Camera)

 2008-11-12 11:47:19 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 在前面的两节中,你在空间的位置是一成不变的,Flash与3D编程探秘(三)- 摄像机(Camera),我们一直是让舞台上的物体来回移动,并没有用到摄像机这个概念,定义原点,设置焦距,在有些时候我们只需要让物体运动,但是随着你对3D的深入

本文示例源代码或素材下载

在前面的两节中,你在空间的位置是一成不变的。我们一直是让舞台上的物体来回移动,并没有用到摄像机这个概念,在有些时候我们只需要让物体运动。但是随着你对3D的深入,你会发现那些并不足够。当我们讨论3D空间的时候,摄像机理论上代表3D中的一个点,我们从这个点去观看这个空间。为什么要使用摄像机呢?因为我们希望能够透过一个镜头看到其他所有舞台上的物体,其实程序里摄像机只不过是一组数值来表示你的摄像机在3D空间的参数(比如位置)。想象一下你在广阔的撒哈拉沙漠里越野,又或者你的朋友小P走向在你的身旁。你的朋友小P慢慢走向你并最终到达离你很近的位置,几下来你们可以交谈了。但是,如果小P站在原地不动,而是你走向他的身旁,那么对于地面来说,小P是不动的,而你(摄像机)是移动的。在这里你的眼睛就充当了我们的摄像机。看看下面的两个动画文件,再对比一下。左边是小P走向你,右边是你走向小P。

移动物体和移动摄像机

你会发现对于你的眼睛来说,你可以并不走动,只要把小P和周围一切的物体都移动到你的面前,也会达到同样的效果。但是哪一种可行呢?下面我们做两个动画来说明如何在我们的3D使用摄像机。动画效果如下,左面的是移动我们的小P,右边是移动我们的摄像机。

对比移动小P和移动你的摄像机

制作步骤:

1. 和以前一样,定义原点,设置焦距,创建舞台。

//originisthecenteroftheviewpointin3dspace
//everythingscalearoundthispoint
//theselinesofcodewillshift3dspaceorigintothecenter
varorigin=newObject();
origin.x=stage.stageWidth/2;
origin.y=stage.stageHeight/2-70;
//focallengthofviewer'scamera
varfocal_length=400;

1 2 3 4 5 6  下一页

Tags:Flash 编程 探秘

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接