博客專欄

        EEPW首頁 > 博客 > Blender插件:GLTF 2.0 導入/導出工具

        Blender插件:GLTF 2.0 導入/導出工具

        發布人:ygtu 時間:2023-09-03 來源:工程師 發布文章
        推薦:使用NSDT場景編輯器快速搭建3D應用場景
        用法

        glTF?(GL傳輸格式)用于3D模型的傳輸和加載 在 Web 和本機應用程序中。glTF 減小了 3D 模型的大小和 解包和呈現這些模型所需的運行時處理。 這種格式在網絡上常用,并且在各種3D引擎中都有支持。 比如Unity3D、虛幻引擎4和Godot。

        此導入器/導出器支持以下 glTF 2.0 功能:

        • 網 格

        • 材料(原理BSDF)和無陰影(無照明)

        • 紋理

        • 相機

        • 準時燈光(點、點和方向)

        • 動畫(關鍵幀、形狀關鍵幀和外觀)

        網 格

        glTF的內部結構模仿了圖形芯片常用的內存緩沖區 實時渲染時,以便可以將資產交付到桌面、Web 或移動客戶端 并以最少的處理及時顯示。結果,四邊形和 n 邊形 導出為 glTF 時自動轉換為三角形。 不連續的 UV 和平坦的陰影邊緣可能會導致 glTF 中的頂點計數略高 與攪拌機相比,因為這樣的頂點是分開的。 同樣,曲線和其他非網格數據也不會保留, 并且必須在導出之前轉換為網格。

        材料

        glTF中的核心材料系統支持金屬/原石PBR工作流程 具有以下信息渠道:

        • 基色

        • 金屬

        • 粗糙度

        • 烘烤環境光遮蔽

        • 法線貼圖

        • ****的

        ../_images/addons_io-gltf2_material-頻道.jpg

        glTF 2.0 核心格式中可用的各種圖像映射的示例。這是 水瓶示例模型與其各種圖像映射的切片一起顯示。

        進口材料

        glTF材料系統與Blender自己的材料不同。導入 glTF 文件時, 該插件將構建一組Blender節點,以盡可能接近地復制每個glTF材料。

        導入器支持金屬/原石 PBR (核心 glTF)、規格/光澤 PBR () 和無陰影 () 材料。KHR_materials_pbrSpecularGlossinessKHR_materials_unlit

        提示

        檢查材料導入過程的結果是查看示例的好方法 可導出到 glTF 的材質節點和設置的類型。

        出口材料

        導出器支持金屬/粗糙PBR(核心glTF)和無陰影()材料。 它將根據它在Blender材質中識別的節點構建glTF材質。 材料導出過程處理下述設置。KHR_materials_unlit

        注意

        當材質使用圖像紋理時,glTF 要求圖像采用 PNG 或 JPEG 格式。 該插件將自動轉換其他格式的圖像,從而增加導出時間。

        提示

        要創建無陰影(無光照)材質,請使用背景材質類型。

        基色

        glTF 基色是通過在原則 BSDF 節點上查找基色輸入來確定的。 如果輸入未連接,則輸入的默認顏色(未連接的套接字旁邊的色域) 用作 glTF 材質的基色。

        ../_images/addons_io-gltf2_material-基色-實綠色.png

        可以直接在節點上指定純基色。

        如果發現圖像紋理節點連接到基色輸入, 該圖像將用作 glTF 基色。

        ../_images/addons_io-gltf2_material-baseColor-imageHookup.png

        圖像用作 glTF 基色。

        金屬和粗糙度

        這些值是從原則 BSDF 節點讀取的。如果這兩個輸入都未連接, 節點將顯示滑塊以控制它們在 0.0 和 1.0 之間的相應值, 這些值將被復制到 glTF 中。

        使用圖像時,glTF 期望金屬值在藍色 () 通道中編碼, 以及在同一圖像的綠色()通道中編碼的粗糙度。 如果圖像以不遵循此約定的方式連接到 Blender 節點, 加載項可能會嘗試在導出過程中將圖像調整為正確的形式(增加導出時間)。BG

        在Blender節點樹中,建議使用單獨的RGB節點 將通道與圖像紋理節點分開,以及 將綠色 () 通道連接到粗糙度,將藍色 () 連接到金屬。 glTF 導出商將識別此安排與 glTF 標準匹配,并且 這將允許它在導出過程中簡單地將圖像紋理復制到 glTF 文件中。GB

        此時的“圖像紋理”節點應將其“顏色空間”設置為“非顏色”。

        ../_images/addons_io-gltf2_material-金屬原石.png

        以符合glTF標準的方式連接的金屬/粗糙度圖像, 允許在導出的 glTF 文件中逐字使用它。

        烘烤環境光遮蔽

        glTF能夠存儲烘焙的環境光遮蔽貼圖。 目前沒有導致Blender的節點排列 以與 glTF 中完全相同的方式使用此類映射。 但是,如果導出程序找到名為 和 的自定義節點組 查找在該節點組上命名的輸入, 它將查找附加在那里的圖像紋理,以用作glTF中的遮擋貼圖。 效果不需要在Blender中顯示,因為Blender還有其他顯示環境光遮蔽的方式, 但此方法將允許導出器將遮擋圖像寫入 glTF。 這對于實時 glTF 查看器非常有用,尤其是在存在 可能不是在渲染時計算這些東西的備用電源。glTF SettingsOcclusion

        ../_images/addons_io-gltf2_material-遮擋.png

        預烘焙的環境光遮蔽貼圖,連接到不渲染但將導出到 glTF 的節點。

        提示

        創建自定義節點組的最簡單方法是導入現有的 glTF 模型 包含遮擋貼圖,例如 水瓶或其他現有模型。也可以使用手動創建的自定義節點組。

        glTF 將遮擋存儲在紅色 () 通道中,允許其選擇性共享 具有粗糙度和金屬通道的圖像相同。R

        ../_images/addons_io-gltf2_material-orm-hookup.png

        這種節點組合模仿了glTF包裝遮擋、粗糙度和 金屬值到單個圖像中。

        提示

        循環渲染引擎有一個烘焙面板,可用于烘焙 環境光遮蔽貼圖。生成的圖像可以保存和連接 直接到節點。glTF Settings

        法線貼圖

        要在 glTF 中使用法線貼圖,請連接圖像紋理節點的顏色輸出 連接到法線貼圖節點的顏色輸入,然后將法線貼圖法線輸出連接到 原則 BSDF 節點的正常輸入。“圖像紋理”節點 為此,應將其“顏色空間”屬性設置為“非顏色”。

        法線貼圖節點必須保留在其默認屬性“切線空間”上,作為 這是 glTF 目前支持的唯一法線貼圖類型。 法線貼圖的強度可以在此節點上進行調整。 導出器不會直接導出這些節點,而是會使用它們來定位 正確的圖像,并將強度設置復制到 glTF 中。

        ../_images/addons_io-gltf2_material正常.png

        連接了一個法線地圖圖像,以便導出器能夠找到并復制它 到 glTF 文件。

        提示

        循環渲染引擎有一個烘焙面板,可用于烘焙 來自幾乎任何其他法線向量節點排列的切空間法線貼圖。 將烘焙類型切換為正常。保留默認空間設置 (空格:切線,R: +X,G:+Y,B:+Z)當將此烘焙面板用于glTF時。 生成的烘焙圖像可以保存并插入到新材料中 如上所述的法線貼圖節點,允許其正確導出。

        請參見:循環渲染烘焙

        ****的

        圖像紋理節點可以連接到發光著色器節點,并且 可以選擇通過添加著色器節點與原則 BSDF 節點的屬性組合。

        如果 glTF 導出器找到連接到發光著色器節點的圖像, 它會將該圖像導出為 glTF 材質的自發光紋理。

        ../_images/addons_io-gltf2_material-自發光.png

        可以將排放節點添加到現有節點。

        注意

        此導出器尚不支持原則 BSDF 節點的****輸入。 這可能會在將來的版本中更改。

        雙面/背面剔除

        對于僅可以看到正面的材質,請打開背面剔除 Eevee 材質的“設置”面板。使用其他發動機(循環、工作臺)時 您可以暫時切換到 Eevee 來配置此設置,然后切換回來。

        對于雙面材料,請取消選中此框。

        ../_images/addons_io-gltf2_material-背面剔除.png

        此設置的反轉控制 glTF 的標志。

        混合模式

        基色輸入可以選擇提供 alpha 值。 glTF 如何處理這些值取決于所選的混合模式。

        選擇 Eevee 渲染引擎后,每個材質都有一個混合模式 材質設置面板。使用此設置定義 alpha 值如何從 基色通道在 glTF 中處理。glTF 支持三種設置:不透明字母值將被忽略(默認值)。阿爾法混合較低的 Alpha 值會導致與背景對象混合。阿爾法剪輯低于“剪輯閾值”設置的 Alpha 值將導致部分 根本不要渲染的材料。其他所有內容都呈現為不透明。

        ../_images/addons_io-gltf2_material-αBlend.png

        選擇Eevee引擎后,材質的混合模式是可配置的。

        注意

        請注意,透明度(或 Alpha 混合模式)對于實時引擎來說很復雜 進行渲染,并且在導出后可能會以意外的方式運行。在可能的情況下, 改用 Alpha 裁剪模式,或僅將不透明多邊形放在后面 阿爾法混合多邊形的單個圖層。

        紫外線貼圖

        通過連接 UV 貼圖節點可以控制 UV 貼圖的選擇和變換 以及將節點映射到任何圖像紋理節點。

        “映射”節點中的設置使用名為 的 glTF 擴展名導出。 頂部有一個映射類型選擇器。是建議導出的類型。還支持紋理矢量。支持的偏移量包括:KHR_texture_transform

        • 位置 - X 和 Y

        • 旋轉 - 僅 Z 軸

        • 比例 - X 和 Y

        對于紋理類型,縮放 X 和 Y 必須相等(均勻縮放)。

        ../_images/addons_io-gltf2_material-mapping.png

        深思熟慮的UV貼圖選擇。

        提示

        這些節點是可選的。并非所有 glTF 讀取器都支持多個 UV 貼圖或紋理變換。

        因素

        任何圖像紋理節點都可以選擇與常量顏色或標量相乘。 這些將作為因子寫入 glTF 文件中,它們是相乘的數字 使用指定的圖像紋理。這些并不常見。

        如果需要,單一材料可以同時使用上述所有材料。此圖顯示 同時應用上述多個選項時的典型節點結構:

        ../_images/addons_io-gltf2_material原則.png

        具有自發光紋理的原則 BSDF 材質。

        擴展

        核心 glTF 2.0 格式可以使用 glTF 擴展擴展使用額外信息進行擴展。 這允許文件格式保存首次發布時不被視為通用的詳細信息。 并非所有 glTF 閱讀器都支持所有擴展,但有些擴展相當常見。

        某些Blender功能只能通過這些擴展導出到glTF。 此附加組件直接支持以下 glTF 2.0 擴展:

        進口

        • KHR_materials_pbrSpecularGlossiness

        • KHR_lights_punctual

        • KHR_materials_unlit

        • KHR_texture_transform

        出口

        • KHR_draco_mesh_compression

        • KHR_lights_punctual

        • KHR_materials_unlit

        • KHR_texture_transform

        動畫

        glTF 允許每個文件有多個動畫,動畫目標為 導出時的特定對象。為了確保包含動畫, (a) 使其成為對象上的活動操作,(b) 創建單條帶 NLA 軌道, 或 (c) 隱藏操作。

        支持

        僅支持某些類型的動畫:

        • 關鍵幀(平移、旋轉、縮放)

        • 形狀鍵

        • 電樞/蒙皮

        其他屬性(如光源或材質)的動畫將被忽略。

        自定義屬性

        大多數對象的自定義屬性都保留在 glTF 導出/導入中,并且 可用于用戶特定目的。

        原文鏈接:Blender插件:GLTF 2.0 導入/導出工具 (mvrlink.com)


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: Blender插件

        技術專區

        關閉
        主站蜘蛛池模板: 卫辉市| 伊川县| 无棣县| 贡嘎县| 绥宁县| 纳雍县| 石景山区| 茶陵县| 蓝田县| 云龙县| 山丹县| 色达县| 澄迈县| 石门县| 仙居县| 卓资县| 营山县| 长泰县| 山东| 雅安市| 乌兰察布市| 洛浦县| 博爱县| 环江| 洪江市| 富蕴县| 团风县| 兰州市| 南皮县| 沅陵县| 普格县| 马关县| 勃利县| 蒙城县| 镇平县| 万年县| 兖州市| 遂溪县| 赤壁市| 九江市| 合肥市|