《星之卡比·探索發(fā)現(xiàn)》關(guān)卡設(shè)計(jì)的工作流程以及程序化生成場(chǎng)景的開(kāi)發(fā)過(guò)程介紹

來(lái)源:千猴馬的游戲設(shè)計(jì)之道
作者:千猴馬
時(shí)間:2022-11-16
2045
《星之卡比·探索發(fā)現(xiàn)》是《星之卡比》本篇的第一款3D動(dòng)作游戲,我們預(yù)計(jì)地形的制作和調(diào)整成本會(huì)增加。

《星之卡比·探索發(fā)現(xiàn)》是《星之卡比》本篇的第一款3D動(dòng)作游戲,我們預(yù)計(jì)地形的制作和調(diào)整成本會(huì)增加。

我們最終的地形制作流程如下。

  1. 由關(guān)卡設(shè)計(jì)師在地圖編輯器上放置塊狀部件來(lái)創(chuàng)建地形的形狀。

  2. 使用能夠快速展示游戲畫(huà)面的簡(jiǎn)單地形功能,不斷進(jìn)行地形的調(diào)整迭代。

  3. 調(diào)整好地形后,按下地形模型輸出按鈕,自動(dòng)生成正式使用的地形模型。

  4. 放置角色、噱頭和裝飾部件。

另外,在這個(gè)工作流中最大的特點(diǎn)是使用Autodesk Maya程序化地自動(dòng)生成生產(chǎn)地形模型。本次講座詳細(xì)介紹了這個(gè)地形生成系統(tǒng)是如何創(chuàng)建的,如何實(shí)現(xiàn)的,以及運(yùn)行過(guò)程中遇到的問(wèn)題和解決方法。

微信圖片_20221116110407.jpg

地形生成系統(tǒng)—黎明期—

前作《星之卡比·新星同盟》中也使用了3D模型,但與本作不同的是,它是一款2D動(dòng)作游戲。這是當(dāng)時(shí)的地形制作流程。

  1. 關(guān)卡設(shè)計(jì)師在地圖編輯器上放置塊狀部件以創(chuàng)建地形。

  2. 美術(shù)創(chuàng)建的 3D 模型會(huì)自動(dòng)沿著地形放置。

  3. 美術(shù)微調(diào)地形模型放置。

  4. 放置地形以外的裝飾物。

微信圖片_20221116110412.jpg

而作為 3D 動(dòng)作游戲的本作,它的工作流程最初是這樣想的。

  1. 關(guān)卡設(shè)計(jì)師創(chuàng)建地形設(shè)計(jì)圖。

  2. 在此基礎(chǔ)上,由美術(shù)創(chuàng)建地形模型。

微信圖片_20221116110417.jpg

但是,這么做的話會(huì)導(dǎo)致關(guān)卡設(shè)計(jì)調(diào)整困難、美術(shù)工作量大等問(wèn)題。這對(duì)關(guān)卡和美術(shù)來(lái)說(shuō)都是個(gè)壞消息。

到這就誕生了三個(gè)任務(wù)。

  1. 關(guān)卡設(shè)計(jì)師始終能夠調(diào)整、打磨地形形狀。

  2. 顯著降低美術(shù)的生產(chǎn)成本,以便他們能空出手來(lái)做其他事情。

  3. 在上面兩項(xiàng)的基礎(chǔ)上,地形模型的質(zhì)量沒(méi)有下降。

換句話說(shuō),目標(biāo)是“在繼承2D時(shí)代文化的同時(shí),自動(dòng)創(chuàng)建可以直接放到成品游戲中的高質(zhì)量地形模型”。為了實(shí)現(xiàn)這些目標(biāo),我們決定開(kāi)發(fā)一種新的地形模型自動(dòng)生成工具。

微信圖片_20221116110421.jpg

首先,我們把游戲中第一個(gè)場(chǎng)景“おなじみの草原”來(lái)嘗試地形模型自動(dòng)生成的可行性。由于它是該系列的第一款 3D 動(dòng)作游戲,因此有各種選擇和考慮,例如“制作什么樣的地圖”和“如何創(chuàng)建地形的形狀”。

微信圖片_20221116110425.jpg

由于美術(shù)、關(guān)卡、開(kāi)發(fā)之間崗位不同,用到的地形圖像也不同,所以需要先共享圖像。在這款游戲中,先由關(guān)卡策劃使用地圖編輯器來(lái)創(chuàng)建他們想要的地形,然后由美術(shù)在其上繪制了一張圖片,在紙上重現(xiàn)他們想要的東西。在這個(gè)過(guò)程中,成員之間的形象得到了統(tǒng)一。

微信圖片_20221116110428.jpg

作為一個(gè)具體的實(shí)現(xiàn),我們首先從給舞臺(tái)的“邊緣”添加一個(gè)蓬松形狀的部分開(kāi)始。它是通過(guò)使用 Maya 的Curve Warp功能排列零件模型來(lái)實(shí)現(xiàn)的。另外,如果將尖角90度變形,Mesh會(huì)破碎。

地形本身是由關(guān)卡策劃通過(guò)組合塊狀部件來(lái)創(chuàng)建的。采用這種方法是因?yàn)樗子谶M(jìn)行微調(diào),并且接近 2D 的制作方法。

既然草原現(xiàn)在可以生成了,我們著手處理沙漠和購(gòu)物中心的場(chǎng)景。起初,我認(rèn)為有必要對(duì)每個(gè)表面進(jìn)行專(zhuān)門(mén)處理,但經(jīng)過(guò)嘗試后,發(fā)現(xiàn)只需要更改“Moco(邊緣的蓬松形狀)”和材質(zhì)就能生成非常不同的地形了。

之后,就是開(kāi)發(fā)這個(gè)地形生成系統(tǒng)了。同期,也決定了開(kāi)發(fā)和美術(shù)之間的角色劃分。

微信圖片_20221116110454.jpg

地形生成系統(tǒng)—發(fā)展期—

地形生成系統(tǒng)的雛形至此已經(jīng)完成了,但還是很簡(jiǎn)單,沒(méi)有達(dá)到美術(shù)想要的質(zhì)量。接下來(lái),將說(shuō)明為追求質(zhì)量而添加的功能,最終創(chuàng)建的地圖以及這一代游戲的工作流程特點(diǎn)。

道路的表示

首先,增加了“創(chuàng)建道路的功能”。我們準(zhǔn)備了幾個(gè)方案,比如用道路模型等等,到最后,我們采用了頂點(diǎn)顏色(Vertex Color)的方法。

使用頂點(diǎn)顏色有一些優(yōu)勢(shì),比如可以在紋理之間使用相同的UV,并且可以將其用于標(biāo)記地形的角落。

通過(guò)頂點(diǎn)顏色可以改變局部的外觀,例如本作品中的水坑和混凝土劣化。

微信圖片_20221116110517.jpg

自然的地形

接下來(lái),我們添加了一個(gè)使地形看起來(lái)自然一些的功能。地形形狀是由幾十種方塊組合而成的,所以雖然被Moco緩和了一些,但還是給人一種機(jī)械的、塊狀的感覺(jué)。尤其是墻壁的輪廓和與地面的交界處,我可以清楚地看到直線。

微信圖片_20221116110520.jpg

為了使地形自然一些,增加了“山體組件”、“扭曲功能”和“鏤空組件”等內(nèi)容。

 “山體部件”可以和其他塊狀部件組合形成緩坡等等更自然的場(chǎng)景。

“扭曲功能”是一種通過(guò)在地形頂點(diǎn)添加Noise參數(shù)來(lái)實(shí)現(xiàn)的。目的是讓墻體輪廓沒(méi)那么直。

“鏤空組件”是一種切掉重疊地形的功能。它特別適合本作荒廢的世界觀,在很多地方都有使用,對(duì)于噱頭和裝飾部件的放置也很有用。

微信圖片_20221116110531.jpg

另外,作為提高模型細(xì)節(jié)質(zhì)量的一種方式,介紹一下在倒角、地形的角落和Moco周?chē)鷳?yīng)用頂點(diǎn)顏色的例子。

再說(shuō)明一下“用于破壞的空心部件”。這是賦予重疊地形可破壞的功能。與鏤空功能類(lèi)似,將邏輯乘積所取的網(wǎng)格復(fù)制,劃分為Voronoi,并在運(yùn)行時(shí)作為片段進(jìn)行控制。

*Voronoi,泰森多邊形,是一組由連接兩鄰點(diǎn)線段的垂直平分線組成的連續(xù)多邊形。

微信圖片_20221116110540.jpg

借助開(kāi)發(fā)準(zhǔn)備的這些功能,美術(shù)創(chuàng)建了大約40種主題數(shù)據(jù),包括草原、建筑、沙漠、混凝土、商場(chǎng)、冰山、火山和寶藏之路等等。

至此,關(guān)卡負(fù)責(zé)地形形狀,美術(shù)創(chuàng)建并設(shè)置詳細(xì)的形狀、紋理、材質(zhì)、倒角、扭曲等參數(shù),再由開(kāi)發(fā)將兩個(gè)部分橋接起來(lái),自動(dòng)生成地形模型的工作流也就建立起來(lái)啦。

地形生成系統(tǒng)的實(shí)現(xiàn)

接下來(lái),從工程師和技美的角度來(lái)說(shuō)明如何實(shí)現(xiàn)地形生成系統(tǒng)。

這一代的地形生成系統(tǒng)是在 Maya 中實(shí)現(xiàn)的。在地圖編輯器后臺(tái)啟動(dòng) Maya,創(chuàng)建 3D 模型,輸出并轉(zhuǎn)換數(shù)據(jù),并反映在游戲側(cè)。

基礎(chǔ)創(chuàng)建

基礎(chǔ)創(chuàng)建要做的事情是把地圖編輯器創(chuàng)建的地形變成“漂亮的Mesh”。由于地圖編輯器按原樣放置地形塊,因此里面有很多不必要的多邊形。移除它們,只留下表面。

倒角/扭曲

倒角通過(guò)MAYA實(shí)現(xiàn)。但是,如果存在Mesh破損的風(fēng)險(xiǎn),則將其禁用或糾正。對(duì)于扭曲,將在頂點(diǎn)坐標(biāo)處加入的Noise添加到頂點(diǎn)的 XZ 坐標(biāo)中。為了避免干擾裝飾零件,它們附近的變形也會(huì)被禁用。

微信圖片_20221116110615.jpg

鏤空

鏤空是使用 Maya 的布爾功能實(shí)現(xiàn)的。

微信圖片_20221116110619.jpg

材質(zhì)設(shè)置

由Mesh的法線分配“地面”和“墻”材質(zhì)。由于可以通過(guò)頂點(diǎn)顏色來(lái)控制,所以地形材質(zhì)有“地面”、“墻”和“Moco”三種。

微信圖片_20221116110622.jpg

Moko創(chuàng)作

為了營(yíng)造一種隨機(jī)感,許多 Moco模型有多種變體。像角落這種位置就有 3 種方法來(lái)排列。

微信圖片_20221116110625.jpg

微信圖片_20221116110629.jpg

UV

地形UV從項(xiàng)目開(kāi)始就一直是個(gè)問(wèn)題,特別是為了處理墻面的UV花了不少功夫。

微信圖片_20221116110632.jpg

微信圖片_20221116110635.jpg

頂點(diǎn)顏色

作為地形生成的最后一步,頂點(diǎn)顏色從地圖編輯器的區(qū)域信息中獲得。

微信圖片_20221116110638.jpg最后省略開(kāi)發(fā)組在實(shí)際運(yùn)用中遇到的問(wèn)題和解決方法,分享中所列的情況有些特殊,或者說(shuō)根據(jù)不同的團(tuán)隊(duì)遇到的情況也不太一樣,這里就不再翻譯了。

立即登錄,閱讀全文
原文鏈接:點(diǎn)擊前往 >
文章來(lái)源:千猴馬的游戲設(shè)計(jì)之道
版權(quán)說(shuō)明:本文內(nèi)容來(lái)自于千猴馬的游戲設(shè)計(jì)之道,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼關(guān)注
獲取更多出海資訊的相關(guān)信息
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開(kāi)掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家