- Houdini | 那些唯美的游戲場(chǎng)景是如何制作的?
最近幾年國外的開放大世界游戲的不斷推出,背后支撐這種游戲場(chǎng)景開發(fā)的程序化技術(shù)也被越來越多的國內(nèi)游戲開發(fā)者所了解,特別是Houdini技術(shù)逐漸被國內(nèi)各游戲制作公司了解和接受。
在游戲開發(fā)過程中,對(duì)于場(chǎng)景的制作要求越來越高,區(qū)域也較廣闊,至少是4×4公里的面積,還要包含很多的樹木等障礙物,密集的草地,道路,豐富的建筑群,建筑里面還要有玩家要尋找的武器、道具等———這就就導(dǎo)致了面臨的幾個(gè)綜合性問題:
巨大的模型工作量、大量需要手動(dòng)進(jìn)行編輯的工作、巨大的模型量導(dǎo)致游戲包體的膨脹,移動(dòng)端渲染變慢、內(nèi)存會(huì)有很大壓力,意味著不可能把非常豐富的資源全部加載到場(chǎng)景里面。
最好的解決辦法就是模塊化方案。這幾種問題都可以通過Houdini軟件的程序化功能,從而得到很好的解決。
程序化技術(shù)的價(jià)值不僅在于加速了美術(shù)內(nèi)容生成,同時(shí)加速了串聯(lián)美術(shù)、策劃以及程序的整個(gè)流程,創(chuàng)造了游戲世界開發(fā)更靈活的迭代方式。
程序化生成,這個(gè)技術(shù)主要還是依賴Houdini軟件。通過輸入一些簡單線條、或者是多邊形、或者是一些參數(shù),就可以根據(jù)預(yù)先設(shè)定好的處理流程的資產(chǎn),得到最終的模型資源。管巖石峭壁,還是房屋或者道路河流、甚至一個(gè)關(guān)卡,都可以直接生成,只需要進(jìn)行簡單的參數(shù)調(diào)整,就可以得到不同的效果,而且這種方式是是可逆化的,也就是說,哪里覺得不合適直接就可以進(jìn)行修改,方便快捷。
我們可以通過資產(chǎn)HDA里面的參數(shù)調(diào)節(jié)得到不一樣形態(tài)的模型(圖一、圖二),也可以直接通過參數(shù)來控制模型的數(shù)量變化(圖三、圖四)。
圖一
圖二
圖三
圖四
1、地形系統(tǒng)
Houdini中的程序化地形生成可以快速獲得可用于游戲引擎的逼真地形地貌資產(chǎn)。主要通過高度場(chǎng)來快速迭代,添加噪波進(jìn)行變形模擬。
地形數(shù)據(jù)生成主要來源有以下兩個(gè)方面:
在Houdini中基于Heightmap的數(shù)據(jù);
游戲編輯期中輸出的2D Mask數(shù)據(jù)。
經(jīng)過仔細(xì)調(diào)節(jié),得到最終需要的形態(tài)。
2、以點(diǎn)云為驅(qū)動(dòng)的程序化技術(shù)
以點(diǎn)云為驅(qū)動(dòng)的程序化技術(shù),融合Houdini與點(diǎn)云系統(tǒng),實(shí)現(xiàn)產(chǎn)品的高效迭代。
一座建筑的組件是20-30個(gè),我們可以先通過點(diǎn)云組織位置信息,每個(gè)點(diǎn)實(shí)際上是一個(gè)建筑模塊,把建筑模塊和這些點(diǎn)云信息組織完成之后在做細(xì)化的替換。
一座樓房也是一樣,如果想改變樓層、大小,只需要調(diào)節(jié)參數(shù)即可。如模型量占用內(nèi)存過大,也可以優(yōu)化縮減每個(gè)單元模型的面數(shù)、貼圖的使用精度等,這樣就給予了我們場(chǎng)景非常便利的優(yōu)化條件。
通過這種方式,我們整個(gè)游戲場(chǎng)景就是一些點(diǎn)云組成。如樹、植被、建筑包括所有的道路都是點(diǎn)云構(gòu)成,這些點(diǎn)云導(dǎo)入虛幻引擎或者Unity引擎里面,通過實(shí)際化渲染,一個(gè)批次就可以全部渲染完。優(yōu)化起來直接調(diào)節(jié)參數(shù)就可以。
總結(jié)一下,程序化技術(shù)其實(shí)是以點(diǎn)云為驅(qū)動(dòng)的程序化技術(shù)。正是因?yàn)橛悬c(diǎn)云的組織結(jié)構(gòu),所有的操作、所有的變化是可以通過一個(gè)Excel表就知道加了什么、減了什么,也可以通過分析Excel表或者數(shù)據(jù)表的格式,知道某個(gè)單位內(nèi)的美術(shù)資源量到底消耗了多少。也是通過這種方式才有可能把非常大密度的建筑或者社區(qū)手機(jī)平臺(tái)上渲染出來。
Houdini確實(shí)是很好流程化軟件。當(dāng)你的制作人員沒有辦法支持到項(xiàng)目的需求,項(xiàng)目又想在某個(gè)點(diǎn)上能夠有自己的突破或者是爆發(fā)的時(shí)候,那么Houdini確實(shí)是一個(gè)非常方便的工具。因?yàn)橹灰胁邉?、只要有美術(shù),它自己就可以搞定事情,不需要程序做過多的干預(yù)。