1. 程式人生 > >三維程序/遊戲制作基本常識

三維程序/遊戲制作基本常識

畫面 接收 遊戲編程 小遊戲 電視劇 角度 準備 北京 支持

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,和現在很多汽車,服裝展示。

以上是雲棲社區小編為您精心準備的的內容,在雲棲社區的博客、問答、公眾號、人物、課程等欄目也有的相關內容,歡迎繼續使用右上角搜索按鈕進行搜索編程 模型 後期制作基本常識、產品模型制作基本程序、北京電腦基本常識學習、電腦基本常識學習、書法落款的基本常識,以便於您獲取更多的相關知識。

三維程序/遊戲制作基本常識