激情六月丁香婷婷|亚洲色图AV二区|丝袜AV日韩AV|久草视频在线分类|伊人九九精品视频|国产精品一级电影|久草视频在线99|在线看的av网址|伊人99精品无码|午夜无码视频在线

高校合作1:010-59833514 ?咨詢電話:400-810-1418 服務(wù)與監(jiān)督電話:400-810-1418轉(zhuǎn)接2

虛幻引擎自動(dòng)替換CityEngine場(chǎng)景資產(chǎn)

發(fā)布時(shí)間:2024-04-09 18:07:23 瀏覽量:116次

在這篇博文中,我們將學(xué)習(xí)將 ArcGIS CityEngine Datasmith 場(chǎng)景導(dǎo)入虛幻引擎后替換資產(chǎn)的流程。 替換工作流由虛幻引擎的數(shù)據(jù)資產(chǎn)(可以認(rèn)為是簡(jiǎn)單的表格數(shù)據(jù))控制。 一旦設(shè)置正確,這些數(shù)據(jù)資產(chǎn)就可以在項(xiàng)目之間共享。

推薦:使用 NSDT場(chǎng)景設(shè)計(jì)器 快速搭建 3D數(shù)字孿生場(chǎng)景。

1、從CityEngine到Unreal Engine

ArcGIS CityEngine 提供了強(qiáng)大的工具來程序化地創(chuàng)建詳細(xì)的建筑物或大城市。 為了進(jìn)一步處理或可視化,用戶通常需要將這些模型導(dǎo)出到第三方應(yīng)用程序。

Unreal Engine 已成為建筑可視化或創(chuàng)建交互式體驗(yàn)的流行工具,但用戶在將場(chǎng)景從 ArcGIS CityEngine 導(dǎo)出到 Unreal 時(shí)通常面臨的問題是缺乏高質(zhì)量的材料和網(wǎng)格。 幸運(yùn)的是,虛幻引擎提供了幾個(gè)資源庫,例如 Quixel 或 Twinmotion Assets for Unreal Engine,它們可以在虛幻生態(tài)系統(tǒng)中免費(fèi)使用。

為了幫助演示工作流程,我們創(chuàng)建了一個(gè)模板項(xiàng)目,其中包含其他工具來協(xié)助替換,這將在本博文中詳細(xì)說明,因此你可以繼續(xù)操作。

我們還提供了一個(gè)現(xiàn)成的 ArcGIS CityEngine 和 Unreal Engine 示例項(xiàng)目,其中大量使用了這些替代品。 要打開 Unreal 項(xiàng)目,請(qǐng)確保已安裝 Twinmotion Content for Unreal Engine Plugin。

下載鏈接:

  • Unreal 的 CityEngine 替換模板項(xiàng)目 :可用作新項(xiàng)目模板的替換項(xiàng)目
  • Unreal 的 CityEngine 替換插件 :可以集成到現(xiàn)有項(xiàng)目中的替換插件
  • 波士頓示例虛幻項(xiàng)目:需要安裝 Twinmotion Content for Unreal Engine 插件, 3.2 GB,最低系統(tǒng)要求:NVIDIA GeForce RTX 2060 顯卡
  • 波士頓示例 CityEngine 項(xiàng)目:需要將最新的 Complete Street Rule 示例項(xiàng)目下載到你的工作區(qū)

2、資產(chǎn)替換工作流

在本節(jié)中,我們將解釋如何在虛幻引擎中定義替換以及如何使用提供的模板項(xiàng)目在你的場(chǎng)景中執(zhí)行它們。

首先,使用 Datasmith 導(dǎo)出器從 ArcGIS CityEngine 導(dǎo)出場(chǎng)景。 在 Unreal 中,我們可以使用 Dataprep 導(dǎo)入工作流程,或者在導(dǎo)入 Datasmith 場(chǎng)景后在關(guān)卡視口內(nèi)應(yīng)用替換。

通常,此工作流程是迭代的,這意味著我們可以多次執(zhí)行替換,直到獲得所需的結(jié)果。

CityEngine生成的公園:

導(dǎo)入U(xiǎn)nreal Engine并替換為高質(zhì)量材質(zhì)后的同一個(gè)公園:

3、從 ArcGIS CityEngine 導(dǎo)出

要從 ArcGIS CityEngine 導(dǎo)出我們的場(chǎng)景,我們使用 Datasmith 導(dǎo)出器。 根據(jù)用例,有多種選擇可供考慮。

  • Global Offset:全局偏移。全局偏移應(yīng)居中以避免由于可能的大坐標(biāo)而導(dǎo)致的精度誤差。
  • Mesh Merging:網(wǎng)格合并。對(duì)于小場(chǎng)景,這應(yīng)該設(shè)置為 Per Initial Shape,對(duì)于大場(chǎng)景,應(yīng)該設(shè)置為 Globally 或 Globally by Material。 通常每個(gè)初始形狀允許在 Unreal 中更好地處理,因?yàn)槊總€(gè)建筑物都可以單獨(dú)修改。
  • Instancing:實(shí)例化。當(dāng)使用許多實(shí)例時(shí)(例如,用于樹葉、草地或樹木),建議將此選項(xiàng)設(shè)置為使用實(shí)例化靜態(tài)網(wǎng)格物體 Actors。 這將在 Unreal 中使用經(jīng)過優(yōu)化的分層靜態(tài)網(wǎng)格組件,從而提高替換工作流期間的性能以及運(yùn)行時(shí)的渲染性能。 注意:如果你使用的是 Visual Dataprep 工作流,則分層實(shí)例無法在預(yù)覽編輯器中正確呈現(xiàn)。

有關(guān)其他選項(xiàng),請(qǐng)參閱 ArcGIS CityEngine Datasmith 導(dǎo)出器文檔。

提示:為了更容易在 Unreal 中配置替換,建議使用 material.name 屬性適當(dāng)命名 CGA 材質(zhì),例如,通過調(diào)用 set (material.name, “Brick”)。 我們可以稍后在 Unreal 中引用這些名稱來替換材質(zhì)。

4、虛幻引擎中的處理

在 Unreal 中,我們可以定義替換并在 Datasmith 場(chǎng)景中執(zhí)行它們。

首先,我們需要確保我們的項(xiàng)目包含必要的工具。 如果我們想從一個(gè)新項(xiàng)目開始,我們可以使用適用于 Unreal 的 CityEngine 替換模板項(xiàng)目。 或者對(duì)于高級(jí)用例,我們可以將適用于 Unreal 的 CityEngine 替換插件添加到現(xiàn)有項(xiàng)目,方法是將其復(fù)制到項(xiàng)目的插件文件夾。

5、定義替換

替換工作流程由 Unreal Data Assets 控制。 我們的模板項(xiàng)目提供了兩種特殊類型的數(shù)據(jù)資產(chǎn)。 MeshReplacement 類型定義如何替換 StaticMesh 實(shí)例,而 MaterialReplacement 類型定義如何替換網(wǎng)格上的材質(zhì)。

在定義替換之前,需要在內(nèi)容瀏覽器中創(chuàng)建這些資產(chǎn),方法是右鍵單擊然后選擇雜項(xiàng) → 數(shù)據(jù)資產(chǎn),然后選擇網(wǎng)格替換或材質(zhì)替換。

現(xiàn)在可以添加替換項(xiàng)并使用數(shù)據(jù)進(jìn)行設(shè)置。 設(shè)置必要數(shù)據(jù)的方法有兩種:在數(shù)據(jù)資產(chǎn)編輯器中手動(dòng)輸入,或者在導(dǎo)入 Datasmith 場(chǎng)景后將它們添加到場(chǎng)景視圖上下文菜單中。

6、手動(dòng)添加替換

要手動(dòng)添加替換數(shù)據(jù),請(qǐng)單擊替換旁邊的加號(hào),這將向數(shù)據(jù)資產(chǎn)添加一個(gè)新條目。

MaterialReplacement 數(shù)據(jù)資產(chǎn)可以通過匹配材料名稱(材料名稱匹配器)或按材料使用的名稱(紋理名稱匹配器)查找特定紋理來替換材料。

MeshReplacement 數(shù)據(jù)資產(chǎn)通過匹配它們的名稱來替換 StaticMeshes。 我們可以添加幾個(gè)替換選項(xiàng)。 如果添加了多個(gè)選項(xiàng),則按照定義的比例進(jìn)行替換 — 如果添加兩個(gè)替換,比例為1和2,則第一個(gè)被選中的概率為1/3,第二個(gè)被選中的概率為2/3。

匹配類型提供了幾個(gè)選項(xiàng):

  • Starts With:檢查搜索選項(xiàng)是否以給定文本開頭
  • Equals:檢查搜索選項(xiàng)是否與給定文本完全匹配
  • Contains:檢查搜索選項(xiàng)是否包含給定的文本
  • Regex:將搜索選項(xiàng)與給定的正則表達(dá)式模式相匹配的高級(jí)用例

請(qǐng)注意,所有匹配選項(xiàng)都區(qū)分大小寫。

高級(jí)用例:可以通過創(chuàng)建從基礎(chǔ) StaticMeshMatcher 或 MaterialMatcher 類擴(kuò)展的藍(lán)圖來添加自定義 Material 或 StaticMesh 匹配器。

7、在視口中添加替換

我們還可以通過右鍵單擊視口中的 Actor 并在上下文菜單中選擇替換材質(zhì)或替換網(wǎng)格來添加替換 — 這只能在關(guān)卡編輯器視口中使用,而不能在 Dataprep 預(yù)覽視口中使用。

選擇“替換材質(zhì)”將打開一個(gè)對(duì)話框,允許你替換視口中選定的材質(zhì),同樣通過選擇“替換網(wǎng)格”,將打開一個(gè)對(duì)話框以替換當(dāng)前選定的網(wǎng)格。 現(xiàn)在我們需要選擇一個(gè)要添加替換的目標(biāo)數(shù)據(jù)資產(chǎn),我們也可以直接執(zhí)行替換。

8、執(zhí)行替換

模板項(xiàng)目提供兩種執(zhí)行替換的方法:使用 Visual Dataprep 編輯器或在 Datasmith 導(dǎo)入后在關(guān)卡視口中執(zhí)行替換。 這兩種工作流程各有優(yōu)勢(shì),將在以下部分進(jìn)行說明。

9、Visual Dataprep工作流程

Visual Dataprep 允許我們?cè)?Datasmith 導(dǎo)入期間自動(dòng)執(zhí)行操作。 模板項(xiàng)目增加了兩種新的動(dòng)作類型,用于替換資產(chǎn)和材料。 Replace Meshes 和 Replace Materials Actions 都采用它們各自的數(shù)據(jù)資產(chǎn)(如上所述)。

如果將其他 Dataprep 操作組合到一個(gè)工作流中,Visual Dataprep 工作流尤其有用。

首先,我們需要通過在內(nèi)容瀏覽器中右鍵單擊并選擇 Dataprep → Dataprep Asset 創(chuàng)建一個(gè)新的 Dataprep 資產(chǎn),然后打開該資產(chǎn)。

然后我們可以將 ArcGIS CityEngine 的 Datasmith 導(dǎo)出作為輸入添加到 Dataprep 編輯器。 按右上角的加號(hào),選擇你的 Datasmith 文件,然后按導(dǎo)入。

之后,我們可以添加要應(yīng)用于導(dǎo)入場(chǎng)景的動(dòng)作。 通常,我們?yōu)槲覀冊(cè)陧?xiàng)目中定義的每個(gè)替換數(shù)據(jù)表添加一個(gè)操作。

然后我們可以執(zhí)行 Dataprep 管道。 該步驟可以根據(jù)需要重復(fù)多次,以實(shí)現(xiàn)所需的替換。

最后,我們提交管道,這會(huì)將場(chǎng)景添加到我們的關(guān)卡中。

注意:Dataprep 編輯器無法正確處理分層實(shí)例,因此如果你要導(dǎo)入包含許多實(shí)例的大型場(chǎng)景,建議使用下一節(jié)中介紹的常規(guī) Datasmith 導(dǎo)入工作流程。

10、Datasmith 導(dǎo)入替換工作流程

Datasmith 導(dǎo)入工作流程的工作方式類似。

首先,我們通過單擊 Datasmith → 文件導(dǎo)入將我們的 Datasmith 場(chǎng)景導(dǎo)入當(dāng)前關(guān)卡。 與之前解釋的 Visual Dataprep 工作流程不同,在關(guān)卡視口中正常的 Datasmith 導(dǎo)入和執(zhí)行替換也能夠正確處理 Hierarachical 實(shí)例,這使其成為大型場(chǎng)景的首選。

導(dǎo)入 Datasmith 場(chǎng)景后,右鍵單擊 Outliner 中的 DatasmithSceneActor,這將在 CityEngine 部分打開包含新條目的上下文菜單。

  • Execute Replacements:執(zhí)行替換。這將打開對(duì)話框以執(zhí)行網(wǎng)格和材料替換。 替換數(shù)據(jù)資產(chǎn)可以添加到它們各自的列表中,我們也可以在執(zhí)行替換之前恢復(fù) Datasmith 場(chǎng)景。
  • Reload DataSmith Scene:重新加載 Datasmith 場(chǎng)景。這將重新加載源 Datasmith 場(chǎng)景,從而撤消場(chǎng)景中執(zhí)行的所有替換。
  • Merge Instances:這會(huì)將所有實(shí)例化的 StaticMesh Actors 合并到分層實(shí)例化的 StaticMesh Actors 中,如果場(chǎng)景是使用實(shí)例化選項(xiàng) Use Instanced Meshes 導(dǎo)出的,這將很有用。

我們現(xiàn)在可以點(diǎn)擊Eexcute Replacements,這將打開一個(gè)對(duì)話框,我們可以在其中配置我們要執(zhí)行的替換,方法是將它們添加到各自的列表中。 Restore Datasmith Scene Before Execution 也應(yīng)設(shè)置為 true 以在原始場(chǎng)景上應(yīng)用替換。

以下視頻演示了 Boston Example Unreal Project 中的整個(gè)工作流程:

現(xiàn)在一切都已配置,你可以根據(jù)需要重復(fù)多次,直到場(chǎng)景變得完美!


原文鏈接:
http://www.bimant.com/blog/cityengine-unreal-asset-replacements/

熱門課程推薦

熱門資訊

請(qǐng)綁定手機(jī)號(hào)

x

同學(xué)您好!

您已成功報(bào)名0元試學(xué)活動(dòng),老師會(huì)在第一時(shí)間與您取得聯(lián)系,請(qǐng)保持電話暢通!
確定