快速导航:   教程资源  | 经典范例  | 友情链接  | 联系我们  | 官方微博
登陆 | 注册

 flash 3d 研究所
flash3d 研究所 pv3d 教程 研究所小贴士: stage3D永远都处于所有层的最下面










最近更新:
● tolikkk阁下在讨论区里 回复“good seo ...”(01:02:19)
● tolikkk阁下在讨论区里 回复“good seo ...”(00:13:51)
● tolikkk阁下在讨论区里 回复“good seo ...”(00:09:07)
浏览主题:《三维程序/游戏制作基本常识》

《三维程序/游戏制作基本常识》
DDM君 (2012-03-16 05:50:41)

Furry/DDM君,Flab3D.com (允许转载,转载请注明)

很多flash3d初学者都是从flash或平面绘制转型的,对三维方面的常识的确理解甚少,即使是天天玩三维游戏的人。虽然这些信息对一些三维经验丰富的朋友是显然得不能再显然的东西,但写这一篇对某一些新上手的朋友是有必要的。

建模
除非简单几何体,任何复杂一点的模型和贴图位置,都只能靠其他三维软件导入,这不光是flash3d的常识,也是游戏制作的基本常识。

甚至很多朋友会以为既然用flash是可以‘画’图形的,那么用flash3d就能直接‘画’三维模型。
三维模型之所以叫做‘建’模,就一定和‘画’模有本质的区别。模型就像"一个灯笼框,外面粘着各种图画"一样,立体的‘灯笼框’肯定是不能简单的用笔‘画’出来的。

建模至少包括两个步骤:
1 模型的建立,每个顶点的空间位置的确定。
2 确定模型每个顶点对应的贴图位置,以便能够正确的贴图
而这两个步骤,人类不靠建模max,maya,xsi等等建模工具是无法完成的。
理论上来说,只要知道一个模型的所有顶点和对应的贴图位置,就能不靠三维软件也能建模,但问题就是稍复杂点的模型至少都是几百个点到几万个点,人类不靠三维软件是根本无法知道这些顶点和对应贴图的位置的。
具体如何导入外部模型,请参考《超简易papervision3D基础 第三篇 导入外部模型》->点击去教程
具体如何建漂亮的模型和贴图则是美工工作,网上有很多教程,和flash3d关系不大。电视剧难看,把电视抱着啃没什么用,对吧。


引擎
‘引擎’的定义现在看来已经包括三种:
1)     图形引擎
最简单的理解就是一个成像的东西。把三维的数据变成图像,放映给观众。就像一个电视机一样,把接收到的数据信息变成图像。 这是我们最早称作‘引擎’的东西。它的目的就是减少游戏编程者的工作,因为图形编程的工作量很庞大的,避免每次重复开发,和让游戏编程者尽量把精力集中在游戏本身的逻辑和规则的开发,而不是怎么显示图形上。现在很经典的游戏图形引擎比如DOOM,虚幻等等。Pv3d,away3d等等都是ActionScript写的图形引擎。

2)     动力引擎
个人认为动力引擎最初的目的应该是"编程人员向动画人员发起的挑战"。以前的三维游戏,动态全是靠动画人员制作出来。有些简单游戏使用动画人员又有些不必要,简单动作希望能用程序模拟出来。
动力引擎的好处是每次模拟出来的动态随受力不同会有改变,这是动画师无法达到的,因为动画师做出什么动作就是什么,无法随机变化,头发,布料,高处下落,吹飞,拖扯都是动力引擎的强项。但弊端是无法制作出复杂的动态,比如说跳肚皮舞(=_=好冷)
所以现在的大作,一般都是动画师和动力引擎共同实现,动力引擎处理一些随机的动态,动画师(和动态捕捉)处理人物的基本动作。
游戏界hover这个三维动力引擎是非常有名的。Box2d是一个可以说小巧完美的flash的二维动力引擎,用它可以做一些非常有趣的小游戏。Wow则是我们flash3d的三维动力引擎,比起前两者还是非常不完善的。不知道以后会否有hover的支持,(shockwave是可以用hover的)

3)     游戏引擎
比如说我们现在说的‘《上古卷轴》引擎’的意思就是说能够轻松做出自制任务的引擎,这种引擎制作者根本不用考虑游戏的规则,逻辑判断,或者图形效果等等,大部分精力完全专著于制作任务就是了。也就是说,制作者根本对基本游戏规则没法修改,只能根据这个规则添加或改变内容。所以实际上这个东西以前是不叫做‘引擎’的,只是现在大家都喜欢这么称而已。


什么是三维
从物理概念来说,所有屏幕上显示的东西,都不是三维的,都是二维的。只有我们这些能被摸到的东西才是‘真的三维’。我们能触摸到屏幕,但触摸不到屏幕里显示的美女,对吧。所以屏幕是三维的,显示的美女是二维,即使这个在现实中存在的美女真人是三维的。

但我们平常所说的‘三维’,实际上一种在平面上模拟三维的成像技术,它除了‘左右上下’的移动,还多了‘看起来像’是‘里外’的移动(其实就是缩放)。
和‘看起来是否立体,玩起来是否立体’没有任何关系。
举例:《红侠Joe》和《勇者斗恶龙7》都是卡通渲染,看起来像是二维画的,但都是‘三维游戏’
举例:DC上的《斑鸠》和PS2上的《魂斗罗》都是只能平面的移动飞机和人物的游戏,但他们都是‘三维游戏’

"三维"的最大不清楚的地方是,区分"即时(实时)演算三维"和"渲染播放三维"

其实,从本质上来说,这两个的区别是‘即时(实时)演算三维’的渲染一张图的时间只有0.0几秒,而‘渲染播放三维’渲染一张图的时间需要很多个小时。
另一个区分方法就是"是否有交互的可能性"
举例:最终幻想10,12有很多玩家不能交互对白过场动画(不是指那种漂亮的渲染CG的过场动画),这些都是‘三维’的,虽然玩家不能交互,但有‘交互的可能性’,就是说制作者愿意,玩家是可以对对白场景进行各种旋转操作的。而那种漂亮的渲染CG是没有‘交互的可能性’的,不管制作者愿不愿意。

电影,三维动画片都是用‘渲染播放三维’,里面有生动真实的光影,毛发,凹凸等等。‘渲染播放三维’的画面是可以无限完美的,但它的弊端是无法立即做出交互式的反应。导演开始渲染了什么镜头,观众就必须看什么画面。电影院没有观众自己能旋转镜头的说法吧。
但因为最终他们保存和播放都是以位图格式,所以我们都按游戏的观点,他们都是‘二维’的。所有三维电影都是游戏定义里的‘二维’,所以游戏开场动画这种不能交互的图像都是‘二维’的。

三维游戏中,玩家是需要立即交互反应的。我们不可能按一个前进键,然后傻坐着等1个月渲染出这个角色做出前进的动作吧。我们需要按前进键时,角色能立即作出动画上的反应。也就是说,如果渲染速度达不到0.0几秒渲染一张图,玩家就会觉得‘卡’。
正因为要达到这个速度,所以游戏画面虽然越来越华丽,但游戏角色始终比电影角色看起来要简陋些的原因

但随着图形技术和硬件的不断进化,几十年后这两个称呼也许会统一起来。

另:我们很多游戏制作和产品演示中,有一种把三维模型先渲染出几个方向存起来的方法。
这些都是‘二维’的,即使模型看起来是三维的,也可以旋转。它的优势是对图形运算需求很低。弊端是旋转只能有开始渲染出来的方向,没渲染的角度就没有,旋转不流畅。
举例:游戏里暗黑破坏神1,2,和现在很多汽车,服装展示。




Furry/DDM君
Flab3D.com







flash 3d 研究所
(2009-01-01 12:53:04)
看了教程对游戏引擎的说明,我想问下像虚幻3这类的引擎也是属于游戏引擎吗?


flash 3d 研究所
(2009-01-04 20:35:39)
虚幻是图形引擎,只是以虚幻这个游戏名命名,可以做任何类型的游戏。



flash 3d 研究所
(2009-01-05 22:25:16)
明白了,呵呵


flash 3d 研究所
(2009-03-14 21:29:41)
明知flash做的3D很慢,还得做3D(下载还得等累死!!)。明知山有虎,偏向虎山行。
编CS 的 OpenGL用C++做好得很,而且很快(我估计比flash快上上百倍),传播的话,还不做个软件呢?
.Net 应该从理论上能够和OpenGL结合。
我劝大家不要把 flash3D实现作为主用任务,最多做点界面动画。


flash 3d 研究所
(2009-04-02 20:01:19)
楼上的是说flash3D没什么前途吗?


flash 3d 研究所
(2009-04-27 19:52:13)
flash3D 绝对是未来趋势,正式商用后前途无量,可以说是改变目前格局的大杀器


flash 3d 研究所
(2009-05-18 10:56:58)
如果能实现PS画质的话,应用性还是很强的,可以应用多种场合啊


flash 3d 研究所
(2009-06-22 21:40:21)
flash3D只是一种手段吧!因为flashplayer的普及高,大家才去深入这个方向。看好flash~~希望adobe能做好这个产品


flash 3d 研究所
(2009-07-16 22:51:22)



flash 3d 研究所
(2009-07-17 17:38:58)
郁闷的...
flash3D 效果却实不怎地(全依赖CPU不行)
google o3d 强大
但本人不喜js 偏爱as
所以还是支持falsh


flash 3d 研究所
(2009-07-20 12:18:02)
对,目前比flash3d效率高的东西多的去了,但他们的劣势都是要播放需要下载一些可恨的插件。不要忘记shockwave这个比flash3d效率高很多的东西就是这样死亡的。
ps:shockwave的最后据点--日本的shockwave.jp.co站,终于坚持不住落幕了,我的青春战斗过的地方啊~~~感概良多。


flash 3d 研究所
(2009-12-28 17:31:09)
任何技术都有自己漫长的发展过程,你今天看到的炫丽的游戏和动画画面,在二三十年前是人们连想都无法想象的,那个时候电影特效都还在用传统的实物模型,现在呢?也许今天你看到的flash在3d方面确实有些瓶颈,但这并不代表它的将来,如果当年做计算机图形开发方面的人都颓废的想,也许你今天连看到虚幻引擎效果的机会都没有了……


flash 3d 研究所
(2010-01-19 17:34:56)
jerry君说的很好!


flash 3d 研究所
(2010-01-26 15:29:34)
unreal3是一个商业级的游戏引擎,除了图形的部分,还包括物理,AI,声音,特效,编辑工具和脚本等很多内容。
这篇对wiki page的翻译比较详细的介绍了unreal系列:
http://www.cppblog.com/hitmaen/archive/2007/05/21/24534.aspx

PS:我个人非常看好flash 3D的未来 : )


flash 3d 研究所
(2010-10-11 12:27:58)
有什么办法实现flash 三维展示商品,并且可以使用鼠标控制的效果。


flash 3d 研究所
(2011-06-09 18:47:00)
flash 3D即将出依赖显卡而不依赖CPU的功能,期待吧!


flash 3d 研究所
(2011-07-09 18:08:08)
明白了,呵呵



flash 3d 研究所
(2011-07-19 10:54:52)
不知道哪位前辈愿意带着我学……交点学费没关系,不过不要太高……bbkkkk8@163.com


flash 3d 研究所
(2011-10-28 22:26:17)
顶一个额,学习中


flash 3d 研究所
(2011-11-22 09:35:25)
oh my ladygaga , 膜拜


flash 3d 研究所
(2011-12-20 05:18:16)
So excited I found this article as it made tihngs much quicker!


评论人:
邮   箱: (填入邮箱,博客地址均可)

内   容: (广告和垃圾内容可能会被删除,望理解)
链接地址

验证码:(为防止机器人骚扰,请麻烦输入验证码^_^)
  

(目前需登陆方可发表)


不想添加了