国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

UE5《Electric Dreams》項目PCG技術解析 之 基于關卡PCGSettings的工作流

這篇具有很好參考價值的文章主要介紹了UE5《Electric Dreams》項目PCG技術解析 之 基于關卡PCGSettings的工作流。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

UE5《Electric Dreams》項目PCG技術解析 之 基于關卡PCGSettings的工作流

程序化內容生成框架(Procedural Content Generation Framework,下文簡稱PCG)可謂是UE5.2版本中最令人矚目的新技術之一,老王也是在第一時間就關注了這個技術,以前嘗試過用Houdini來實現(xiàn)UE5中的程序化內容生成,感覺還是很蹩腳的,畢竟Houdini是第三方工具,節(jié)點操作不如UE藍圖順手,而且生成的資源需要插件來解析,調試以及場景資源的交互就更頭疼了。有了原生的PCG,在程序化內容生成方面,可以和Houdini說拜拜了。

引言

網(wǎng)上有不少關于PCG的小教程,但基本都是從“小工具”層次的介紹。深扒《Electric Dreams》項目的代碼,讓我感到Epic Games這次給出的PCG是野心滿滿的,因為它不僅有很高的完成度,而且還為中大型項目直接定義了更加優(yōu)化的PCG開發(fā)工作流程。

什么是PCGSettings

PCGSettings是PCG中的配置文件,PCGSettings有兩種:

  • 節(jié)點的PCGSettings
  • 關卡的PCGSettings

其中節(jié)點PCGSettings比較容易理解,把PCGGraph中選中的節(jié)點,右鍵Export Nodes to AssetData就可以保存成對應的PCGSettings,它的作用就是可以復用這些節(jié)點的設置,直接拖拽到PCGGraph中就可以使用。
下面我們重點聊聊關卡PCGSettings,在每個Level文件上右鍵通過PCG - Level to PCG Settings都可以導出一個關卡PCGSettings文件,它的名字由Level文件名+"_PCG"后綴組成,當我們更新了關卡中的內容,再次導出時,如果已有對應的關卡PCGSettings文件,它會直接對舊文件進行更新。

UE5《Electric Dreams》項目PCG技術解析 之 基于關卡PCGSettings的工作流

關卡PCGSettings中有哪些內容

我們新建一個名為"PCG_DesignLevel"的關卡,在里面隨便擺放一些東西:StaticMesh、SkeletalMesh以及SplineActor。順便給兩個StaticMesh更換一下材質,然后為白色的Actor添加ActorTag:White;為紅色的Actor添加ActorTag:Red

UE5《Electric Dreams》項目PCG技術解析 之 基于關卡PCGSettings的工作流

導出關卡PCGSettings
UE5《Electric Dreams》項目PCG技術解析 之 基于關卡PCGSettings的工作流

新建一個PCGGraph,里面的內容非常簡單,RCG_DesignLevel節(jié)點就是"PCG_DesignLevel_PCG"的Instance(直接拖拽到PCGGraph即可)

UE5《Electric Dreams》項目PCG技術解析 之 基于關卡PCGSettings的工作流

注意:

  • 這里StaticMeshSpawner的Mesh Selector Type的類型要設置為PCGMeshSelectorByAttribute
  • Attribute Name設為"Mesh"(字符串類型)
  • 勾選By Attribute Material Overrides并添加"Material"

再新建一個名為"PCG_GameLevel"的關卡,把剛剛寫的PCGGraph拖拽到關卡中。

UE5《Electric Dreams》項目PCG技術解析 之 基于關卡PCGSettings的工作流

神奇的事情發(fā)生了,我們發(fā)現(xiàn):

  • "PCG_DesignLevel"中的靜態(tài)物體(靜態(tài)幾何體,地面)都顯示出來了,甚至還賦上了材質。
  • 生成的靜態(tài)幾何體都成為了PCG_Demo的子組件。
  • 但SkeletalMesh和SplineMesh都不見了。

這一切是怎么發(fā)生的呢?我們檢查一下關卡PCGSettings中點云(Point Cloud)的內容:
UE5《Electric Dreams》項目PCG技術解析 之 基于關卡PCGSettings的工作流

  • 從列來看,關卡PCGSettings`的點云中包含著原關卡中所有靜態(tài)網(wǎng)格體、層級實例化靜態(tài)網(wǎng)格體(HISM)和實例化靜態(tài)網(wǎng)格(ISM);
  • 從行來看,點云中的每個點除包含初始屬性,還包含著上述靜態(tài)網(wǎng)格的體相對根節(jié)點(PCGVolume)的Transform,以及對應的Mesh資源和Material。這就是為什么StaticMeshSpawner可以通過屬性生成網(wǎng)格并賦上材質。我們還可以看到,之前在原關卡中為紅色和白色Actor分別添加的Tag(“Red"和"White”)也作為每個點的屬性儲存在點云中,這是一個Int32/64類型屬性,擁有該屬性的Actor值為1,否則為0。在PCGGraph中,我們可以通過Point Filter來過濾擁有某種Tag的Actor。

工作流

小小的PCGSettings文件,讓PCG開發(fā)有了多元化而且松耦合的工作流程,比如:

  • 工作流1:

這是一種縱向的工作流,關卡設計師可以現(xiàn)在一個初始關卡(暫稱之為“錨定場景”),定義出一些重要的錨定網(wǎng)格體,然后導出它的PCGSettings,地編新建一個關卡(暫稱之為“地編關卡”)通過PCGGraph進行視覺上的裝飾

UE5《Electric Dreams》項目PCG技術解析 之 基于關卡PCGSettings的工作流

  • 工作流2:

這是一種橫向的工作流,《Electric Dreams》項目中大量使用了這種工作流。每個子關卡都分別導出PCGSettings,然后在組合關卡中進行組合,這樣不但降低了各個模塊開發(fā)的耦合度,還大大提升了關卡的復用性和靈活性。

UE5《Electric Dreams》項目PCG技術解析 之 基于關卡PCGSettings的工作流

小結

UE5.2中PCG被稱為框架(Framework)而不僅僅是工具(Tools),是有道理的。因為它不僅僅是houdini的原生版本,還帶來了一套針對PCG開發(fā)的工作流程,使用PCG制作游戲場景,效率實在太起飛了,我相信它會成為未來游戲開發(fā)的必修課。文章來源地址http://www.zghlxwxcb.cn/news/detail-497262.html

到了這里,關于UE5《Electric Dreams》項目PCG技術解析 之 基于關卡PCGSettings的工作流的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 如何使用UE5新功能 “打包型關卡Actor” 實現(xiàn)場景的性能優(yōu)化

    如何使用UE5新功能 “打包型關卡Actor” 實現(xiàn)場景的性能優(yōu)化

    內容分為: 簡介 實操 優(yōu)化結果展示 看不懂原理看看實操就大概就能明白 “打包型關卡藍圖”是UE5新功能 世界分區(qū)(World Partition) 的一部分 但 不依賴于項目是否啟用了世界分區(qū) 官方文檔有關世界分區(qū)中 關卡實例化 的內容 官方文檔: 這個功能的原理是將場景中的 靜態(tài)網(wǎng)

    2024年02月12日
    瀏覽(65)
  • 【UE5 Mass AI】UE5技術演示視頻中的MassAI筆記

    【UE5 Mass AI】UE5技術演示視頻中的MassAI筆記

    在虛幻引擎中,Mass Framework是面向數(shù)據(jù)的一種框架設計,而MassAI則是一個具體的用例。 Mass Framework可以分為三部分:MassEntity,MassGameplay,MassAI。 1. Mass Entity MassEntity是一種面向數(shù)據(jù)的框架,該框架有兩部分,一為片段(Fragment),非常小的數(shù)據(jù)結構,會連續(xù)的儲存在內存中;另為

    2023年04月17日
    瀏覽(39)
  • UE5的項目建立及UE5(虛幻引擎5)個人視角移動按鍵操作及運行項目/day.2

    UE5的項目建立及UE5(虛幻引擎5)個人視角移動按鍵操作及運行項目/day.2

    進入UE5的界面就是這樣: 由于我們是剛下載的,“最近打開的項目”是沒有項目打開的所以我們需要新建一個新的項目。 注意,項目位置最好是英文的,否則可能會出錯。(可能不會,畢竟很多人都說有可能有BUG,小心為好)。 初學者的話選擇藍圖編程(畢竟藍圖編程比較

    2024年02月15日
    瀏覽(30)
  • 提升UE5寫實效果的項目設置

    提升UE5寫實效果的項目設置

    隨著 虛幻引擎5 (Unreal Engine 5,簡稱UE5)的發(fā)布,游戲開發(fā)者和數(shù)字藝術家們迎來了一個全新的機會,可以在其強大的渲染引擎下創(chuàng)建更加逼真和令人驚嘆的游戲和虛擬場景。然而,要實現(xiàn)出色的寫實效果,需要合理設置項目并運用一些技巧和策略, 3DCAT實時渲染本文將探討

    2024年02月12日
    瀏覽(38)
  • Ue5.1創(chuàng)建C++項目(Rider)

    Ue5.1創(chuàng)建C++項目(Rider)

    1、下載地址 2、選擇左側“Visual Studio Community 2019” 3、選擇這兩個 4、單體里添加這幾個: 注意最后一個選下邊這個 5、下載完成后到這個目錄 將原來的14.29.30133文件夾重復名,改成14.29.30136,否則報錯 整整baidu、google了1天,網(wǎng)上都沒有解決辦法 Unable to find valid 14.29.30136 too

    2024年02月02日
    瀏覽(39)
  • UE5創(chuàng)建C++項目里報錯

    UE5創(chuàng)建C++項目里報錯

    UE5創(chuàng)建C++項目里報錯: Running C:/Program Files/Epic Games/UE_5.0/Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.exe? -projectfiles -project=\\\"F:/zhanting6.30/PAK/ReadWriteTxtProject/ReadWriteTxtProject.uproject\\\" -game -rocket -progress You must install or update .NET to run this application. App: C:Program FilesEpic GamesUE_5.0EngineBin

    2024年02月05日
    瀏覽(31)
  • ue4.27空項目打包不卡ue5.1空項目打包運行卡的要命研究測試

    ue4.27空項目打包不卡ue5.1空項目打包運行卡的要命研究測試

    知乎上有人提問 lumen是如何做到不卡頓的,我卻不以為然,我的顯卡雖然算不上好顯卡,但是也不至于獨立顯卡一個空項目都玩不起吧,打個cf,玩騰訊模擬器和平精英吃雞肯定還是會很流暢的. 一個空項目都卡,怎么能說是我電腦配置問題呢??? 再來看提示 image.png image.png 反射設置的

    2023年04月21日
    瀏覽(160)
  • 【UE5】第一次嘗試項目轉插件(Plugin)的時候,無法編譯

    【UE5】第一次嘗試項目轉插件(Plugin)的時候,無法編譯

    VS顯示100條左右的錯誤,UE熱編譯也不能通過。原因可能是[名字.Build.cs]文件的錯誤,缺少一些內容,比如說如果要寫UserWidget類,那么就要在 ]名字.Build.cs] 中加入如下內容: 根據(jù)你的文件進行添加。如果說依然有如圖的問題,那你就去原來的項目里看看哪些沒加上去。 正在創(chuàng)

    2024年01月22日
    瀏覽(98)
  • 【虛幻引擎UE】UE5 三種模式調用API詳解(案例基于免費Varest插件)

    【虛幻引擎UE】UE5 三種模式調用API詳解(案例基于免費Varest插件)

    想通過UE5 調用API實現(xiàn)GET和POST, 可以通過自己編寫C++方法, 或基于相關HTTP請求插件, 如Varest、Http Request、Http Blueprint For Web等等插件進行實現(xiàn)。 本文僅簡要介紹實現(xiàn)思路及基于Varest插件的實操案例。 1.如果是無后端直接寫代碼,可以通過Apifox工具(或其他mock工具)設計接口

    2024年02月07日
    瀏覽(50)
  • 【虛幻引擎UE】UE4/UE5 基于2D屏幕坐標獲取場景3D坐標 射線檢測(藍圖/C++)

    【虛幻引擎UE】UE4/UE5 基于2D屏幕坐標獲取場景3D坐標 射線檢測(藍圖/C++)

    射線檢測(Ray Casting) 是一種計算機圖形和計算機圖形學中的基本技術,用于檢測光線或射線是否與三維場景中的物體相交,以確定相交點的位置和其他相關信息。射線檢測通常用于實現(xiàn)各種交互功能、渲染效果和物理模擬,包括但不限于鼠標拾取、光線追蹤、碰撞檢測和物

    2024年02月07日
    瀏覽(183)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包