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

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

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

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

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

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

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

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

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

微信圖片_20221116110407.jpg

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

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

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

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

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

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

微信圖片_20221116110412.jpg

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

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

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

微信圖片_20221116110417.jpg

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

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

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

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

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

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

微信圖片_20221116110421.jpg

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

微信圖片_20221116110425.jpg

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

微信圖片_20221116110428.jpg

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

地形本身是由關(guān)卡策劃通過組合塊狀部件來創(chuàng)建的。采用這種方法是因為它易于進(jìn)行微調(diào),并且接近 2D 的制作方法。

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

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

微信圖片_20221116110454.jpg

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

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

道路的表示

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

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

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

微信圖片_20221116110517.jpg

自然的地形

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

微信圖片_20221116110520.jpg

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

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

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

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

微信圖片_20221116110531.jpg

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

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

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

微信圖片_20221116110540.jpg

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

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

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

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

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

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

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

倒角/扭曲

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

微信圖片_20221116110615.jpg

鏤空

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

微信圖片_20221116110619.jpg

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

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

微信圖片_20221116110622.jpg

Moko創(chuàng)作

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

微信圖片_20221116110625.jpg

微信圖片_20221116110629.jpg

UV

地形UV從項目開始就一直是個問題,特別是為了處理墻面的UV花了不少功夫。

微信圖片_20221116110632.jpg

微信圖片_20221116110635.jpg

頂點顏色

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

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

立即登錄,閱讀全文
原文鏈接:點擊前往 >
文章來源:千猴馬的游戲設(shè)計之道
版權(quán)說明:本文內(nèi)容來自于千猴馬的游戲設(shè)計之道,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼關(guān)注
獲取更多出海資訊的相關(guān)信息
優(yōu)質(zhì)服務(wù)商推薦
更多