Unigine 2.8 更新內容

UNIGINE 2.8:改進的數據流,緩存陰影,重構編輯器,更好的植被

2019-04-30

主要變化

  • 重新設計的異步數據流以降低性能峯值。
  • 提高了整個引擎中多個CPU核心的利用率。
  • UnigineEditor的轉型:獨立應用程序,在重大重構後更快,更穩定和可擴展,並進行了一些改進。
  • 緩存陰影優化:性能提升,更靈活。
  • 重構的位掩碼。
  • 使用加性混合和遮擋裁剪更好地反射。
  • 燈的交錯渲染模式。
  • 各種植被改良。
  • 更多信息性能分析器。
  • 主要IG模板更新:DIS支持,更多CIGI數據包,多線程和優化。

此版本中的多核處理器已針對多核處理器進行了優化,以充分利用PC平臺提供的所有額外計算能力,從異步數據流到處理網絡數據包。

渲染改進繼續推動虛擬世界中視覺真實感的界限,在此版本中,我們顯着改善了植被,陰影和反射的外觀。

大量的各種性能優化,包括緩存陰影,異步數據流,有助於提高整體引擎性能並減少峯值。

 

注意:UNIGINE 2.8 SDK需要SDK Browser版本1.9.13或更高版本。

改進的異步數據流

沒有人喜歡尖峯,它們在娛樂應用中可能很煩人,並且對於模擬器來說是完全不可接受的。我們已經完全改進了異步數據流系統,利用多線程的優勢來減少因加載圖形資源而引起的尖峯。幾何和紋理流在單獨的線程中執行。

流系統使用紋理緩存,該緩存由爲用戶定義的分辨率爲所有紋理生成的最小化副本組成,並存儲在data / .cache_textures文件夾中(文件結構與.runtimes相同)。在加載這些副本時使用這些副本而不是原件。

流媒體在2.7.3

流媒體在2.8

支持緩存所有紋理(帶或不帶mipmap,立方體貼圖,3D紋理等的2D紋理),因此即使場景中使用的1GB 3D紋理也不會再出現尖峯。

如果未找到紋理的緩存副本,則會生成並動態添加。

紋理緩存在引擎啓動時加載,並在加載後始終保留在內存中。

所有相關設置(渲染預算,內存限制,紋理緩存分辨率等)都可以通過“ 設置”窗口的“ 流”部分進行調整(Windows - >設置 - >渲染 - >流式傳輸),它們也可以通過控制檯命令和API獲得。 。

您可以在必要時啓用所有資源的強制加載(例如,爲節點生成預覽或抓取幀序列)。

所有render_manager_ *控制檯命令都重命名爲render_streaming_ *

請注意,流式傳輸系統需要支持多線程的GPU驅動程序。OpenGL和DirectX的設置和工作流程有所不同,有關流配置的更多信息,請參閱異步數據流文章。

緩存陰影優化

動態光照可確保正確渲染移動物體投射的移動光源的所有陰影。這種方法意味着每幀渲染場景的幾何圖形,以計算每個投影光的陰影(或者每個Omni計算六次)。在場景中使用多個動態光源並在運行中爲它們計算陰影可能會導致性能下降,尤其是當場景包含具有大量多邊形的複雜幾何體時。當大多數物體和燈光是靜止的時,它可能是對資源的可怕浪費。

此版本帶來了一個解決方案 - 緩存陰影功能使您能夠替換動態陰影並使用烘焙的陰影來保護靜態,從而減少負載並顯着提高性能。您可以將Omni,ProjectedWorld光源切換到靜態模式(它們的陰影預先計算並存儲在深度紋理中)。

要渲染的陰影類型由燈光模式和爲燈光物體曲面設置的陰影模式定義。

世界光源的工作以類似的方式,但它使用的影子瀑布。在動態模式中,陰影級聯是相對於攝像機位置動態構建的,而在靜態中它們是烘焙的,其區域由光源的位置定義。這種世界之光模式適合作爲小區域ArchViz項目的性能優化技術,其中陰影級聯可以分爲兩個部分:具有高分辨率陰影的可行走區域(因爲它們被密切觀察)和非步行區域低分辨率陰影(從遠處觀察它們)。請注意,在靜態模式下無法更改時間,因爲陰影級聯已烘焙。

緩存陰影的機制爲您提供了很大的靈活性 - 根據您的需要,您可以選擇僅渲染烘焙陰影或組合烘焙和動態陰影的渲染。

動態陰影

靜態陰影

請注意,由於光源模式已更改,因此在遷移項目時應執行以下轉換:

  • 實時光源 - > 動態光源;
  • 混合光源 - > 動態光源;
  • 烘焙光源 - > 啓用靜態陰影模式的靜態光源。

有關更多信息,請觀看我們關於緩存陰影的新視頻教程:

 

有關新技術的信息也可在更新的Lights Optimization文章中找到。可以在SDK中包含的Samples演示包中找到說明該機制的新示例。

更多陰影改進

但我們並沒有停下來爲您提供優化陰影渲染的選項,我們不僅提高了整體性能和陰影質量,使得低分辨率陰影更快,高分辨率陰影更加平滑。

其他陰影渲染改進包括:

  • 光線穿透材料的深度乘數,使您可以控制光線穿過半透明物體移動陰影的深度。乘數稱爲半透明深度,可以在設置”窗口的“陰影”部分中找到(“設置” - >“渲染” - >“陰影”)。

  • 現在可用於陰影貼圖的超高16K分辨率使您可以爲場景帶來更多細節。但請記住視頻內存消耗,因爲這樣的紋理需要很多。
  • 陰影的單獨距離比例倍增器,可以更靈活地優化場景。

性能分析改進

使用一組Performance Profiler的更新,監控應用程序的性能變得更加高效和方便:

  • 添加了新的GPU加載計數器。
  • 改進的網格內存消耗計數器
  • 紋理計數器值現在包括屏幕緩衝區。
  • 三角形計數器被分爲三個部分:陰影,幾何和總。
  • 添加了通過show_profiler_charts控制檯命令顯示/隱藏Profiler圖表的功能
  • 顯示OpenGL的基元數。
  • 改進了數字格式。

我們還將GPU Microprofile添加到公共API,使您可以獲得有關GPU相關操作的更多信息。要添加新的GPU相關計數器,只需將beginMicro函數的第二個參數設置爲1:

源代碼(C ++)

<span style="color:#5f5f5f"><span style="color:#dddddd"><span style="color:#f8f8f2"><span style="color:#f8f8f2">Profiler </span>:: beginMicro( “ <span style="color:#f8f8f2">my_function</span> ”,1);</span></span></span>

FPS穩定

增加了新的幀速率穩定功能,可用於避免顯着的FPS波動,使幀速率更平滑,駕駛員的行爲更可預測,但性能成本(可能導致FPS降低高達30%)。所有必要參數均可在“ 設置”窗口的“ 屏幕”部分中進行調整(“設置” - >“渲染” - >“屏幕”)。您還可以通過API或一組render_fps_stabilization控制檯命令控制FPS穩定。

更好的植被

如果我們當然不談論火星,植被是決定虛擬景觀整體外觀的關鍵因素。在此版本中,我們添加了更多功能,可以創建逼真的戶外環境,提供高度身臨其境的體驗。

冒名頂替者的深度紋理

Impostors現在有一個深度紋理,大大改善了他們的外觀,使得很難從原始模型告訴他們!相應的參數被添加到所有冒充者材料中。

沒有深度紋理

深度紋理

當然,Impostors Creator工具現在支持此功能。

改進的次表面散射

次表面散射(SSS)是葉片和草葉外觀的主要貢獻者之一,因此對此效果進行了一些改進:

  • 背面(相對於光源)薄物體(例如葉子和草葉片)的側面現在看起來更逼真,因爲在計算SSS顏色和強度使其更亮時考慮各向異性和多重散射效應。
  • 來自光源的陰影現在可以平滑地溶解在材料內部。平滑度由SSS強度值確定。
  • 屏幕空間陰影現在與SSS正確地工作,類似於普通陰影,從近處或遠處觀察時,大大改善了樹葉的外觀。在後一種情況下,該選項與改進的冒名頂替者相結合,特別有效,以較低的成本提供真實的環境。

    2.7.3

    2.8

  • 添加了一種能力,因此指定一種全局用於半透明對象的顏色。當光線照射在半透明物體的一側時,另一側會被這種顏色部分照亮。您可以使用它來改變植被的半透明顏色,使其看起來更逼真。您可以通過“ 設置”窗口的SSS部分更改“半透明顏色Windows - >設置 - >渲染 - > SSS)。至於每種材料的半透明顏色,我們計劃在即將發佈的版本中提供它。

新的mesh_base選項

mesh_base材質中添加了一個新的Vegetation Velocity選項,用於控制對速度緩衝區的寫入,可用於在必要時改善TAA和運動模糊結果。在其他情況下,您可以禁用此選項以獲得性能(因爲啓用此選項的對象會呈現兩次)。

mesh_base材質中添加了一個新的“將法線移動到相機”選項,使您可以忽略幾何法線並將它們定向到相機。這對於植被非常有用,因爲它使葉子和草葉片由不太明顯的多邊形組成。

將法線旋轉到相機:關閉

將法線旋轉到相機:開

mesh_base材質的另一個新功能是Angle Fade選項的邏輯已更改,現在它不需要爲啓用了Alpha Test預設的材質啓用Vegetation選項。你可以將它用於樹冠,使它們看起來不那麼低多邊形,因爲它們的法線偏離攝影機時會剪掉多邊形。

角度淡化:關閉

角度淡化:開啓

交錯燈渲染

渲染燈是消耗最多的部分之一:場景中使用的光源越多,它們對性能的影響就越大。如果我們必須以4K +渲染場景,情況會變得更糟,因爲支持UHD的設備的數量會增長更高的渲染分辨率正在被更廣泛地接受。

爲燈光引入新的Interleaved Rendering模式。在該模式中,在延遲通過期間以半分辨率(所有像素的1/4)渲染照明,隨後使用來自先前幀的數據重建相鄰像素,使得可以減少渲染負荷。效果是累積的,並且在啓用TAA時效果最佳。我們還建議在啓用超級採樣時使用此模式以減少負載,同時保持高圖像質量。

對於包含大量光源並且沒有大量反射表面的相對靜態場景,建議使用此模式(因爲反射代表交錯重建的弱點)。請注意,爲具有少量光源的場景(例如,具有單個世界光的飛行模擬器場景)啓用交錯燈渲染可能會導致性能下降。

然而,還應注意,該模式需要高幀率(60+ FPS),否則抗鋸齒質量會降低,重影效果會變得更加明顯。

您可以爲燈光啓用交錯渲染並通過“ 設置”窗口的“ 燈光”部分調整其參數,也可以通過API和一組render_lights_interleaved * 控制檯命令進行調整。

有關配置和使用燈光交錯渲染模式的更多信息,請參閱“ 交錯燈光渲染”一文。

改進的超細纖維效果

天鵝絨和綢緞面料,以及非常模糊的水果或非洲葉子,甚至是臉上的桃子絨毛現在看起來更加逼真,因爲改進的微纖維效果模擬了數千種以不同方式反射光線的纖維。我們開發了自己的BRDF模型,考慮了金屬度,粗糙度,鏡面反射和反照率等PBR參數,光線方向也很重要,因此模擬變得更加物理正確。

更好的反射

封閉的反射剪輯

在某些情況下,烘焙到環境探測器中的反射可能會在實際上不應該出現的區域中清晰地看到,從而導致各種人工製品破壞了場景的整體外觀。將環境探頭放置在不規則形狀(非方形)的房間時,這一點尤其明顯。

陰影摳圖:關閉

陰影摳圖:開啓

引入一種新功能,可以捕捉被障礙物遮擋的反射(位於相對於光源的陰影區域)。可以通過“ 按陰影剪切”選項爲環境探測器啓用此功能,並使用爲其捕獲的深度紋理來確定應該可見的反射。一組附加參數可用於微調。

有關剪切遮擋反射的更多信息,請參閱環境探測器文章。

環境探針的添加劑混合

環境探測燈現在支持添加劑混合模式。此選項爲反射控制提供了更大的靈活性。您可以使用它將幾個環境探測器的反射混合在一起並單獨控制它們。

請注意,啓用了添加混合的環境探測器不能用作添加反射細節的插圖(例如,在大的低細節環境中創建一個小的高細節環境探測器)。這些探針不會相互替換,因爲它們是混合的。

展示此功能的示例已添加到Samples套件中。

Planar Reflections

鏡子,游泳池或湖泊的玻璃平靜以及其他反射表面將受益於平面反射的改善質量,因爲它們現在支持時間抗鋸齒(TAA)。

2.7.3

2.8

此外,現在可以通過將新的距離比例參數添加到mesh_base材質來降低渲染平面反射的成本。它使您可以選擇在反射中渲染高多邊形或低多邊形LOD,以便在保持可接受的圖像質量的同時獲得性能。因此,您可以更靈活地優化場景中反射的性能。

多散的鏡面反射

模仿粗糙表面上的多次散射鏡面反射,在這個版本中已經可以使用,根據能量守恆定律,使反射的最終外觀更接近現實,使其更亮和更飽和。

2.7.3

2.8

此版本還帶來了與反射相關的以下修復:

  • 修復了在OpenGL上啓用平面反射的全局水對象的平面反射渲染。
  • 修復了啓用遮擋物時在平面反射中剪切對象的問題。
  • 修復了平面反射忽略視口蒙版的問題。

增強的TAA

添加了在TAA顏色鉗制過程中考慮對角相鄰像素的功能,以提高抗鋸齒質量,您可以通過設置 - >渲染 - >抗鋸齒中的相應複選框切換此選項。

TAA Diagonal Neighbors:關閉

TAA Diagonal Neighbors:On

其他渲染改進

  • 添加了一種控制允許驅動程序排隊以進行渲染(延遲)的最大後緩衝幀數的功能,以減少由驅動程序管理的GPU負載優化引起的應用程序邏輯中的峯值。通過減少延遲值,您可以提高響應用戶輸入的優先級。在其他情況下(高GPU負載,VSYNC使用)可能需要增加該值以排隊更多數據幀,這對於沒有用戶輸入的應用(例如,視頻回放)也是有益的。您可以通過render_latency控制檯命令或通過API 控制延遲。
  • 添加了一個新的Normal Substitute選項,用於mesh_base材質中的詳細信息,以控制是否要將細節法線貼圖與基本法線貼圖混合或重疊。

    正常替補:關閉

    正常替代:開

  • 水渲染修復:
    • 修復了在其邊界附近的FieldSpacer內水下可見泡沫和焦散的問題。
    • 修復了當攝像機的遠剪裁平面距離不等於10000時,ObjectWaterGlobal忽略FieldSpacers的問題。
    • 修復了在水上模式下觀察時FieldSpacer中可見水下霧的問題。
    • 修復了在禁用霧度和霧度距離設置爲0的情況下WaterGlobalWaterMesh對象的渲染。
    • 修復了ObjectWaterGlobalObjectWaterMesh渲染的問題,使其在使用OpenGL的Nvidia GPU上不可見。
    • 修復了禁用全局水的輔助緩衝區渲染。
  • 在將粒子程序渲染成貼花的情況下,修復decal_particles材質的顏色校正。
  • 修復了在向粒子系統添加噪聲時凍結粒子發射的問題。
  • 修復了對於VR中不可見的像素(render_stereo_hidden_​​area 2)的自定義剔除模式的交叉和布隆效果的渲染。
  • 修復了啓用SSDirt效果(Nvidia + OpenGL)時的着色器錯誤。
  • 修復了Impostors Creator工具錯誤生成草冒充者紋理的問題。
  • 現在,在使用Impostors Creator工具爲ObjectMeshClutter創建冒名頂替者時,會考慮曲面的視口和陰影蒙版。
  • 修復了更改方向並重新導入FBX模型後修復了錯誤的網格剔除問題。
  • 固定散射LUT着色器,當太陽和月亮之間的角度小於90度時,防止月亮過快地淡出。
  • 刪除了立方體貼圖模糊Sky對象的人工製品。
  • 改進了羣集的陰影可見距離的計算。
  • 修復了Windows + AMD + OpenGL API着色器緩存重新生成的問題。
  • 在VR中啓用隱藏區域模式時,固定左眼和右眼的曝光。
  • 修復了在啓用了地形對齊(交叉)的對象(草,雜波等)下修改地形高度時的崩潰問題。

比特屏蔽可用性

位屏蔽是UNIGINE提供的一種強大而靈活的機制,可以有選擇地對對象應用或啓用某些特效或特徵。我們使用升級的Bitmask對話框使其更簡單,更直觀。現在,在場景中配置掩碼時,您不必記下許多十六進制值或位組,只需標記有意義名稱的所需位,並在相同類型的所有掩碼中使用它們。

此外,您不必總是打開“位掩碼”對話框來檢查掩碼配置,因爲掩碼小部件顯示已設置的位的名稱。

爲了保持一致性,對位掩碼進行了更多更改:

  • Light Mask被重命名爲Shadow Mask
  • Reflection Mask被重命名爲Reflection Viewport Mask

爲了向您提供有關UNIGINE中位掩碼的更多信息以及如何使用它們來改善項目的性能,我們添加了一個新的視頻教程:

 

Property 更新

Property System引入了以下一組改進和修復,以確保整體穩定性並提高性能:

  • 優化的屬性刪除操作。
  • 修復了重置分配給節點層內節點的屬性的節點參數值的問題。
  • 修復了在重新導入屬性時將結構數組內的參數重置爲默認值的問題。
  • 修復了在爲節點分配新屬性時觸發回調的問題。
  • 修復了屬性參數數組元素的重置值爲默認值。
  • 手動編輯* .prop -files 時修復了屬性重新顯示問題。
  • 修復了重寫結構數組的問題,以及在更改其父級時刷新參數工具提示和屬性的標題。
  • 固定手動屬性的條件。
  • 修復了將屬性的手動狀態設置爲1的斷言。

其他engine改進

  • 提高了多CPU核心的利用率。
  • 從SSE2切換到SSE4.1指令集擴展,更新了最低系統要求。
  • 修復了將蒙皮網格動畫與使用LOD組合時表面設置不正確的問題,以及蒙皮網格實例的其他問題。這些修復需要更改使用蒙皮網格動畫的邏輯。默認情況下,所有新項目都應使用新邏輯,並提供保留舊工作流的選項,通過skinned_legacy_mode控制檯命令進行控制(遷移後應爲舊項目啓用此選項)。API遷移指南中提供了有關所有相關更改的更多詳細信息。
  • 添加了控制對象表面烘焙到體素和環境探測器以及從環境探測器投射陰影的功能。相應的選項被添加到UnigineEditor中的表面參數,也可以通過API進行控制。
  • 改進了大型文件集的GUID生成算法(項目中> 500 000個文件)。
  • 改進的GPU檢測算法。
  • 修復了在資源瀏覽器中選擇文件時重置節點/曲面選擇的問題。現在,如果選擇節點或曲面,然後在“ 資源瀏覽器”中選擇資源(例如,拖放到所選節點的材質),則節點/曲面應保持選中狀態。
  • 改進的標準數據容器:
    • 爲Vector添加了ReverseIterator
    • 添加了Vector :: removeOneFast
    • 添加了BiMap快速搜索鍵和值
    • 重構的地圖和集合
  • 修復了重新加載世界後相對於曲線地形移動MeshStatic對象的問題。
  • 修復了INDEPENDENT_SIZE_WINDOW標誌的問題,導致窗口忽略調整大小並保持其初始寬度和高度。
  • 修復了使用蒙版的ObjectGrass的非均勻草分佈問題。
  • 修復了沿X軸翻轉爲MeshClutter創建的冒充者的問題。
  • 修復了通過-plugin_path選項加載的雙精度插件。
  • 修復了.world.render文件中字符串類型控制檯變量的加載問題。
  • 修復了第一次Web瀏覽器啓動時刷新的Microprofile信息。
  • -video_app啓動命令行選項添加了以下別名:
    • gl - 用於opengl
    • dx - 對於direct3d11
  • 修復了UnigineScript的engine.filesystem類的GUID相關方法。
  • 添加了通過-video_adapter啓動命令行選項指定其編號來選擇要使用的GPU的功能 (僅適用於DirectX)。
  • 修復了在具有兩個或更多具有不同屏幕分辨率的顯示器的配置上運行時由App調用引起的堆棧溢出錯誤。
  • 使用適用於OpenGL的App *插件修復了引擎啓動時的崩潰問題。
  • 修復了更改OpenGL窗口大小時的崩潰問題。
  • 現在,在資源瀏覽器中可以正確顯示爲已安裝目錄中的新自定義地形LOD創建的新文件夾。
  • Linux上的地形重新生成後,固定資產更新。
  • 爲Linux重建GDAL庫以修復編譯錯誤。
  • 修復了在雙排牆配置的情況下使用AppWall插件時鼠標位置不正確的問題。

重構編輯器

我們相信適當的工具對於任何類型的創作過程都是必不可少的,因此我們繼續不斷追求性能,效率,便利性和穩定性。UnigineEditor已從引擎插件發展爲全面的獨立應用程序。經過重大的重構後,它變得更快,更方便使用,更容易擴展。具有明確定義的初始化序列的清晰模塊化結構代表了我們爲在最近的將來由我們的用戶和我們自己實現的擴展和定製準備的強大基礎。下一步是爲編輯器提供公共API,以便客戶能夠將自己的插件引入編輯器。

清潔工具

在處理項目時,您可以創建,複製,移動,繼承,重命名和刪除資產。結果,可以創建大量不必要的文件。

介紹Cleaner,這是一個工具,可以通過刪除任何地方未使用的資產來優化項目並節省磁盤空間,以後不會在最終構建中使用。Cleaner還會檢查丟失的資產,即GUID引用但在項目中不可用的資產。

清潔工可以爲一般項目節省高達30%的磁盤空間,並且肯定會幫助您保持項目的整潔。

但是,不要太快地點擊清除檢測到的所有資產的全部刪除因爲您可能會不可挽回地破壞您的項目!正確清理需要進行適當的分析,因此請小心謹慎,不要忘記閱讀清潔工具文章以獲取更多信息。

資產瀏覽器中的紋理轉換(實驗)

可以在項目中使用各種類型的紋理資源。但它們是否經過優化,還是浪費了寶貴的兆字節?在開發項目時,藝術家通常只是將大量紋理丟棄到資源瀏覽器而不考慮它們的大小(例如,重TGA紋理),因此您的項目的存儲庫可以增長到一個巨大的大小。稍後他們可能希望優化其紋理,但更改資產的類型(使用第三方DCC工具轉換時)意味着更改其GUID,這需要進行許多其他相關更改。

資產瀏覽器中提供的新紋理轉換功能將有所幫助!它不會在轉換時更改資產GUID,從而保留所有必需的鏈接,並且可以將項目中使用的任何紋理資源轉換爲可用格式之一。

忽略guids.db的選項

有時,在團隊合作開發的情況下,在使用UnigineEditor時,可能會將無效的guids.db文件提交到存儲庫(由於不正確的合併或其他原因)導致錯誤。因此,我們添加了一種能夠通過-skip_guidsdb命令行參數忽略引擎忽略guids.db文件的 功能。在這種情況下,Engine會在數據文件夾中的所有.meta文件和所有已安裝的外部目錄和包中搜索GUID 。默認情況下,UnigineEditor使用此參數來避免錯誤,並始終重新生成guids.db文件以確保其有效性。

其他編輯器改進

其他編輯器改進列表包括以下內容:

  • 改進的節點操縱器。

  • 渲染調試小組進行了擴展和現在通過以下渲染緩衝區快速可視化調試提供了更多的功能補充說:漫射照明,漫反射燈,氛圍燈,SSGI,思考,亮點,立方體貼圖,SSR。

  • 修復了嵌套節點引用到FBX的導出問題。
  • 修復了在缺少腳本文件的情況下從世界文件加載相機設置的問題。
  • 修復了更改安裝點路徑時的崩潰問題。
  • 修復了將材質指定給禁用曲面的問題。
  • 修復了爲PhysicalWater,PhysicalWind,PhysicalForce,PhysicalNoisePhysicalTrigger保存物理掩碼的問題。
  • 現在爲每個新的Persecutor Player創建一個默認目標節點。
  • 修復了使用“ _m ”後綴導入紋理的問題。
  • 爲spinbox字段添加了算術運算。要使用操作,請在該字段中單擊鼠標右鍵,然後在上下文菜單的“ 數學”組中選擇所需操作,請輸入一個值並單擊“ 應用”

  • 修復了引擎視口處於活動狀態時不允許克隆節點的問題。
  • 修復了將Engine Viewport的狀態保存到editor2.cfg文件的問題。
  • 修復了在安裝包含屬性的文件夾的情況下,資產管理器在驗證階段生成的“資產無效”錯誤。
  • 通過新的全部展開按鈕,只需單擊即可展開世界,屬性和材料層次結構。

  • 現在可以將所選節點的層次結構烘焙到網格集羣。
  • 修復了粒子系統參數列表中的“ 最大變暖時間”滑塊。
  • 修復了“ 顏色選擇”對話框中的旋轉框,現在您可以通過單擊相應字段旁邊的箭頭圖標並上下拖動來調整Alpha值。
  • 修復了Video Grabber生成的EXR文件的錯誤伽瑪值。
  • 修復了刪除材料層次結構時崩潰
  • 修復了在打開和關閉某些現有參數後向Tracker添加新參數的問題。
  • 修復了重新導入外部修改資產的問題(Linux)。
  • 修復了重新導入源.FBX模型後錯誤選擇網格的問題
  • 修復了以IGS格式爲導入的模型分配材料的問題,以及與以FBX和STL格式導入模型相關的問題。
  • 修復了更改物理(關節,形狀)參數和禁用物理模擬後選擇節點的崩潰問題。
  • 修復了在場景包含GeodeticPivot對象的情況下在選擇時重置網格座標的問題。
  • 修復了恢復滑塊位置更改操作時修復了錯誤的撤消行爲。
  • 現在可以通過“ 世界層次結構”窗口中上下文菜單的“ 選擇子節點”項輕鬆選擇所有節點的子節點

  • 現在禁止在數據根目錄中創建具有保留名稱(例如核心,腳本,編輯器2)的用戶文件夾或裝入文件夾,如果通過資源管理器創建此類文件夾,則不會在資源瀏覽器中顯示。在數據文件夾的子文件夾內,沒有應用名稱限制,資產瀏覽器將正確顯示此類文件夾。
  • 修復了編輯草對象蒙版的問題。
  • 修復了更改Angle參數時材質的動畫UV變換的錯誤行爲。
  • 修復了打開世界後聲音變得不可用的預覽問題。
  • 修復了Iris 580 Pro GPU上場景視口中不正確場景渲染的問題。
  • 啓用/禁用節點和曲面的複選框現在支持多選:禁用一組曲面,選擇它們並取消選中其中一個曲面。

  • 現在,您可以通過右鍵單擊任何資產並在上下文菜單中選擇“在Explorer顯示運行時”來輕鬆查找任何資產的運行時文件。
  • 現在可以從“ 設置”窗口直接控制各種渲染功能。
  • 修復了在向場景添加新對象時,活動引擎視口抓取光標的問題。
  • 修復Engine Viewport失去焦點後的持久GUI活動。
  • 修復了在抓取基於軌道的視頻序列後,無法在編輯器中更改節點位置的問題,並指定其在“ 跟蹤器工具”中創建的移動。
  • 您現在可以通過在World層次結構中慢速雙擊它來重命名節點。快速雙擊用於像以前一樣關注節點。
  • 現在,所有浮點數都顯示爲5位小數。

  • 分配給所選對象的材料將在“ 材質層次結構”中自動選擇。
  • 您可以使用Ctrl按鈕反轉捕捉控件(網格,角度比例)。
  • 改進了PlayerSpectatorPlayerActor的 UI 。
  • 刪除了攝像機的轉換鎖。

IG更新

IG(圖像生成器)應用程序模板是我們用於專業分佈式仿真系統的即插即用組件,它繼續發展並構建其功能。隨着整體性能的提高,特別是由於多線程的廣泛使用和穩定性,支持的通信協議列表已經擴展:現在支持分佈式交互式仿真(DIS)(基本級別使用KDIS庫v2.9.0,DIS_VERSION 7實現) )。

完整的更新集包括以下內容:

  • 現在支持用戶定義的CIGI數據包。
  • 通過支持CIGI Maritime Surface Condition Control數據包實施全球水控制。
  • 現在支持實體的海洋夾緊。
  • 視線(LOS)請求現在支持材料掩模,使您能夠考慮LOS段測試來包含或排除各種環境和文化特徵。
  • 改進的地形以上高度(HAT)/地形高度(HOT)請求現在也支持掩模。您可以指定交叉點蒙版以定義IG作爲地形處理的內容。例如,當跑道或道路由網格對象表示時,這可能很有用。在這種情況下,您只需通過以下方式設置某個掩碼:

    源代碼(C ++)
    <span style="color:#5f5f5f"><span style="color:#dddddd"><span style="color:#f8f8f2">ig_manager-> <span style="color:#f92672">設置</span> TerrainIntersectionMask(mask);</span></span></span>

    然後爲您想要被視爲HAT / HOT的參考級別的所有網格設置此蒙版。彎曲地形的HAT / HOT誤差是固定的。

  • 實施CIGI Symbology數據包支持(Symbol Clone除外),使您能夠創建和管理平視顯示器(HUD)。目前不支持虛線。
  • 現在,您可以在實體內定義任意碰撞體積(不僅僅是框和圓)。只需創建一個分配了物理主體和碰撞形狀的模型,並將以下行添加到ig_config.xml文件中的實體定義部分:源代碼(XML)
    <span style="color:#5f5f5f"><span style="color:#dddddd"><span style="color:#f8f8f2"><span style="color:#f8f8f2">< <span style="color:#a6e22e">volume_definition </span> <span style="color:#66d9ef">id</span> = “1”  <span style="color:#66d9ef">shape</span> = “shape_num” ></span> path_to_node <span style="color:#f8f8f2"></ <span style="color:#a6e22e">volume_definition</span> ></span></span></span></span>
  • 添加了View同步。
  • CIGI Connector插件現在在一個單獨的線程中執行。
  • 添加了內部Syncker初始化。
  • 添加了在配置文件(ig_config.xml)中設置CIGI數據包大小的功能
  • 修復了收到無效數據包時崩潰的問題。
  • 現在支持Syncker同步掩碼。
  • 固定使用FK5天體目錄生成的廣告牌所代表的恆星的亮度精度。
  • 爲大多數使用的屬性添加了工具提示,以便您可以輕鬆獲得所有必要的信息。
  • 更新了文檔的IG模板部分。

Syncker

Syncker多通道渲染系統還擴展了對多線程的使用,並進行了大量優化,從而提高了整體性能,使您能夠爲此添加更多功能。

向Syncker添加節點時,默認情況下會同步其所有參數(狀態,材料,轉換等)。但是,如果我們唯一需要的是節點的狀態(例如,如果它被啓用或禁用)呢?在這種情況下同步其他參數是浪費寶貴的資源,我們希望避免。引入同步掩碼 - 一種靈活的機制,使您可以通過定義要同步的內容來優化負載。添加/創建節點時,您可以指定一個標誌,用於定義要同步的參數(狀態,轉換等)。

通過一系列錯誤修復和改進,系統也變得更加強大,包括:

  • 新增FieldAnimation,FieldHeightObjectParticles同步。
  • 發送和接收UDP / TCP數據包已移至單獨的線程。
  • 刪除了相機模型視圖矩陣的同步。
  • 修復了各種插補錯誤。
  • 修復了與主站和從站上的節點ID衝突相關的問題。從站上的節點ID只能通過getSlaveNodeID()方法獲得。
  • 修復了與從站節點無效層次相關的錯誤。
  • 修復了嵌套NodeReferences的問題。
  • 添加了Microprofile集成,使您可以監控性能,檢測瓶頸並消除它們。
  • 新添加的顯示器,投影儀和投影屏幕將自動將相應的索引添加到其名稱中。
  • 修復了在扭曲的引擎視口中顯示的其他Syncker調試顏色選擇窗口的問題,現在它們作爲單獨的窗口打開,可以單獨移動。

AppProjection

  • 通過更改的二進制格式簡化修改和遷移app_projection.cfg* .proj文件到XML。
  • Tab鍵可用於更改Projections Configurator中 UI元素之間的焦點。
  • * .proj文件加載的設置將應用於當前選定的投影。
  • 改進的C ++和UnigineScript API:Projections配置器的所有功能都可以通過代碼獲得。
  • 所述getBorders()方法是由替換getBorderBlend() 
  • 添加了通過單擊相應的參數名稱將拐角的亮度值和蒙版參數重置爲默認值的功能。

新內容樣本

以下內容示例已添加到Samples演示程序包中:

  • 緩存的陰影。
  • 使用貼花投影粒子。
  • 使用帶有蒙皮網格的粒子。
  • 使用場,貼花和粒子系統來創建對水面的影響。
  • 使用“環境探測器的陰影剪切”選項剪切遮擋的反射。
  • 環境探針的添加劑混合。

更新煉油廠演示

我們在Oil Refinery演示中修改了邏輯系統,爲您提供更多自由。它使用預製的邏輯組件和任何可用資產展示了一系列定製培訓任務和測試場景。現在你可以用同樣的方式生成自己的任務。

邏輯確保的活動範圍涵蓋培訓期間所需的所有基本操作:打開和關閉設備,打開和關閉門,檢查設備以檢查狀態或添加缺失的項目。使資產互動以參與活動。

您的任務可以有兩種模式:訓練和測試。在訓練模式中,由交互式提示引導的玩家遵循清單中剪貼板上提到的活動列表。測試模式提供故障並允許模擬故障的負面後果以增加可信度。

此外,您可以使用可用邏輯組件的各種組合創建任意數量的緊急情況。

行星與地形的進步

我們在家中直接使用更新的地形系統的所有運行時功能和完整的圓形地球解決方案。在我們爲您提供這些功能之前,唯一剩下的就是完成工具集並使其高效且易於使用。這正是我們的工具團隊目前關注的重點。但我們最近的估計表明,爲了將這些功能納入2.8,我們必須推遲發佈日期。這將是不公平的,因爲必須保持許多改進。因此我們決定及時將它們發佈爲2.8,並且包括兩個新開發的對象以及在2.9儘快完美拋光的適當工具集。

 

原文地址:

https://developer.unigine.com/en/devlog/20190430-unigine-2.8

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章