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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

《幽灵行动·荒野》中的程序化技术:道路、河流、城镇、植被

發(fā)布時間:2024/8/26 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《幽灵行动·荒野》中的程序化技术:道路、河流、城镇、植被 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本節(jié)是《幽靈行動·荒野》大世界制作技術(shù)的第二章。技術(shù)美術(shù)工程師Erwin Heyms展示了他的團隊在開放世界游戲中如何處理小城市,河流和道路的程序化生成的一些細節(jié)內(nèi)容。

道路與河流

加入Ghost Recon Wildlands 項目時,創(chuàng)建道路是我的首要任務(wù)。當時,我們正在研究如何houdini應(yīng)用到我們的開發(fā)流程當中。我們想要創(chuàng)建一個巨大,逼真且美麗的,玩家可以真正深入體驗的開放世界。使用傳統(tǒng)的地形雕刻技術(shù)來創(chuàng)建荒野世界是一項艱巨的任務(wù),這就是我們決定創(chuàng)建程序化工具的原因。

我們有數(shù)千公里的公路,這是多姿多彩的玻利維亞獨特的景觀構(gòu)成。要使整個景觀世界有一個連貫統(tǒng)一的公路,我們需要一個統(tǒng)一的計算系統(tǒng)。
?

?


我們的道路系統(tǒng)運行得非常快,這使我們見識到自動化工具對于驅(qū)動制作流程的強大作用。這大大提高了我們迭代道路系統(tǒng)的速度,而且它還為我們提供了大量的關(guān)聯(lián)數(shù)據(jù),我們可以將其用于其他程序化工具以及游戲邏輯數(shù)據(jù)中。

路網(wǎng)系統(tǒng)本質(zhì)上是一種定制的尋路算法,它會依賴地形的特征進行計算。

設(shè)計人員只需要為每段道路設(shè)置路點,并告訴工具要創(chuàng)建哪種類型的道路,就會自動生成道路并嵌入到當前的路網(wǎng)中。

該工具必須易于使用,并且對我們的美術(shù)師來說足夠靈活,因此,我們要確保設(shè)計人員可以方便調(diào)整道路的彎曲走向,比如能決定哪些區(qū)域?qū)ぢ匪惴☉?yīng)該跳過,比如新建的路段要以多大的粘度融入原本的路網(wǎng)中。
?

?


這聽起來可能很復(fù)雜,但實際上非常容易理解,這其實跟在現(xiàn)實世界中構(gòu)建道路的思路是一樣的。在現(xiàn)實世界中中,道路的規(guī)劃決于建筑成本以及如何生產(chǎn)最便宜的道路。

在后臺,我們的路網(wǎng)系統(tǒng)基本上就是這樣做的。我們給尋路器定義一些特性,比如遇到陡峭的斜坡,我們的道路會呈現(xiàn)很多急轉(zhuǎn)彎的走向;遇到平坦的地勢就會稍微平順一些。最終,會生成一個中蜿蜒盤旋的山路的感覺。

同時,尋路器會遵循現(xiàn)有的道路網(wǎng),按照實現(xiàn)世界建路原則(成本低廉),新創(chuàng)建的道路將會融入到現(xiàn)有的路網(wǎng)中并且合理設(shè)計道路分叉。這個功能尤其有利于構(gòu)建一些非常美觀逼真的路網(wǎng)。

至于我們?nèi)绾螌⒌缆肪W(wǎng)絡(luò)應(yīng)用于地形……

我們通過導(dǎo)出獲得一系列的高度圖應(yīng)用到地形上,使得地形變形以適配路網(wǎng),同時導(dǎo)出材質(zhì)權(quán)重圖來標記路網(wǎng)區(qū)域的材質(zhì)。

為使加快工作流程,路網(wǎng)的地形變形的計算會放在渲染農(nóng)場上進行,每當設(shè)計師完成鋪設(shè)道路的工作時,他們都可以將數(shù)據(jù)推送到渲染農(nóng)場,幾分鐘之內(nèi)就可以得到結(jié)果并貼在地形上了。
?

?


鐵路和河流工具使用類似的過程,它們都使用尋路算法,但規(guī)則不同。

鐵路工具比道路需要更淺且更平坦的路徑,并在嘗試穿越山坡時沿途創(chuàng)建了隧道和橋梁。

Twan De Graaf生產(chǎn)的河流和小溪只允許出現(xiàn)在沿著山坡下行的地方,并且尋路是從山頂開始最近的水域。
?


最終,河流,道路和其他元素的融合有時會創(chuàng)造出一些令人驚嘆的效果。

城市建筑

最大的挑戰(zhàn)之一是使城鎮(zhèn)看起來逼真,尤其是對于不同的環(huán)境和規(guī)模。

道路連接必須合理,城鎮(zhèn)必須看起來好像是向外發(fā)展,中心的大型建筑向外輻射到較小的房屋和農(nóng)田。

交給設(shè)計人員的工具的第一個版本可以建立看起來像鄉(xiāng)村的城鎮(zhèn)。

它建造了一系列主要街道,較小的街道將中心連接起來,并向外輻射到郊區(qū)和農(nóng)田。
?

?

第一個版本的工具是這樣從左到右一步一步生成的

?

最初,該工具主要產(chǎn)生于像這樣的小村莊。


這種方法效果很好,但是與生產(chǎn)中的許多其他事情一樣,一旦賦予藝術(shù)家更大的創(chuàng)作能力,他們就會想要更多。
?

?


雖然我們的設(shè)計師能夠手動繪制或清除道路,但這種形式的工具太局限了,無法產(chǎn)生令人信服的結(jié)果。

我們真正需要的是創(chuàng)建城市,這意味著我們需要解決更多更復(fù)雜的問題。

因此,對于第二個版本,我添加了對網(wǎng)格道路,人行道,建筑物行和其他一些功能的支持。
?

?

Barvechos –一個龐大的城市。


該工具還需要一些時間來計算建筑物的位置。“計算時間”隨著您要創(chuàng)建的解算區(qū)域的增加而呈指數(shù)增長。

一次計算我們一些最大的城鎮(zhèn)的所有建筑物可能需要20分鐘。

但是,可以通過將數(shù)據(jù)緩存到磁盤來減少解算時間,這還可以一次在較小的群集中計算建筑物的位置。

算法

建筑物放置系統(tǒng)可能是整個解算工具中最復(fù)雜的部分。

它使用了一種自我感知的打包算法,我們可以獲取一系列建筑物,每個建筑物都有自己的放置在城鎮(zhèn)中的規(guī)則。

該算法嘗試按優(yōu)先級順序或預(yù)定比例從列表中放置每個建筑物。

該工具會首先對關(guān)鍵性地標建筑進行優(yōu)先級排序,然后填充上的其余部分:房屋和市場攤位等其他真正使城鎮(zhèn)栩栩如生的二級建筑結(jié)構(gòu)。

該算法的工作原理是根據(jù)道路將城鎮(zhèn)劃分成多個區(qū)域,然后從里到外掃描每個區(qū)域以查找合適的放置位置。

然后,它收集有關(guān)這些位置的各種信息,然后對照建筑列表,QQ號碼交易判斷哪些建組適合放置在這些區(qū)域。

這些位置上的信息包括:與市中心的距離,水邊或附近的鐵路,地形的坡度、由設(shè)計師特別指定的信息。

?

?


該工具還會查看有關(guān)已放置的其他建筑物的信息。

如果城鎮(zhèn)中已有教堂,則不會在該教堂附近150米之內(nèi)產(chǎn)生另一座宗教建筑。

總共我創(chuàng)建了70多個不同的規(guī)則和條件,我們可以為每個建筑物設(shè)置這些規(guī)則和條件,這確實使放置算法變得非常強大和靈活。

如果我們出于任何原因不得不搬遷或更改城鎮(zhèn),該工具可能會使這項本來很繁重的任務(wù)變得非常容易。

綜上所述,在發(fā)展過程中,最大的城鎮(zhèn)之一巴維喬斯(Barvechos)可能已被完全重建了5次以上。
?


Khochi –該鎮(zhèn)將許多不同的工具結(jié)合在一起。

植被

大場景的植被放置由兩個部分組成
?

  • 草:根據(jù)地形材質(zhì)的權(quán)重密度圖進行分布
  • 樹、灌木:灌木和樹木的散布規(guī)則由Houdini工具計算并生成點云數(shù)據(jù)的方式實現(xiàn)

?


散布樹木和灌木叢基于一個非常簡單的概念“cascade”:下圖中,紅色的點表示大樹,綠點代表中型樹,藍色點代表小樹和灌木叢。
?

?


為了增加復(fù)雜性,我們首先調(diào)整密度,比例,坡度,資源之間的空間等。然后再添加額外的一些規(guī)則,比如朝陽面、比如規(guī)定哪些物種對應(yīng)地表哪一層材質(zhì)、多層地表材質(zhì)之間的包容和排斥,例如雨水侵蝕,河床,懸崖等等。最后,我們結(jié)合這些規(guī)則刪除一些不正確的植被分布。在道路,鐵路,水域和行人路上,植被會被自動刪除。

我們與地形/巖石美術(shù)師緊密合作,以匹配地表分配規(guī)則(是指splat map)和植被規(guī)則。這樣,與植被分布有關(guān)的地表材質(zhì),巖石和flowmap直接影響了森林在遠處呈現(xiàn)的效果。
?

?


在資源方面,我們嘗試對同一物種采用不同的結(jié)構(gòu),并避免每個群落具有太多不同的物種,這是會更自然一些。您使用的物種越多,就越難做到真實和自然。
?

?


在性能方面,密度是一個問題。我們提出的解決方案是:我們沒有采用每種資源固定的LOD距離值得方法,而是決定采用更靈活的方法:根據(jù)植被密度來調(diào)整LOD值。

因此,根據(jù)其在世界上的位置,同一資源可能具有不同的LOD值。更高的密度意味著LOD更激進,會更快地切換到最后一層LOD:Imposter。
?

?


Imposter是建造如此大的森林的最后一個重要組成部分,從遠處可見。這是一個動態(tài)的billboard系統(tǒng),可根據(jù)攝像機的角度允許樹木呈現(xiàn)的不同側(cè)視圖。它包含不同的紋理通道達到更復(fù)雜的光照效果,例如保持光照關(guān)系,假投影和半透明。
?

?

?

總結(jié)

以上是生活随笔為你收集整理的《幽灵行动·荒野》中的程序化技术:道路、河流、城镇、植被的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。