熱門
使用Unity制作類似“三維彈球”的解謎類游戲大作
當鐵門打開,一顆表面銹跡斑斑的鐵球滾落下來,等待它的將是一次次的洗禮。滾燙的鋼水,寒冷的冰凍,一道道工序完成加工之后,這枚鐵球將成為航天器上的一枚關鍵零件。
這是最近使用Unity制作的一款3D 寫實類解謎游戲《滾滾人生》當中的一個關卡,根據游戲設定,玩家要操縱鐵球,經過有鋼水的路面、木板、冷凍、電磁機等機關通道,到達終點,完成游戲中設定的“加工”工藝,最終經過去銹、拋光、充能等關卡后最終通關。
令人印象深刻的是,這款看起來神似微軟經典游戲《三維彈球》的游戲 Demo 雖然只有一個關卡,但游戲中的每一個模型動畫的塑造已經可以媲美很多同類型的游戲大作。
特別是場景中的機械臂模型,鐵球通過鋼水時表面顏色的變化,以及表面保持高溫的鐵球在木板上滾動讓其消融的動畫都栩栩如生。
當然這歸功于美術技術芮士辰同學的設計。
“當我們確定了《滾滾人生》是一部寫實工業風格的游戲后,我就找了大量類似的參考資料,包括現有的工廠機械圖片,已經做好的模型機械圖片等等”。來自Unity集訓營的芮同學說道。
芮同學參考的美術資料中不乏近年來的 3A 史詩大作,可見《滾滾人生》一開始就要站在最優秀作品的肩膀上,在建模方面追求精益求精。
芮同學說,作為一位擁有經驗的建模師,他已經對場景搭建相當熟悉了。用 Maya 模型 Mudbox 制作貼圖,《滾滾人生》對基礎模型搭建和貼圖制作沒有太復雜的操作,芮同學還用 Unity 自帶的粒子系統添加了些許特效。
在模型數據資產做好后,下一步就是把它們導入 Unity 中制作模型渲染。眾所周知高清渲染管線 HDRP是 Unity 引擎中效果最強大的可編程渲染管線,其強大的性能足以渲染游戲中的每一個細節。
“用Unity HDRP渲染后的場景看上去更有動態感,而其中的制作流程也和我之前接觸的基于物理燈光的渲染器(mental ray 、arnold、VR渲染器)很類似,這也讓我很容易上手”。
“在光照方面,導入模型后默認天光,先設置一個環境光,從窗外引入物理天光,然后手動打光照亮場景中的主要物體,之后在全局光下用 AO 和反射探針給場景增加一個比較大的反差。最后經過后處理給整個場景進行校色,并通過添加場景霧氣效果拉開前后關系與色彩對比?!避峭瑢W解釋道。
而材質部分,HDRP 提供的 Lit 材質球可以模擬非常多的材質?!皥鼍爸泻艽蟛糠帜P投际墙饘?、硬表面材質,Unity 的 HDRP 中的材質球可以模擬大部分的基礎材質,有些地方還使用了層材質來模擬多種材質混合在一起的效果。”芮同學說道。
場景方面,芮同學還增加了一些貼花效果來豐富場景中的特殊部分,比如灼燒的鐵皮、冰霜區域等,同時編寫了一些帶有特定動態效果的 shader graph 貼花,并用腳本來控制它們的動態效果。
負責游戲策劃的姜子健同學專門給小球設計了發光時的變化效果,其中改變小球的是 Emisson color,他們認為小球不管是變藍還是變紅都有一種發光的效果,本來是想用 lerp 顏色模式處理,后來發現達不到指定的顏色效果就改用了moveforword 顏色模式進行了處理。
只是大量的模型和渲染的疊加也會影響到游戲的運行,因此芮同學在游戲性能和畫面效果之間做了相應的妥協,比如在模型精度上本著能省就省的原則,制作模型時芮同學就比較少使用模型細分、倒角、卡線等功能,也沒有使用高低模烘焙手段來制作貼圖,效果的呈現大多以各個通道的材質貼圖為主。在渲染方面,芮同學場景渲染上使用了大量的燈光烘焙,但考慮到后處理的多項效果對性能的要求頗高,他最終砍掉了鏡頭景深、燈光霧、運動模糊、光線追蹤等畫面效果。
逼真的建模也給游戲的軟件程序和 UI 動畫的實現帶來挑戰。
在測試游戲的時候,Unity 編輯器中運行的木板消融動畫符合預期,但發布游戲程序之后發現居然出錯了。經過多次調整之后依然沒有成功,在制作工期緊張的情況下,制作團隊只能重新制作一個新的 Shader 并測試提交。
再比如模板移動的動畫又遇到一個奇怪的 bug,之前編寫的腳本在 120 赫茲刷新率的電腦上可以正常運行,但到了 60 赫茲刷新率的電腦上則無法順利運行,模板無法到達指定的地點。
另外還有一些奇怪的 bug,比如小球模型移動時無法爬坡的問題,團隊也著實找了不少教程來處理這些?bug。但這樣頻繁出現的 bug 問題,勢必會影響整個團隊的開發效率。
為了減少游戲程序開發中 bug 的出現之后對其他成員的影響,《滾滾人生》使用了game Framework 游戲框架。它是基于 Unity 引擎開發的一款開源游戲框架,擁有完善的擴展模塊,包括場景、文件、聲音、網絡與對象池。方便開發者對開發資源進行管理“雖然目前在開發上用到的不是特別多,但這個框架可以減少程序 bug 問題的出現,可以讓團隊的開發效率有所提升。”
除了 game Framework 游戲框架,團隊還引入了 Unity 自帶的代碼管理工具Plastic hub,“它為每個參與游戲制作的團隊成員都建立了分支,比如像我們團隊,有 5 個分支,你可以看到上面記錄了 52 次的提交合并工作。”陳同學在和團隊成員的協作中體會到了 Unity 引擎帶來的便利,他稱贊道:“對于我們多程序開發人員包括美術技術來說 Plastic hub 是很好的代碼管理工具?!?/p>
當然我們現在見到的游戲這只是一個教學關,要想把鐵球變成真正的零件,還需要經過去銹、拋光、充能等關卡,第二關的游戲場景將會是教學關的三倍,小球也將經歷更多的考驗,隨著關卡難度的進一步提升,鐵球需要經過的機關會越來越多。
游戲還會加入一些聯動開關和變形內容,比如水+電就會觸發電擊開關,熱量+水會觸發升溫開關。小球還會在原片和球形之間轉換,玩家需要根據游戲通關的具體要求觸發聯動機關,或者變成相應的形狀。
相信聯動機制和球形狀態變換的加入,會使《滾滾人生》的玩法會變得更有趣,它不在限于三維彈球式的單一通關,讓考究的工業美術設計變得更有意義,就像這款游戲最初的意義:一個普普通通的鐵球,也能通過改變成為尖端材料。
作為游戲愛好者的你,是不是也想做出這樣的改變,像《滾滾人生》團隊一樣,做出自己心儀的游戲。
?
電話:010-50951355 傳真:010-50951352 郵箱:sales@www.gentlemenlisten.com ;點擊查看區域負責人電話
手機:13811546370 / 13720091697 / 13720096040 / 13811548270 /
13811981522 / 18600440988 /13810279720 /13581546145