论文部分内容阅读
张炜昱的个人主页: http://www.crazydream.net,MSN: crazydream2008@gmail.com,QQ: 545387308。
果果:上期我们用BOX2d物理引擎做了一个小小的尝试,二维的还不够过瘾?别着急,今天我们来试试三维引擎!
不管是二维物理引擎,还是三维引擎,都是为了让大家开发互动程序时更方便。
没有三维引擎:如果想在电脑屏幕上呈现三维的物体和场景,就需要电脑图形学和复杂的数学知识。要把三维空间中的点转化到二维屏幕上,并用线连接那些点组成面,通过复杂的算法在软件中实时渲染三维物体,真是一个复杂的过程!
有了三维引擎:一些厉害的程序员已经帮我们做好了这些事情,把这个转化和控制的过程写好成一个类库。我们需要做的不是去学习图像学和数学。仅仅学习如何使用那个类就可以了。
三维程序在Flash中的超酷表现
先来直观感受一下吧!
360度可爱立体网站
http://www.ecodazoo.com
全三维!可以拖着鼠标360°旋转,看到其他的角度。第一次看到这个站时,很容易被震撼到(见图1)。
地狱里的13天
http://www.bubblebox.com/play/action/852.htm
场景是三维的,可以左右或者上下看。很像一款古老的DOS上的游戏,不过这个是Flash的(见图2)。
3D平衡球
http://www.mochigames.com/game/tilt_v3
移动鼠标,改变桌面角度,使小球进入蓝色光球的区域。
多人打坦克游戏
http://tankionline.com
一个Flash的多人在线打坦克游戏,非常强大,全三维的环境哦(见图3)!
主流三维引擎秀
三维引擎是AS程序员的必备知识之一,会使用它们,找工作可以起到加分作用!目前流行的三维引擎(类)主要有:
Papervision 3D (PV3D)
http://www.papervision3d.org
算是最老牌最流行的3D引擎了,AS2时代就有。性能不错,支持ASE和DAE格式的3D模型,其中DAE格式的贴图支持得非常不错。支持的材质方式十分之多,几乎我们所能想到的方式基本都有。
Away3D
http://www.away3d.com
这是一个功能很强大的3D引擎,支持多种(ASE、DAE、KMZ、3DS、Md2、Obj)模型格式,支持3D动画,支持动态灯光等。
这两类用的人比较多,相关的教程和讨论文章也很多,可以很容找到。此外还有Sandy 3D Engine(http://www.flashsandy.org)、Alternativa 3(http://www.alternativaplatform.com)、FIVe3D(http://www.mathieu-badimon.com)、Roxik Sharikura 3D Library(http://temp.roxik.com)等三维引擎。
试一试
好了,下面进入动手的部分,我们来做一个三维牛奶盒,用鼠标拖动它可以改变角度!
首先登录http://papervision3d.googlecode.com下载最新的PV3D类库,放在FLA相同的目录中。因为是三维引擎,所以还需要一个三维的模型。
打开3DMax,建模,贴图(见图4)。3DMax是设计师的必备工具之一,大家可能不精通,但是起码建模和渲染应该可以做吧,贴图如图5所示。
在3DMax中建好模型还不行,我们还要输出一个Flash看得懂的格式。
导出COLLADA的格式(全称是COLLAborative Design Activity),可以用来建立3D互动程序的一种档案交换格式─DAE(全称是digital asset exchange)。
COLLADA主要定义一个开放式的XML标准。在3D软件中建立好的模型,只要通过COLLADA的外挂插件ColladaMax(目前支持3DMax7、8、9版本)就可以输出成DAE的文档,这个文档包含的内容以XML文字资料形式来描述。
如果安装ColladaMax后,在3DMax“文件→导出”中找不到DAE的格式输出,请打开Windows的注册表,找到这个键值:[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\3dsmax\9.0\MAX-1:804],把804改成408,重新安装ColladaMax插件即可。
输出DAE文件后,打开Flash,新建一个文件。PV3D的类库、DAE文件、模型的贴图、FLA可以放在同一个目录中,这样不会出现路径的问题,看着也比较直观。
建立文档类,内容如下:
……
(本实例涉及的文件较多,请登录http://www.crazydream.net/article下载完整源文件)
好了,现在可以按Ctrl+Enter测试了。在屏幕中看到一个三维的牛奶盒,用鼠标拖动可以改变角度,很神奇吧?
Flash奇境漫游记系列连载到本期为止画上了圆满的句号。下期,我们将进入新的“天生我才”旅程,敬请期待吧!
果果点酱
●穿越!我们生活在几维空间?
上期是二维物理引擎,这期是三维引擎,X、Y、Z轴都用上了,那么还有四维、五维吗?先来赞一下制作引擎的热心人,给全世界的Flash爱好者们插上翅膀。既然插上翅膀,就来个漫游幻想吧,我们生活的世界,到底有几维呢?
一维是线,二维是面,三维是立体,四维是时间,郭敬明很喜欢写时光、青春的作品,所以网名叫“第四维”,我们熟悉的“小四”就是这么来的。
现在流行一个词——穿越。什么东西整上这个词,似乎就会变得更潮。《多拉A梦》的时光机就不说了,《月光宝盒》玩了穿越,今年又出了《越光宝盒》的新版本,无数名角在里面打酱油,逗大家哈哈一乐,导演也很明朗地把“穿越”装进了标题里。
考考你,“穿越”大概发生在第几维呢?我觉得应该是第四维,也就是时间。
伟大的爱因斯坦在相对论中说,我们生活中所面对的三维空间加上时间构成所谓四维空间。由于我们在地球上感觉到的时间很慢,所以不会明显感觉到四维空间的存在,但一旦登上宇宙飞船或到达宇宙之中,使本身所在参照系的速度开始变快或开始接近光速时,我们就能对比找到时间的变化。如果在时速接近光速的飞船里航行,生命会比在地球上的人要长很多哦!
科学是百家争鸣的,有人提出了五维概念,把“黑洞”拉进来玩了一把,认为五维代表能量无界限。通过特殊的时间机器能从一个黑洞向另一个黑洞打通路程,突然出现在我们预先规定的将来,或是出现在我们预先规定的过去,并通过相反途径返回到我们的空间中来。读者们的思绪是不是已经进入了外太空?那么就化身奥特曼吧,出发!穿越!
果果:上期我们用BOX2d物理引擎做了一个小小的尝试,二维的还不够过瘾?别着急,今天我们来试试三维引擎!
不管是二维物理引擎,还是三维引擎,都是为了让大家开发互动程序时更方便。
没有三维引擎:如果想在电脑屏幕上呈现三维的物体和场景,就需要电脑图形学和复杂的数学知识。要把三维空间中的点转化到二维屏幕上,并用线连接那些点组成面,通过复杂的算法在软件中实时渲染三维物体,真是一个复杂的过程!
有了三维引擎:一些厉害的程序员已经帮我们做好了这些事情,把这个转化和控制的过程写好成一个类库。我们需要做的不是去学习图像学和数学。仅仅学习如何使用那个类就可以了。
三维程序在Flash中的超酷表现
先来直观感受一下吧!
360度可爱立体网站
http://www.ecodazoo.com
全三维!可以拖着鼠标360°旋转,看到其他的角度。第一次看到这个站时,很容易被震撼到(见图1)。
地狱里的13天
http://www.bubblebox.com/play/action/852.htm
场景是三维的,可以左右或者上下看。很像一款古老的DOS上的游戏,不过这个是Flash的(见图2)。
3D平衡球
http://www.mochigames.com/game/tilt_v3
移动鼠标,改变桌面角度,使小球进入蓝色光球的区域。
多人打坦克游戏
http://tankionline.com
一个Flash的多人在线打坦克游戏,非常强大,全三维的环境哦(见图3)!
主流三维引擎秀
三维引擎是AS程序员的必备知识之一,会使用它们,找工作可以起到加分作用!目前流行的三维引擎(类)主要有:
Papervision 3D (PV3D)
http://www.papervision3d.org
算是最老牌最流行的3D引擎了,AS2时代就有。性能不错,支持ASE和DAE格式的3D模型,其中DAE格式的贴图支持得非常不错。支持的材质方式十分之多,几乎我们所能想到的方式基本都有。
Away3D
http://www.away3d.com
这是一个功能很强大的3D引擎,支持多种(ASE、DAE、KMZ、3DS、Md2、Obj)模型格式,支持3D动画,支持动态灯光等。
这两类用的人比较多,相关的教程和讨论文章也很多,可以很容找到。此外还有Sandy 3D Engine(http://www.flashsandy.org)、Alternativa 3(http://www.alternativaplatform.com)、FIVe3D(http://www.mathieu-badimon.com)、Roxik Sharikura 3D Library(http://temp.roxik.com)等三维引擎。
试一试
好了,下面进入动手的部分,我们来做一个三维牛奶盒,用鼠标拖动它可以改变角度!
首先登录http://papervision3d.googlecode.com下载最新的PV3D类库,放在FLA相同的目录中。因为是三维引擎,所以还需要一个三维的模型。
打开3DMax,建模,贴图(见图4)。3DMax是设计师的必备工具之一,大家可能不精通,但是起码建模和渲染应该可以做吧,贴图如图5所示。
在3DMax中建好模型还不行,我们还要输出一个Flash看得懂的格式。
导出COLLADA的格式(全称是COLLAborative Design Activity),可以用来建立3D互动程序的一种档案交换格式─DAE(全称是digital asset exchange)。
COLLADA主要定义一个开放式的XML标准。在3D软件中建立好的模型,只要通过COLLADA的外挂插件ColladaMax(目前支持3DMax7、8、9版本)就可以输出成DAE的文档,这个文档包含的内容以XML文字资料形式来描述。
如果安装ColladaMax后,在3DMax“文件→导出”中找不到DAE的格式输出,请打开Windows的注册表,找到这个键值:[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\3dsmax\9.0\MAX-1:804],把804改成408,重新安装ColladaMax插件即可。
输出DAE文件后,打开Flash,新建一个文件。PV3D的类库、DAE文件、模型的贴图、FLA可以放在同一个目录中,这样不会出现路径的问题,看着也比较直观。
建立文档类,内容如下:
……
(本实例涉及的文件较多,请登录http://www.crazydream.net/article下载完整源文件)
好了,现在可以按Ctrl+Enter测试了。在屏幕中看到一个三维的牛奶盒,用鼠标拖动可以改变角度,很神奇吧?
Flash奇境漫游记系列连载到本期为止画上了圆满的句号。下期,我们将进入新的“天生我才”旅程,敬请期待吧!
果果点酱
●穿越!我们生活在几维空间?
上期是二维物理引擎,这期是三维引擎,X、Y、Z轴都用上了,那么还有四维、五维吗?先来赞一下制作引擎的热心人,给全世界的Flash爱好者们插上翅膀。既然插上翅膀,就来个漫游幻想吧,我们生活的世界,到底有几维呢?
一维是线,二维是面,三维是立体,四维是时间,郭敬明很喜欢写时光、青春的作品,所以网名叫“第四维”,我们熟悉的“小四”就是这么来的。
现在流行一个词——穿越。什么东西整上这个词,似乎就会变得更潮。《多拉A梦》的时光机就不说了,《月光宝盒》玩了穿越,今年又出了《越光宝盒》的新版本,无数名角在里面打酱油,逗大家哈哈一乐,导演也很明朗地把“穿越”装进了标题里。
考考你,“穿越”大概发生在第几维呢?我觉得应该是第四维,也就是时间。
伟大的爱因斯坦在相对论中说,我们生活中所面对的三维空间加上时间构成所谓四维空间。由于我们在地球上感觉到的时间很慢,所以不会明显感觉到四维空间的存在,但一旦登上宇宙飞船或到达宇宙之中,使本身所在参照系的速度开始变快或开始接近光速时,我们就能对比找到时间的变化。如果在时速接近光速的飞船里航行,生命会比在地球上的人要长很多哦!
科学是百家争鸣的,有人提出了五维概念,把“黑洞”拉进来玩了一把,认为五维代表能量无界限。通过特殊的时间机器能从一个黑洞向另一个黑洞打通路程,突然出现在我们预先规定的将来,或是出现在我们预先规定的过去,并通过相反途径返回到我们的空间中来。读者们的思绪是不是已经进入了外太空?那么就化身奥特曼吧,出发!穿越!