MMO動作手遊《龍之谷2》是如何打造開放大世界的?

遊資網發表於2020-07-13
要說這幾天最熱的手遊,那絕對數得上9號剛剛全平臺上線的《龍之谷2》。這款由盛趣遊戲研發的開放大世界手遊,開服前就有超過1500萬人次預約,上線第一天就空降iOS免費榜TOP 1的位置,人氣爆棚的同時還收穫了無數好評。盛趣遊戲過去近20年在MMO品類有著深厚的研發積累,再加上多年前就風靡端遊平臺的爆款IP,《龍之谷2》手遊的推出可謂是萬眾期待。

MMO動作手遊《龍之谷2》是如何打造開放大世界的?

這款基於Unity引擎研發的手遊最大的亮點,就是其開放大世界的設定加上大型多人MMO的玩法,尤其是美術方面的創新可圈可點。細膩精緻的模型、真實的光照體感、四季變化、晝夜更替、天氣變化等美術表現,從小細節到大場景,無一不為玩家們呈現龍之谷歷代之最的遊戲畫面。而8人冒險團、12V12競技、甚至30V30的公會戰等創新玩法,都極大提高了玩法自由度和社交屬性,同時還能進行爽快的多人動作戰鬥,因此說《龍之谷2》這款手遊是MMO中當之無愧的“動作之王”。

那麼《龍之谷2》這款優秀的手遊作品是怎麼設計的,創新的開放大世界又是怎麼創作出來的呢?我們特意採訪到了盛趣遊戲《龍之谷2》的美術總監秦雁,為大家帶來美術方向的深度分享。

MMO動作手遊《龍之谷2》是如何打造開放大世界的?
秦雁
盛趣遊戲美術總監

01 遊戲引擎優勢

龍之谷IP的2代續作手遊,傳承了IP的Q萌經典畫風、人設、場景,繼續採用3D無鎖定的戰鬥操作模式,強化打擊感和戰鬥表現力,在前作基礎上建立職業多流派BD強化策略性等等深受玩家的喜愛,可以簡單的介紹下選擇Unity引擎開發這款遊戲的原因嗎?

首先Unity引擎的通用性,非常適合手機遊戲開發,對各個平臺的支援都很友好,同時專案組可以自己定製各類shader和script來滿足各類需求。

Unity的易用性,Asset Store 上外掛豐富,可以輕鬆實現一些比較複雜的功能與效果,編輯器友好,開發人員上手很快,極大的縮短了專案的研發週期。

還有一點就是我們整個專案組得到Unity大中華區的技術支援團隊與TA團隊的有力支援,特別對一些棘手問題,大大提高了解決的速度。

MMO動作手遊《龍之谷2》是如何打造開放大世界的?

02 更激萌的角色

遊戲中人物細節更加精緻,形象清新Q萌,惹人喜愛,可以結合新職業女牧師模型,談談Q萌且精緻的人物形象創作的技巧嗎?

MMO動作手遊《龍之谷2》是如何打造開放大世界的?

龍之谷是一個經典的IP,在設定方面本身就做的非常的棒,但畢竟是運營10年前的一款網遊,現在都已經2020了,龍之谷2如何讓玩家老爺們有那熟悉的感覺,但又比起之前產品更加時尚,就成了我們的追求。角色的原畫設定保留了原先的色彩規劃,製作上借鑑了一些二次元的表現特徵,以次時代3D的方式表現出來,目標就是既要讓IP使用者所接受,又讓廣泛的年輕手遊玩家所喜愛。

MMO動作手遊《龍之谷2》是如何打造開放大世界的?

以女牧師的設定為例,這個角色的特徵就是呆毛和白毛,誇張的大眼睛,萌萌噠;色彩上白色,藍色為主,搭配黃色,點綴金色和銀色,突出牧師的聖潔與華麗感。

MMO動作手遊《龍之谷2》是如何打造開放大世界的?

03 更強的打擊感

遊戲內各職業的打擊感也是非常棒的,可以簡單的分享下弓箭手的打擊感是如何實現的嗎?

眾所周知,龍之谷是端遊裡面打擊感最好的網遊之一了,這次《龍之谷2》的定位就是- MMO遊戲中的動作之王,希望給玩家清晰明確的戰鬥體驗的同時又表現好龍之谷最精髓的打擊感,連擊技是龍之谷2的第一個特色,玩家可以根據自己的喜好,搭配出不同的技能組合,技能配合的好,一套連擊技打下來,對方就GG了;打擊感上,龍之谷經典的擊飛,擊倒,到浮空,倒地等效果,強大而又那麼的樸實無華。

MMO動作手遊《龍之谷2》是如何打造開放大世界的?

在技術的實現上,我們利用了Unity引擎強大的擴充套件性,編寫了一套非線性技能編輯器,非常方便地匯入動畫和特效資源,這套編輯器可以讓動畫師所見即所得的進行技能編輯,策劃小姐姐們再也不用在表格上填數字來猜想打擊效果了,大大的提高了工作效率。

舉個例子:我們一個主角包含233套動畫(超豐富的動作表現),在我們的編輯器皮膚方便檢視每一個動作及其幀數。

MMO動作手遊《龍之谷2》是如何打造開放大世界的?

然後,在每一個動作的時間線上,來配置哪一幀出現特效,攝像機動畫,聲效等,所見即所得,非常的方便。

MMO動作手遊《龍之谷2》是如何打造開放大世界的?

04 更開闊的遊戲世界

可以簡單介紹下龍之谷MMO大世界,無縫大地圖的製作細節嗎?

一直以來,龍之谷的玩家都對阿爾特里亞大陸只能管中窺豹而耿耿於懷,這次,龍之谷2將會給玩家一個自由,開放的大世界,再也不只是主城+副本了,升級打怪,玩家可以在這個世界策馬奔騰,騎著獅鷲翱翔藍天白雲,也可以釣魚,採礦,輕鬆休閒的在遊戲裡面生活,在我們的美麗的湖心島,擁有6400M * 6400M的超大場景,玩家繞其跑一圈大概需要20分鐘呢。

MMO動作手遊《龍之谷2》是如何打造開放大世界的?

為了實現MMO大世界的效果,我們專門編寫了地形和植被編輯器,一個大世界場景是由多個Tile平鋪而成,一個Tile就是一個Unity場景,Tile則由多個chunk平鋪而成,如下圖所示:

MMO動作手遊《龍之谷2》是如何打造開放大世界的?

MMO動作手遊《龍之谷2》是如何打造開放大世界的?

這套地形和植被編輯器非常方便地支援以下功能:

  • 可以通過高度圖建立地形,且使用自定義筆刷修改地形
  • 支援單場景編輯和多場景編輯
  • 支援4張地形紋理貼圖和法線貼圖
  • 採用多場景烘焙lightmap,可以有效的解決跨域場景的影子,接縫等問題
  • 支援植被系統,可以在編輯器中通過筆刷繪製草地
  • 支援下雨下雪等天氣變化


05 更浪漫的淺灘

遊戲中碧藍的海岸淺灘,彷彿遊戲螢幕中有撲面的海洋氣息、潮溼而略帶鹹味,而且海水在太陽的直射下,海水還會泛起點點金色光芒,關於這種真實的海灘效果是如何實現的呢?可以跟大家分享下嗎?

MMO動作手遊《龍之谷2》是如何打造開放大世界的?

海灘是阿爾特里亞大陸的一個特色,很多故事都發生在海邊,所以我們通過海水起伏、波光、海灘的泡沫效果這3個點簡單的展示這個美麗真實海灘的製作:

1. 採用了Genster波的演算法模擬海水的起伏,它的演算法頂點會不僅有高度分量y的變化,同時在xz平面也會有一定的位移,這樣在控制xz平面頂點位移大小的同時也控制了波峰是尖還是平緩。

MMO動作手遊《龍之谷2》是如何打造開放大世界的?

2. 在光照計算中,我們參考了GDC2011論文的次表面散射演算法,然後法線貼圖來模擬波光,同時加入環境反射和菲涅爾的計算,在淺水的散射部分,我們讓它的亮度有一些提高,增加真實感。

MMO動作手遊《龍之谷2》是如何打造開放大世界的?

3. 海灘的泡沫效果,我們單獨用sin波加uv偏移來模擬,同時加了一個pass來模擬海水退下後潮溼的沙灘效果。

06 更逼真的天氣系統

龍之谷中晝夜交替的擬真天氣系統,讓玩家可以切身的感受到時間的流動和天氣轉換下阿爾特里亞的美景,增加了遊戲的真實性和代入感,可以簡單的分享下龍之谷2中的天氣系統是如何實現的呢?

MMO動作手遊《龍之谷2》是如何打造開放大世界的?

真實的阿爾特里亞大陸怎能沒有白天黑夜、颳風下雨等天氣變化呢?我們使用了Unity Asset Store 上的uSky外掛,同時對其進行了優化,使其在晝夜交替的物理表現非常亮眼,可以讓玩家明顯的感受到天氣的變化與時間的流逝;其次我們又增加了下雨,下雪,沙暴等天氣系統增加了遊戲的真實性和代入感,比如下雨系統,雨幕,雲層的變化,地表積水的變化,雨滴落在場景建築上形成水流的變化等,在24小時的變化都是不同的。我們通過曲線的方式來定義不同天氣效果下不同元素(霧效,水面的反射)的變化,同時為了節省效能,我們把所用的texture都合併到全域性變數中,高質量,高效率的實現了天氣變化系統。

07 更立體的遊戲場景

與1相比,龍之谷2在場景方面的表現力更加的出色,空間的立體感更強。可以給大家分享下Unity場景的搭建、打燈、烘焙的流程嗎?(以凱德拉場景為例)

MMO動作手遊《龍之谷2》是如何打造開放大世界的?
以凱德拉為例,我們通過以下步驟給玩家呈現了一個龍之谷的小鎮風光

第一階段:我們使用bigworld場景編輯器生成場景,匯入高度圖生成地表,同時通過筆刷調整地表細節,建築物件匯入,材質球指定,製作成profeb,擺放在場景合適的位置,layer屬性指定,通過筆刷繪製地表植被,大型植物進行合理的排布。

第二階段:為場景佈置點光源,烘托場景氣氛,動態物體採用lightprob來插值光照資料,為了更好的效果,我們的烘焙採用了Unity的shadowMask模式,它的最大優勢是近景為實時光,遠處為lightmap(雖然會產生3張lightmap影響效能,我們使用GPU-Instance來支援lightmap,這樣效能的消耗忽略不計),同時搭配PostProcessing後處理,使場景效果美輪美奐。

MMO動作手遊《龍之谷2》是如何打造開放大世界的?

第三階段:天氣系統引數調整,Navmesh碰撞體制作,為了使人物走在不同的材質上有不同的指令碼步,需要對紋理做出命名規範,規範為紋理名稱加字尾,比如:kdl_mud.tga,表示泥地紋理。

08 更“冷”的雨

可以簡答的給廣大的開發者們分享下游戲中表現下雨場景中溼滑的地面是如何通過Unity Shader來實現的呢?

MMO動作手遊《龍之谷2》是如何打造開放大世界的?

具體步驟如下:

首先在場景的地表上繪製乾溼區域

其次通過取樣序列雨滴漣漪的法線圖,在原始地表法線進行擾動

MMO動作手遊《龍之谷2》是如何打造開放大世界的?

再通過反射Cube和菲尼爾效果來增強雨水的高光

MMO動作手遊《龍之谷2》是如何打造開放大世界的?

最後插值晴天和雨天的顏色變化達到模擬從晴天到下雨的轉換過程

09 企業技術支援

Unity 企業技術支援團隊與TA團隊對專案有哪些支援,對專案有何幫助呢?

Unity 企業技術支援團隊與TA團隊對專案有很大的支援。

其中Unity TA團隊:

推薦使用uSky外掛來幫助我們奠定天氣系統的基礎,同時提供雨雪天氣變化的演算法,為我們整個遊戲的美術效果提供巨大的幫助。

預計算海水的genstern波演算法和次表面散射演算法。

角色上推薦用lut圖來模擬sss效果,節省效能。

Unity技術支援團隊:

在整個專案週期中,定期的駐廠對整個專案進行效能檢測分析,提出了許多有用的優化建議。

在專案的中後期,幫助我們排查、定位一些閃退等疑難問題。

再次感謝Unity團隊給予的支援和幫助。

MMO動作手遊《龍之谷2》是如何打造開放大世界的?

《龍之谷2》的美術創作就給大家分享到這裡。未來我們將繼續給大家帶來更多Made with Unity的遊戲作品技術分享。

來源:Unity官方平臺
原地址:https://mp.weixin.qq.com/s/Gw2tasr0nOEByCLY_QVGXA

相關文章