1、三维程序游戏制作基本常识很多 flash3d 初学者都是从 flash 或平面绘制转型的,对三维方面的常识的确理解甚少,即使是天天玩三维游戏的人。虽然这些信息对一些三维经验丰富的朋友是显然得不能再显然的东西,但写这一篇对某一些新上手的朋友是有必要的。建模除非简单几何体,任何复杂一点的模型和贴图位置,都只能靠其他三维软件导入,这不光是 flash3d 的常识,也是游戏制作的基本常识。甚至很多朋友会以为既然用 flash 是可以画图形的,那么用flash3d 就能直接画三维模型。三维模型之所以叫做建模,就一定和画模有本质的区别。模型就像“一个灯笼框,外面粘着各种图画“一样,立体的灯笼框肯定是不能简
2、单的用笔画出来的。建模至少包括两个步骤:1 模型的建立,每个顶点的空间位置的确定。2 确定模型每个顶点对应的贴图位置,以便能够正确的贴图而这两个步骤,人类不靠建模 max,maya,xsi 等等建模工具是无法完成的。理论上来说,只要知道一个模型的所有顶点和对应的贴图位置,就能不靠三维软件也能建模,但问题就是稍复杂点的模型至少都是几百个点到几万个点,人类不靠三维软件是根本无法知道这些顶点和对应贴图的位置的。具体如何导入外部模型,请参考超简易 papervision3D 基础 第三篇 导入外部模型-点击去教程具体如何建漂亮的模型和贴图则是美工工作,网上有很多教程,和flash3d 关系不大。电视剧
3、难看,把电视抱着啃没什么用,对吧。引擎引擎的定义现在看来已经包括三种:1) 图形引擎最简单的理解就是一个成像的东西。把三维的数据变成图像,放映给观众。就像一个电视机一样,把接收到的数据信息变成图像。 这是我们最早称作引擎的东西。它的目的就是减少游戏编程者的工作,因为图形编程的工作量很庞大的,避免每次重复开发,和让游戏编程者尽量把精力集中在游戏本身的逻辑和规则的开发,而不是怎么显示图形上。现在很经典的游戏图形引擎比如 DOOM,虚幻等等。Pv3d,away3d 等等都是 ActionScript 写的图形引擎。2) 动力引擎个人认为动力引擎最初的目的应该是“编程人员向动画人员发起的挑战“。以前的
4、三维游戏,动态全是靠动画人员制作出来。有些简单游戏使用动画人员又有些不必要,简单动作希望能用程序模拟出来。动力引擎的好处是每次模拟出来的动态随受力不同会有改变,这是动画师无法达到的,因为动画师做出什么动作就是什么,无法随机变化,头发,布料,高处下落,吹飞,拖扯都是动力引擎的强项。但弊端是无法制作出复杂的动态,比如说跳肚皮舞(=_=好冷)所以现在的大作,一般都是动画师和动力引擎共同实现,动力引擎处理一些随机的动态,动画师(和动态捕捉)处理人物的基本动作。游戏界 hover 这个三维动力引擎是非常有名的。Box2d 是一个可以说小巧完美的 flash 的二维动力引擎,用它可以做一些非常有趣的小游戏
5、。Wow 则是我们 flash3d 的三维动力引擎,比起前两者还是非常不完善的。不知道以后会否有 hover 的支持, (shockwave 是可以用 hover 的)3) 游戏引擎比如说我们现在说的上古卷轴引擎的意思就是说能够轻松做出自制任务的引擎,这种引擎制作者根本不用考虑游戏的规则,逻辑判断,或者图形效果等等,大部分精力完全专著于制作任务就是了。也就是说,制作者根本对基本游戏规则没法修改,只能根据这个规则添加或改变内容。所以实际上这个东西以前是不叫做引擎的,只是现在大家都喜欢这么称而已。什么是三维从物理概念来说,所有屏幕上显示的东西,都不是三维的,都是二维的。只有我们这些能被摸到的东西才
6、是真的三维 。我们能触摸到屏幕,但触摸不到屏幕里显示的美女,对吧。所以屏幕是三维的,显示的美女是二维,即使这个在现实中存在的美女真人是三维的。但我们平常所说的三维 ,实际上一种在平面上模拟三维的成像技术,它除了左右上下的移动,还多了看起来像是里外的移动(其实就是缩放) 。和看起来是否立体,玩起来是否立体没有任何关系。举例:红侠 Joe和勇者斗恶龙 7都是卡通渲染,看起来像是二维画的,但都是三维游戏举例:DC 上的斑鸠和 PS2 上的魂斗罗都是只能平面的移动飞机和人物的游戏,但他们都是三维游戏“三维“的最大不清楚的地方是,区分“即时(实时)演算三维“和“渲染播放三维“其实,从本质上来说,这两个的
7、区别是即时(实时)演算三维的渲染一张图的时间只有 0.0 几秒,而渲染播放三维渲染一张图的时间需要很多个小时。另一个区分方法就是“是否有交互的可能性“举例:最终幻想 10,12 有很多玩家不能交互对白过场动画(不是指那种漂亮的渲染 CG 的过场动画) ,这些都是三维的,虽然玩家不能交互,但有交互的可能性 ,就是说制作者愿意,玩家是可以对对白场景进行各种旋转操作的。而那种漂亮的渲染 CG 是没有交互的可能性的,不管制作者愿不愿意。电影,三维动画片都是用渲染播放三维 ,里面有生动真实的光影,毛发,凹凸等等。 渲染播放三维的画面是可以无限完美的,但它的弊端是无法立即做出交互式的反应。导演开始渲染了什
8、么镜头,观众就必须看什么画面。电影院没有观众自己能旋转镜头的说法吧。但因为最终他们保存和播放都是以位图格式,所以我们都按游戏的观点,他们都是二维的。所有三维电影都是游戏定义里的二维 ,所以游戏开场动画这种不能交互的图像都是二维的。三维游戏中,玩家是需要立即交互反应的。我们不可能按一个前进键,然后傻坐着等 1 个月渲染出这个角色做出前进的动作吧。我们需要按前进键时,角色能立即作出动画上的反应。也就是说,如果渲染速度达不到 0.0 几秒渲染一张图,玩家就会觉得卡 。正因为要达到这个速度,所以游戏画面虽然越来越华丽,但游戏角色始终比电影角色看起来要简陋些的原因但随着图形技术和硬件的不断进化,几十年后这两个称呼也许会统一起来。另:我们很多游戏制作和产品演示中,有一种把三维模型先渲染出几个方向存起来的方法。这些都是二维的,即使模型看起来是三维的,也可以旋转。它的优势是对图形运算需求很低。弊端是旋转只能有开始渲染出来的方向,没渲染的角度就没有,旋转不流畅。举例:游戏里暗黑破坏神 1,2,和现在很多汽车,服装展示。