UE5管理內容-結合使用Datasmith與CAD文件格式

本頁面介紹了Datasmith是如何將場景從大多數(shù)支持的CAD文件格式導入虛幻編輯器的。它基本沿襲了Datasmith概述和Datasmith導入過程簡介中介紹的基礎知識,但額外增加了一些CAD文件各有的轉換動作。如果你打算使用Datasmith將場景從CAD文件導入虛幻編輯器,閱讀此頁面可幫助你理解場景是如何轉換的,以及如何在虛幻編輯器中使用場景。
CAD工作流
針對大多數(shù)CAD文件類型,Datasmith使用?直接?工作流。這就是說要使用Datasmith將內容導入虛幻,需要:
將CAD場景保存為受支持的文件類型之一。
如尚未安裝,則需為項目啟用?導入器(Importers) > Datasmith CAD導入器(Datasmith CAD Importer)?插件。
虛幻編輯工具欄上的?Datasmith?導入程序將該文件導入。請參閱將Datasmith內容導入虛幻引擎4。
曲面細分
在CAD格式中,通常使用曲線和數(shù)學函數(shù)來定義曲面和實體。這些曲面的精確度和光滑度非常適用于制造過程。但是,現(xiàn)代GPU芯片針對由三角形網(wǎng)格體組成的曲面的渲染計算進行了高度優(yōu)化。通常,實時渲染器和虛幻之類的游戲引擎只能處理由三角形網(wǎng)格體組成的幾何體,必須突破這些GPU的極限,才能每秒產(chǎn)生數(shù)十幀令人驚嘆的照片級質量圖像。
Datasmith填補了這項不足,它可以自動計算三角形網(wǎng)格體,非常近似地估算出CAD文件中尚無網(wǎng)格體表達的所有曲面。此過程被稱為?曲面細分(tessellation),是準備可實時使用的CAD數(shù)據(jù)的重要步驟。
例如,左側的圖像顯示了在本機CAD查看器中渲染的曲面。右側的圖像顯示了為該曲面生成的三角形網(wǎng)格體的線框。


為了進行實時渲染,對曲面執(zhí)行曲面細分時,需要權衡曲面精度與可渲染速度。
三角形網(wǎng)格體本身永遠不會與生成它的精確曲面完全匹配。曲面細分往往意味著要在某種細節(jié)層級對原始曲面進行采樣,以創(chuàng)建使GPU能更快渲染幾何體的近似值。通常,越接近原始曲面,網(wǎng)格體就越復雜;也就是說,它將包含更多三角形,而這些三角形會更小。這樣渲染時可能外觀更真實,但對GPU提出了更高的要求。如果降低曲面細分網(wǎng)格體的精度,使其包含的三角形變少、變大,GPU對其進行渲染時的速度會更快,但這種渲染所產(chǎn)生的效果可能看起來呈斑駁或鋸齒狀,無法達到令人滿意的視覺保真度。
因此,在曲面細分過程中必須盡可能減少網(wǎng)格體中三角形的數(shù)量,同時最大程度地保持與源曲面的視覺保真度。這通常意味著,針對較為平滑和扁平的曲面需減少三角形數(shù)量、增大三角形尺寸,針對較為復雜和不平的表面需增加三角形數(shù)量、縮小三角形尺寸。
以下部分將介紹導入CAD場景時Datasmith中可調整的3個參數(shù)。通過調整這些值,可控制Datasmith為曲面創(chuàng)建的靜態(tài)網(wǎng)格體幾何體的復雜性和保真度。
你也可以為單個靜態(tài)網(wǎng)格體資源覆蓋這些相同的選項。這樣你可以設置場景的整體曲面細分值,然后針對需要更高或更低細節(jié)級別的單個對象覆蓋這些設置。
。
弦容差
弦容差(有時稱為弦誤差或垂度誤差)定義了細分曲面上任何點距原始曲面上對應點的最大距離。

降低該參數(shù)的值會使細分曲面更接近原始曲面,進而生成更多小三角形。
在曲率較大的區(qū)域中,這種設置的效果最明顯:隨著容差值增加,生成的三角形會變大,曲面平滑度會降低。



最大邊長
此設置可以限制曲面細分網(wǎng)格體內任何三角形的任何一條邊的最大長度。?

在模型的較扁平區(qū)域,此設置的效果最明顯。如果該值設置得過低,你可能會發(fā)現(xiàn)這些扁平區(qū)域的三角形超出了實際需要的數(shù)量。相反,如果該值設置得過高或沒有設置限制,產(chǎn)生的三角形有時會極長極窄,形狀非常奇特,最好也應避免。
如果該值設置為0,Datasmith不會限制其生成的三角形的邊長。



法線容差
此設置定義曲面細分網(wǎng)格體中任意兩個相鄰三角形之間的最大角度(以度為單位)。

與弦容差一樣,法線容差也會影響曲面細分網(wǎng)格體與原始曲面的接近程度。但是,保持高曲率區(qū)域的細節(jié)層級非常有用,對曲面的較扁平區(qū)域生成的三角形幾乎沒有影響。



拼接技術(Stitching Technique)
拼接技術?設置控制著在曲面細分過程中如何處理看似相連、但其實作為單獨剛體或剛體中一個獨立表面建模的參數(shù)曲面。
Stitching Sew?會尋找應該相連的表面,并將其剛體合并到同一個靜態(tài)網(wǎng)格體資源中。
此選項可以減少Datasmith在你的項目中創(chuàng)建的獨立靜態(tài)網(wǎng)格體資源的數(shù)量,但處理時間較長。Datasmith可能會使用不同策略來測試應該拼接在一起的表面。對大部分類型的源文件來說,它會測試表面和附近剛體的連通性,并合并所有其表面相連的剛體。對于其他類型的文件來說,它會使用場景層級作為決定相連表面的提示信息。
Stitching Heal?的作用相同,但只會重新連接在源場景中屬于同一個剛體的表面。如果Datasmith檢測到同一個剛體中的獨立曲面的幾何體應該被連接起來,它會將這些曲面合并到其所創(chuàng)建的靜態(tài)網(wǎng)格體資源內的同一個網(wǎng)格體元素中。
但是,開啟此設置后,Datasmith永遠不會將源場景的多個獨立對象合并成單個靜態(tài)網(wǎng)格體資源。Stitching?None?將完全跳過拼接流程。Datasmith將始終為源場景中的每個獨立剛體創(chuàng)建單獨的靜態(tài)網(wǎng)格體資源,并在靜態(tài)網(wǎng)格體資源中為每個剛體包含的每一個曲面創(chuàng)建單獨的網(wǎng)格體元素。