《黑神話:悟空》火出圈兒,揭秘幕后實時渲染技術
游戲一度因被貼上“不務正業”、“虛度光陰”的標簽而備受爭議,然而隨著該產業的蓬勃發展,一些游戲被納入體育競技項目,如今游戲領域吸引越來越多人的目光。當下火爆全網的《黑神話:悟空》,憑借炫酷逼真的3D效果和獨特的東方美學實力出圈,連央視、新華網等官媒都紛紛點贊。
今天,我們將深入探討這款游戲開發中一個至關重要的技術——實時渲染技術。根據該游戲開發公司官網信息顯示《黑神話:悟空》使用的是虛幻引擎(Unreal Engine 5)。值得一提的是,飛思實驗室RflySim工具鏈與《黑神話:悟空》使用相同的三維場景開發工具Unreal Engine(虛幻引擎),同樣能實現高度逼真的仿真效果。
實時渲染技術詳解
渲染(Rendering)指將三維數據通過計算和繪制輸出為屏幕上二維位圖的一個過程。實時渲染(Real-time Rendering)是指計算機邊計算畫面邊將其輸出顯示,其本質就是把三維數據實時地計算出來并實現輸出,這種方式的典型代表軟件有unity引擎和Unreal Engine(虛幻引擎)。
實時渲染的優點:實時控制調整場景內的物體屬性。
實時渲染的缺點:要受系統的負荷能力的限制,必要時要犧牲畫面效果(模型的精細程度、光影的精細程度、貼圖的精細程度)來滿足實時系統的要求。
RflySim工具鏈中的RflySim3D軟件是基于Unreal Engine 4開發的一個可交互、實時可視化的三維顯示程序,它集成了無人系統仿真所需的大部分場景元素,并提供了相應的交互接口,且這些交互接口除了內置的控制臺命令和快捷鍵外,還包括外部程序調用的方式。同時,工具鏈中的RflySimUE5則是基于Unreal Engine 5開發的三維顯示程序,其功能與RflySim3D相同,但RflySimUE5可實現更高的分辨率渲染、更好的物流模擬以及更快的迭代速度,當然這對于您的電腦性能有更高的要求。
一個通用計算機圖形系統主要包括6個部分,分別是輸入設備、中央處理單元、圖形處理單元、存儲器、幀緩存和輸出設備。
實時渲染技術的一個典型繪圖過程如下:首先,原始數據在CPU中進行處理,轉化為具有特定結構的幾何信息,例如頂點坐標、法線、紋理坐標等,這些幾何信息隨后被傳遞到GPU中進行進一步的處理。在GPU中,渲染管線會經歷多個步驟,通常包括頂點著色、幾何處理和片段著色等階段,最終生成光柵化后的像素數據。這些像素數據會被存儲在幀緩沖區中,最后經過后處理步驟,渲染并顯示到屏幕上,形成最終的圖像。
其中,渲染管線是一個將三維場景數據轉化為二維圖像的流程。首先,應用階段在CPU上處理場景中的幾何信息,接著幾何階段在GPU上進行頂點著色、圖元裝配和裁剪,將幾何數據轉換為屏幕坐標系中的圖元。然后在光柵化階段,將這些圖元轉換為像素或片段,并通過片段著色計算出每個像素的最終顏色。而這一步也是實時渲染的關鍵步驟,GPU的性能直接影響渲染的速度和效果,因此,渲染效果與GPU的性能成比關系。
針對實時渲染技術性能問題的解決策略
實時渲染技術性能問題大體上可以分為兩類:一類是渲染效率問題,另一類是計算問題。渲染效率問題指圖形系統在繪圖部分所花費的時間,而計算問題則是指繪圖之外的其他處理所花費的時間,包括圖形數據的計算、正常的程序邏輯處理等等。
針對上述存在的性能問題,在類似于《黑神話:悟空》的3A(高成本、高體量、高質量)大作游戲中,一般采用如下幾種策略來解決:
1. 優化圖像管線。降低過度繪制,使用視錐體剔除(Frustum Culling)和遮擋剔除(Occlusion Culling)技術,避免渲染被遮擋或超出視野的圖像。批處理渲染,通過合并多個繪制調用,減少GPU的狀態切換和繪制開銷。
2. 高效的內存管理。紋理壓縮,使用紋理壓縮技術(如DXT、ETC)來減少顯存占用和帶寬需求。資源流式加載,動態加載和卸載資源,避免一次性加載整個場景的數據,減少內存壓力。
3. 抗鋸齒和后處理優化。選擇性應用抗鋸齒,根據需求和性能考量選擇適合的抗鋸齒技術,如FXAA(快速近似抗鋸齒)或MSAA(多重采樣抗鋸齒)。后處理效果優化,控制后處理效果的復雜度和使用頻率,避免對性能造成過大影響。
4. 多線程和異步計算。任務并行化,利用多核CPU進行任務并行處理,包括物理模擬、AI計算、場景管理等,減輕主線程負擔。GPU計算,將部分計算任務(如粒子系統、物理模擬)交給GPU處理,利用其并行計算能力。
5. 優化算法和數據結構。高效算法,使用優化的算法和數據結構,降低計算復雜性和提高處理效率,例如使用空間劃分結構(如四叉樹、八叉樹)來優化碰撞檢測。預計算,對于某些復雜計算,使用預計算結果或緩存機制減少實時計算開銷。
6. 針對不同的電腦配置,此類游戲還會在比較復雜的、渲染任務重的顯示場景,加入部分特效的將實時渲染的缺陷畫面過渡掉,從而給觀眾帶來更加完整、逼真、流程的顯示效果。
通過上述策略,此類3A大作游戲能夠在確保高質量視覺效果和藝術表現的同時,優化性能,提升玩家的沉浸感和整體體驗。
最后,借用《黑神話:悟空》主創馮驥的一句話結束本期技術分享:“最后讓你痛苦的不是遠方的高山,而是鞋底的沙子,沙子是無窮無盡的,但是你想走到那座山,就得忍受這樣的過程?!?/p>
無論你是資深的開發者還是初入行業的新手,RflySim工具鏈都將是您踏上“取經路”最可靠的“伙伴”。讓你鞋里的沙子更少些,一起共赴你心中那座“高山”!