過程化技術:打造「開放世界」的秘密
如果你經常接觸開放世界遊戲,應該不難發現在這些作品中,並不是每個角落都經過了精雕細琢。一張碩大的地圖裡,往往充斥著諸多相同的物件、地形和建築。某種程度上,這些都是使用過“過程化技術”的痕跡,背後也蘊藏了相當多的學問。
近幾年來,不同品類的開放世界內容頻頻推出,支撐這種遊戲場景開發的過程化技術,被越來越多的國內開發者所瞭解。騰訊互娛天美工作室的技術美術師楊拓,從 2016 年就開始致力於遊戲關卡設計,以及場景與玩法互動等技術的研究。在今年的 TGDC(騰訊遊戲開發者大會)上,他也就過程化技術進行了非常深入的討論。
為什麼要用過程化技術
何謂過程化技術?說得簡單點,就是用程式演算法自動生成內容的方式,來替代純粹的人工製作。這個“內容”囊括了美術資源和音樂音效,也多見於大場景的製作。當然,它並不是一個特別新鮮的東西,早幾年《無人深空》吹噓自己有 1840 億億顆星球可供探索,其實就用到了這種方式。
在 TGDC 的演講中,楊拓針對過程化技術的作用,給出了這樣的定義:
“美術提供一些元素,包括基礎的圖形或輪廓元件,以及一些可以調整的數值,最後加上一個可以抽象出來的公式,就能夠到你最後想要的結果。”
通常情況下,基礎的開放世界地圖,涵蓋了非常豐富的地形地貌,比如對應不同季節的草地、雪地。以往的 MMO 也會去塑造這些東西,但很少做到無縫連線,有時候需要切換大地圖才會具體替換到新的地貌效果。但時至如今,將所有的地形、地貌集中顯示在幾公里的範圍內,可以說成了一種最基本的要求。
在此基礎上,植被和生態系統的引入又將製作難度提高了一個層次。比如綠地要長綠草,越靠近沙土的地方草的密度越少,美術對植被的生長有嚴格的控制和規則。如果用傳統的筆刷工具,一次、兩次還能借助人力來完成,一旦場景發生改動,便要頻繁根據地形的改變來重新修改植被分佈,製作的難度相當高。
若是想進一步增加場景活力,到頭來還得牽扯到城市規劃。從最初的道路規劃到由此劃分出的區塊,再到區塊中的房屋、花園、停車場、通道,這些是一層層規則的疊加,背後是一整套規則的樹狀結構。一旦處於規則頂層的道路發生了變化,同樣也會引起道路周圍每個要素的變化。
如果細化到城市裡的建築或者某個房間,美術和原畫還需要對建築風格和效果做把控。除此之外,關卡策劃還會將掩體、跑酷攀爬等場景互動一併加入,這實際上都依賴於建築之間擺放的觸發器來控制。試想一下,一旦缺少標準的製作流程和方案,帶來的結果便是美術工作量的堆積,遊戲包體的膨脹和巨大的溝通成本。
不妨以《刺客信條:起源》為例,按照官方的說法,他們塑造了一個 120 平方公里的埃及場景。其中的城鎮數量少說幾十,每座城又有幾十棟建築,每個建築裡還包含傢俱、攀爬跑酷的觸發器,以及各種不同的牆面材質。在這樣工作量下,楊拓認為過程化技術將成為一個團隊的救命稻草:
“大世界的製作技術其實已經成型很久了,最近逐漸被人重視起來的原因,一是國外 3A 大廠遊戲品質不斷提升,使得在背後推進場景製作的技術,特別是 Houdini 技術逐漸被國內的各個工作室瞭解和接受,IEG(騰訊互動娛樂)內部每個工作室都有自己的一套 Houdini 管線(流水線),而且大家都在推進過程化的方案。
如果每個建築物件都要人工配,一個大世界有上千的部件,而且會經常有調整。全靠人力是不可行的。我們需要把這些物件進行模組化,透過模組的方式來管理每個物件的觸發器。另外一個是要有自動化的工具,根據建築的形狀來自動的把對應的觸發器生成出來。”
如何運用過程化技術
正如楊拓所言,談到過程化技術相關的工具,Houdini 是一個比較常用的圖形軟體。由於它是完全基於節點模式設計的產物,很適合用於“自動生成”一些東西,也和傳統的三維軟體有很大的差異。
最直觀的應用,就是在地表平面加入一些引數,很快便能創造有著高低差視角的遊戲關卡。開發者還可以在地形上連上一條曲線,用曲線讀取地形資訊,得到衝擊地形的河床以及這個河床所生成的河流。透過一些簡單的“點線面”輸入,進而獲取最終的效果。
但在楊拓眼中,如果不帶腦子的使用過程化技術,又會導致相當多的隱患:
“以河流為例,河流橫穿 8×8 公里的地圖。意味著你這個河流改變一點引數,河流橫穿的 8×8 地塊都是被汙染掉的,也就是說需要重新構建。如果有人開發手機遊戲,就知道我們的遊戲每天都做「增量構建」,也做「全量構建」。但如果地圖的所有地塊每天做全量構建,對遊戲場景的開發迭代很不利。”
緊接著,他在 TGDC 上提出了一個“正常的方法”。實際上,現在國外的 3A 產品大部分都使用了名為“模組化點雲”的方案,楊拓表示:
“透過把地形地貌的坡度資訊、高度資訊以及地形圖層的資訊總和生成在 Houdini 裡面,就可以轉成一些點。你可以看到 Houdini 的例項圖裡面,這些點包含的是一棵樹的大小、縮放資訊和旋轉資訊……一百棵樹可能就幾 K 的資料量,而且這個東西透過渲染引擎的例項化方案,一個批次可以完全渲染完。
最後匯入到場景裡的話,比如我要換另外一種植被效果,只要換一棵草的樣子,整個場景的草都換了。換樹也是,只需要修改一棵樹。最佳化下來覺得效能不好,要降低草的密度,我只要點一個引數就全部改變。用這種方法我們就可以很快不斷迭代、不斷嘗試……”
如果以建築為例,每個“點”實際上就是一個建築模組,開發者可以先組織建築模組的資訊,然後再做細化的替換。換而言之,透過這種方式,整個遊戲場景都能夠轉化為“點雲”。
“這些點雲匯入虛幻引擎或者 Unity 引擎裡面,透過實際化渲染,一個批次就可以全部渲完。直接調引數就可以最佳化,不用每次改什麼東西還要反覆調……我們的過程化技術其實是以點云為驅動的過程化技術,正是因為有點雲的組織結構,所有的操作、所有的變化透過一個 Excel 表就知道我加了什麼、減了什麼,也可以透過分析資料表的格式,知道某個單位內我們的美術資源量到底消耗了多少。”
可以預見的是,隨著經驗的積累,過程化技術將成為大型開發商擴大優勢的重要工具。楊拓認為這其中包含的可迭代性價值,體現在美術可以把玩法、程式的工作剝離出來,將精力集中於設計和創造。而關卡策劃和關卡程式只需要修改模組的生成規則,就可以將所有的修改量限制在非常小的範圍內。對於玩家們來說,未來體驗到品質更高,細節更為豐富的開放世界遊戲,似乎也不再是痴人說夢。
來源:VGtime
地址:https://www.vgtime.com/topic/1065756.jhtml
近幾年來,不同品類的開放世界內容頻頻推出,支撐這種遊戲場景開發的過程化技術,被越來越多的國內開發者所瞭解。騰訊互娛天美工作室的技術美術師楊拓,從 2016 年就開始致力於遊戲關卡設計,以及場景與玩法互動等技術的研究。在今年的 TGDC(騰訊遊戲開發者大會)上,他也就過程化技術進行了非常深入的討論。
為什麼要用過程化技術
何謂過程化技術?說得簡單點,就是用程式演算法自動生成內容的方式,來替代純粹的人工製作。這個“內容”囊括了美術資源和音樂音效,也多見於大場景的製作。當然,它並不是一個特別新鮮的東西,早幾年《無人深空》吹噓自己有 1840 億億顆星球可供探索,其實就用到了這種方式。
在 TGDC 的演講中,楊拓針對過程化技術的作用,給出了這樣的定義:
“美術提供一些元素,包括基礎的圖形或輪廓元件,以及一些可以調整的數值,最後加上一個可以抽象出來的公式,就能夠到你最後想要的結果。”
一個過程化技術的應用案例
通常情況下,基礎的開放世界地圖,涵蓋了非常豐富的地形地貌,比如對應不同季節的草地、雪地。以往的 MMO 也會去塑造這些東西,但很少做到無縫連線,有時候需要切換大地圖才會具體替換到新的地貌效果。但時至如今,將所有的地形、地貌集中顯示在幾公里的範圍內,可以說成了一種最基本的要求。
在此基礎上,植被和生態系統的引入又將製作難度提高了一個層次。比如綠地要長綠草,越靠近沙土的地方草的密度越少,美術對植被的生長有嚴格的控制和規則。如果用傳統的筆刷工具,一次、兩次還能借助人力來完成,一旦場景發生改動,便要頻繁根據地形的改變來重新修改植被分佈,製作的難度相當高。
若是想進一步增加場景活力,到頭來還得牽扯到城市規劃。從最初的道路規劃到由此劃分出的區塊,再到區塊中的房屋、花園、停車場、通道,這些是一層層規則的疊加,背後是一整套規則的樹狀結構。一旦處於規則頂層的道路發生了變化,同樣也會引起道路周圍每個要素的變化。
如果細化到城市裡的建築或者某個房間,美術和原畫還需要對建築風格和效果做把控。除此之外,關卡策劃還會將掩體、跑酷攀爬等場景互動一併加入,這實際上都依賴於建築之間擺放的觸發器來控制。試想一下,一旦缺少標準的製作流程和方案,帶來的結果便是美術工作量的堆積,遊戲包體的膨脹和巨大的溝通成本。
不妨以《刺客信條:起源》為例,按照官方的說法,他們塑造了一個 120 平方公里的埃及場景。其中的城鎮數量少說幾十,每座城又有幾十棟建築,每個建築裡還包含傢俱、攀爬跑酷的觸發器,以及各種不同的牆面材質。在這樣工作量下,楊拓認為過程化技術將成為一個團隊的救命稻草:
“大世界的製作技術其實已經成型很久了,最近逐漸被人重視起來的原因,一是國外 3A 大廠遊戲品質不斷提升,使得在背後推進場景製作的技術,特別是 Houdini 技術逐漸被國內的各個工作室瞭解和接受,IEG(騰訊互動娛樂)內部每個工作室都有自己的一套 Houdini 管線(流水線),而且大家都在推進過程化的方案。
如果每個建築物件都要人工配,一個大世界有上千的部件,而且會經常有調整。全靠人力是不可行的。我們需要把這些物件進行模組化,透過模組的方式來管理每個物件的觸發器。另外一個是要有自動化的工具,根據建築的形狀來自動的把對應的觸發器生成出來。”
如何運用過程化技術
正如楊拓所言,談到過程化技術相關的工具,Houdini 是一個比較常用的圖形軟體。由於它是完全基於節點模式設計的產物,很適合用於“自動生成”一些東西,也和傳統的三維軟體有很大的差異。
最直觀的應用,就是在地表平面加入一些引數,很快便能創造有著高低差視角的遊戲關卡。開發者還可以在地形上連上一條曲線,用曲線讀取地形資訊,得到衝擊地形的河床以及這個河床所生成的河流。透過一些簡單的“點線面”輸入,進而獲取最終的效果。
用 Houdini 生成地形
但在楊拓眼中,如果不帶腦子的使用過程化技術,又會導致相當多的隱患:
“以河流為例,河流橫穿 8×8 公里的地圖。意味著你這個河流改變一點引數,河流橫穿的 8×8 地塊都是被汙染掉的,也就是說需要重新構建。如果有人開發手機遊戲,就知道我們的遊戲每天都做「增量構建」,也做「全量構建」。但如果地圖的所有地塊每天做全量構建,對遊戲場景的開發迭代很不利。”
緊接著,他在 TGDC 上提出了一個“正常的方法”。實際上,現在國外的 3A 產品大部分都使用了名為“模組化點雲”的方案,楊拓表示:
“透過把地形地貌的坡度資訊、高度資訊以及地形圖層的資訊總和生成在 Houdini 裡面,就可以轉成一些點。你可以看到 Houdini 的例項圖裡面,這些點包含的是一棵樹的大小、縮放資訊和旋轉資訊……一百棵樹可能就幾 K 的資料量,而且這個東西透過渲染引擎的例項化方案,一個批次可以完全渲染完。
最後匯入到場景裡的話,比如我要換另外一種植被效果,只要換一棵草的樣子,整個場景的草都換了。換樹也是,只需要修改一棵樹。最佳化下來覺得效能不好,要降低草的密度,我只要點一個引數就全部改變。用這種方法我們就可以很快不斷迭代、不斷嘗試……”
透過過程化技術鋪開植被
如果以建築為例,每個“點”實際上就是一個建築模組,開發者可以先組織建築模組的資訊,然後再做細化的替換。換而言之,透過這種方式,整個遊戲場景都能夠轉化為“點雲”。
“這些點雲匯入虛幻引擎或者 Unity 引擎裡面,透過實際化渲染,一個批次就可以全部渲完。直接調引數就可以最佳化,不用每次改什麼東西還要反覆調……我們的過程化技術其實是以點云為驅動的過程化技術,正是因為有點雲的組織結構,所有的操作、所有的變化透過一個 Excel 表就知道我加了什麼、減了什麼,也可以透過分析資料表的格式,知道某個單位內我們的美術資源量到底消耗了多少。”
過程化技術生成的建築
可以預見的是,隨著經驗的積累,過程化技術將成為大型開發商擴大優勢的重要工具。楊拓認為這其中包含的可迭代性價值,體現在美術可以把玩法、程式的工作剝離出來,將精力集中於設計和創造。而關卡策劃和關卡程式只需要修改模組的生成規則,就可以將所有的修改量限制在非常小的範圍內。對於玩家們來說,未來體驗到品質更高,細節更為豐富的開放世界遊戲,似乎也不再是痴人說夢。
來源:VGtime
地址:https://www.vgtime.com/topic/1065756.jhtml
相關文章
- 理想的技術面試過程面試
- 一個技術的成長過程
- 透過智慧化技術來打造SMT貼片加工行業新面貌行業
- 紅帽欲簡化CPU虛擬化過程 整合原始碼Xen技術(轉)原始碼
- 分享純技術創業過程最苦逼的那段歷程創業
- 大型網站的技術架構演進過程網站架構
- 前端工程化:圍繞Jenkins打造工作流的過程前端Jenkins
- 打造自己的HelloDrone 無人機APP過程《0》無人機APP
- AI中的影像識別技術的原理及過程AI
- 虛擬化技術的發展歷程簡述
- 蘋果超級簽名的實現過程、技術原理蘋果
- 工業產品開發過程中的PDM技術
- 分享DDOS防禦過程中需要了解的技術手段
- 雲端遷移過程中的技術問題和解決思路
- 揭祕 Reddit 愚人節專案的技術實現過程
- 趣文:用雞講解技術債務的形成過程
- 線上教育直播原始碼+技術支援,打造多樣化的直播平臺原始碼
- 打造成功案例的Magento技術框架框架
- RSS推送技術——打造自己的今日頭條
- CDN高階技術專家周哲: 深度剖析短影片分發過程中的使用者體驗最佳化技術點
- 共同探討資料庫技術與行業數字化轉型過程的融合創新資料庫行業
- 資料視覺化的秘密視覺化
- 技術專訪:探究《鳴潮》二次元開放世界的後啟示錄美學二次元
- Zookeeper分散式過程協同技術 - 概念及基礎分散式
- Zookeeper分散式過程協同技術 - 部署及設定分散式
- Zookeeper分散式過程協同技術 - 群首選舉分散式
- 接入頂象技術小程式驗證碼全過程
- 物件的初始化過程物件
- 如何打造個人技術影響力
- 科技展廳利用多媒體技術打造智慧化展廳
- 走進JavaWeb技術世界5:初探Tomcat的HTTP請求過程JavaWebTomcatHTTP
- 開源技術夠用了麼?我的 NAS 選型與搭建過程
- 需求分析過程中 專案裡可能需要的技術點記錄
- 資訊化中的AT技術
- 通過規模化Scrum創造最新技術的印表機Scrum
- 將開放世界裝進手機裡,天美打造全新版本的賽車遊戲遊戲
- 前端模組化的演變過程前端
- 效能優化的過程學習優化