日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

过程化技术:打造「开放世界」的秘密

發布時間:2024/9/3 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 过程化技术:打造「开放世界」的秘密 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如果你經常接觸開放世界游戲,應該不難發現在這些作品中,并不是每個角落都經過了精雕細琢。一張碩大的地圖里,往往充斥著諸多相同的物件、地形和建筑。某種程度上,這些都是使用過“過程化技術”的痕跡,背后也蘊藏了相當多的學問。

近幾年來,不同品類的開放世界內容頻頻推出,支撐這種游戲場景開發的過程化技術,被越來越多的國內開發者所了解。騰訊互娛天美工作室的技術美術師楊拓,從 2016 年就開始致力于游戲關卡設計,以及場景與玩法交互等技術的研究。在今年的 TGDC(騰訊游戲開發者大會)上,他也就過程化技術進行了非常深入的討論。
?



為什么要用過程化技術

何謂過程化技術?說得簡單點,就是用程序算法自動生成內容的方式,來替代純粹的人工制作。這個“內容”囊括了美術資源和音樂音效,也多見于大場景的制作。當然,它并不是一個特別新鮮的東西,早幾年《無人深空》吹噓自己有 1840 億億顆星球可供探索,其實就用到了這種方式。

在 TGDC 的演講中,楊拓針對過程化技術的作用,給出了這樣的定義:

“美術提供一些元素,包括基礎的圖形或輪廓元件,以及一些可以調整的數值,最后加上一個可以抽象出來的公式,就能夠到你最后想要的結果。”
?

一個過程化技術的應用案例


通常情況下,基礎的開放世界地圖,涵蓋了非常豐富的地形地貌,比如對應不同季節的草地、雪地。以往的 MMO 也會去塑造這些東西,但很少做到無縫連接,有時候需要切換大地圖才會具體替換到新的地貌效果。但時至如今,將所有的地形、地貌集中顯示在幾公里的范圍內,可以說成了一種最基本的要求。

在此基礎上,植被和生態系統的引入又將制作難度提高了一個層次。比如綠地要長綠草,越靠近沙土的地方草的密度越少,美術對植被的生長有嚴格的控制和規則。如果用傳統的筆刷工具,一次、兩次還能借助人力來完成,一旦場景發生改動,便要頻繁根據地形的改變來重新修改植被分布,制作的難度相當高。

若是想進一步增加場景活力,到頭來還得牽扯到城市規劃。從最初的道路規劃到由此劃分出的區塊,再到區塊中的房屋、花園、停車場、通道,這些是一層層規則的疊加,背后是一整套規則的樹狀結構。一旦處于規則頂層的道路發生了變化,同樣也會引起道路周圍每個要素的變化。

如果細化到城市里的建筑或者某個房間,美術和原畫還需要對建筑風格和效果做把控。除此之外,關卡策劃還會將掩體、跑酷攀爬等場景交互一并加入,這實際上都依賴于建筑之間擺放的觸發器來控制。試想一下,一旦缺少標準的制作流程和方案,帶來的結果便是美術工作量的堆積,游戲包體的膨脹和巨大的溝通成本。
?


不妨以《刺客信條:起源》為例,按照官方的說法,他們塑造了一個 120 平方公里的埃及場景。其中的城鎮數量少說幾十,每座城又有幾十棟建筑,每個建筑里還包含家具、攀爬跑酷的觸發器,以及各種不同的墻面材質。在這樣工作量下,楊拓認為過程化技術將成為一個團隊的救命稻草:

“大世界的制作技術其實已經成型很久了,最近逐漸被人重視起來的原因,一是國外 3A 大廠游戲品質不斷提升,使得在背后推進場景制作的技術,特別是 Houdini 技術逐漸被國內的各個工作室了解和接受,IEG(騰訊互動娛樂)內部每個工作室都有自己的一套 Houdini 管線(流水線),而且大家都在推進過程化的方案。

如果每個建筑物件都要人工配,一個大世界有手游購買上千的部件,而且會經常有調整。全靠人力是不可行的。我們需要把這些物件進行模塊化,通過模塊的方式來管理每個物件的觸發器。另外一個是要有自動化的工具,根據建筑的形狀來自動的把對應的觸發器生成出來?!?/span>


如何運用過程化技術

正如楊拓所言,談到過程化技術相關的工具,Houdini 是一個比較常用的圖形軟件。由于它是完全基于節點模式設計的產物,很適合用于“自動生成”一些東西,也和傳統的三維軟件有很大的差異。

最直觀的應用,就是在地表平面加入一些參數,很快便能創造有著高低差視角的游戲關卡。開發者還可以在地形上連上一條曲線,用曲線讀取地形信息,得到沖擊地形的河床以及這個河床所生成的河流。通過一些簡單的“點線面”輸入,進而獲取最終的效果。

用 Houdini 生成地形


但在楊拓眼中,如果不帶腦子的使用過程化技術,又會導致相當多的隱患:

“以河流為例,河流橫穿 8×8 公里的地圖。意味著你這個河流改變一點參數,河流橫穿的 8×8 地塊都是被污染掉的,也就是說需要重新構建。如果有人開發手機游戲,就知道我們的游戲每天都做「增量構建」,也做「全量構建」。但如果地圖的所有地塊每天做全量構建,對游戲場景的開發迭代很不利?!?/span>

緊接著,他在 TGDC 上提出了一個“正常的方法”。實際上,現在國外的 3A 產品大部分都使用了名為“模塊化點云”的方案,楊拓表示:

“通過把地形地貌的坡度信息、高度信息以及地形圖層的信息總和生成在 Houdini 里面,就可以轉成一些點。你可以看到 Houdini 的實例圖里面,這些點包含的是一棵樹的大小、縮放信息和旋轉信息……一百棵樹可能就幾 K 的數據量,而且這個東西通過渲染引擎的實例化方案,一個批次可以完全渲染完。

最后導入到場景里的話,比如我要換另外一種植被效果,只要換一棵草的樣子,整個場景的草都換了。換樹也是,只需要修改一棵樹。優化下來覺得性能不好,要降低草的密度,我只要點一個參數就全部改變。用這種方法我們就可以很快不斷迭代、不斷嘗試……”
?

通過過程化技術鋪開植被


如果以建筑為例,每個“點”實際上就是一個建筑模塊,開發者可以先組織建筑模塊的信息,然后再做細化的替換。換而言之,通過這種方式,整個游戲場景都能夠轉化為“點云”。

“這些點云導入虛幻引擎或者 Unity 引擎里面,通過實際化渲染,一個批次就可以全部渲完。直接調參數就可以優化,不用每次改什么東西還要反復調……我們的過程化技術其實是以點云為驅動的過程化技術,正是因為有點云的組織結構,所有的操作、所有的變化通過一個 Excel 表就知道我加了什么、減了什么,也可以通過分析數據表的格式,知道某個單位內我們的美術資源量到底消耗了多少?!?/span>
?

過程化技術生成的建筑


可以預見的是,隨著經驗的積累,過程化技術將成為大型開發商擴大優勢的重要工具。楊拓認為這其中包含的可迭代性價值,體現在美術可以把玩法、程序的工作剝離出來,將精力集中于設計和創造。而關卡策劃和關卡程序只需要修改模塊的生成規則,就可以將所有的修改量限制在非常小的范圍內。對于玩家們來說,未來體驗到品質更高,細節更為豐富的開放世界游戲,似乎也不再是癡人說夢。

總結

以上是生活随笔為你收集整理的过程化技术:打造「开放世界」的秘密的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。