January 3, 2023 Hana Trieu

Tìm hiểu về GPU Lightmass Global Illumination trong Unreal Engine

GPU Lightmass (GPULM) là một giải pháp baking bằng ánh sáng giúp tính toán trước các tương tác ánh sáng phức tạp từ các nguồn sáng có tính di động được đặt thành Stationary hoặc Static và lưu trữ dữ liệu đó trong kết cấu bản đồ ánh sáng áp dụng cho hình dạng scene. GPU Lightmass giảm đáng kể thời gian để tính toán, xây dựng và tạo dữ liệu chiếu sáng cho các scene phức tạp. Ngoài ra, GPULM cung cấp quy trình làm việc mới với khả năng tương tác cho phép bạn chỉnh sửa scene, sau đó tính toán lại và xây dựng lại ánh sáng khi đang di chuyển – điều mà hệ thống Lightmass dựa trên CPU không thể thực hiện được. Trong bài viết hôm nay, hãy cùng iRender tìm hiểu về GPU Lightmass Global Illumination trong Unreal Engine.

1. GPU Lightmass Global Illumination trong Unreal Engine

1.1 Kích hoạt GPU Lightmass

Thực hiện các bước sau để bật GPU Lightmass trong các dự án của bạn.

Bước 1: Mở tab Plugins từ menu Edit > Plugins. Trong danh mục Built-In > Editor, tìm và bật GPU Lightmass.

Mẹo: Sau khi bạn bật GPU Lightmass, phần mềm sẽ yêu cầu bạn khởi động lại Unreal Editor. Để tiết kiệm thời gian, hãy chỉnh sửa các Cài đặt dự án (Project Settings) dưới đây trước khi bạn khởi động lại Unreal Editor.

Bước 2: Mở cửa sổ Project Settings từ menu Edit > Project Settings:

      • Trong mục Engine > Rendering, kích hoạt các lựa chọn:
            • Hardware Ray Tracing > Support Hardware Ray Tracing (Chú ý: Ray Traced ShadowsRay Traced Skylight là hai cài đặt không cần thiết để GPU Lightmass hoạt động. Nếu không cần dùng đến chúng trong dự án, bạn có thể tắt đi).
            • Virtual Textures > Bật Virtual Texture Support
            • Virtual Textures > Bật Virtual Texture Lightmaps
      • Trong mục Platforms > Windows, thiết lập Targeted RHIs > Default RHI: DirectX 12
      • Khởi đông lại trình chỉnh sửa để những thay đổi này có hiệu lực.

1.2 Các yêu cầu bổ sung để thiết lập GPU Lightmass Global Illumination trong Unreal Engine

Dưới đây là các đề xuất bổ sung để GPU Lightmass hoạt động tốt nhất trong các dự án Unreal Engine:

Giảm sự cố phát hiện GPU Timeout và Recovery

Scene phức tạp khiến GPU phải chịu tải nặng có thể gây ra thời gian chờ (TDR) và có thể làm cho máy tính bị crash. Loại sự cố này không chỉ ảnh hưởng đến Unreal Engine mà còn ảnh hưởng đến bất kỳ thứ gì trên máy của bạn mà có sử dụng GPU. Thông thường, bạn sẽ thấy một thông báo tương tự như thông báo bên dưới.

Loại sự cố này có thể khắc phục bằng cách kéo dài thời gian cần thiết để GPU hết thời gian chờ. Việc này giúp GPU có thời gian phục hồi mà không cần đóng Unreal Editor. Tham khảo tài liệu này để biết thêm thông tin chi tiết về cách khắc phục. 

Vô hiệu hóa các tính năng Real-Time Ray Tracing

GPU Lightmass tận dụng API DXR của Microsoft để dò tia, việc này yêu cầu DirectX 12. Mặc dù ray-tracing là cần thiết để GPU Lightmass hoạt động, nhưng nó không yêu cầu bất kỳ tính năng ray-tracing bổ sung nào, như ray-traced shadows, ambient occlusion và các phản xạ reflections.

Nếu không muốn dùng các tính năng ray-tracing đó cùng với ánh sáng baking, tốt nhất là bạn nên tắt tất cả các tính năng này. Nếu dự án yêu cầu các tính năng ray-tracing và baking light, bạn có thể dùng một scene có cả ánh sáng tĩnh và động. Sử dụng lệnh console r.RayTracing.ForceAllRayTracingEffects 0 để tắt hiệu ứng dò tia.

Ngoài ra, bạn cũng có thể thiết lập điều này trong file cấu hình dự án để tắt tất cả các tính năng dò tia khi tải dự án. Trong thư mục Config của dự án, thêm các dòng lệnh dưới đây vào file cấu hình DefaultEngine.ini, bên dưới mục [/Script/Engine.RendererSettings]:

[/Script/Engine.RendererSettings]

r.RayTracing.ForceAllRayTracingEffects=0

Cấu hình cho bộ nhớ GPU

GPU Lightmass yêu cầu phải có đủ bộ nhớ GPU để hoạt động. Những cân nhắc sau ảnh hưởng đến sự thành công của việc sử dụng GPULM để xử lý các scene phức tạp.

        • Phải có đủ bộ nhớ GPU để lưu trữ toàn bộ scene ở lưới có mức độ chi tiết (LOD) thấp nhất – lưới LOD chất lượng cao nhất.
        • Hệ thống Kết cấu ảo – Virtual Texture có thể sử dụng bộ nhớ đáng kể trong quá trình xử lý nhẹ. Điều này phần lớn phụ thuộc vào độ phức tạp và kích thước của scene.
        • Phải có đủ bộ nhớ CPU để lưu trữ tất cả các bản đồ ánh sáng được tạo ra trong RAM. GPU có thể trao đổi các bản đồ ánh sáng với RAM của CPU, nhưng các bản đồ ánh sáng không được lưu vào bộ nhớ cho đến khi hoàn thành toàn bộ quá trình baking ánh sáng.
        • DX12 thường sử dụng nhiều bộ nhớ GPU hơn DX11. Nếu bạn có một scene vượt quá giới hạn của bộ nhớ GPU trong DX11, thì rất khó để sử dụng nó trong DX12.
        • GPU Lightmass Global Illumination trong Unreal Engine (GPULM) có các yêu cầu sử dụng bộ nhớ riêng cho các cài đặt tùy chọn, như Irradiance Cache.

Lưu ý: Hệ thống Lightmass dựa trên CPU yêu cầu một lượng bộ nhớ đáng kể cho các scene lớn. Điều này có thể gây khó khăn cho việc baking nhẹ. Thông thường, việc sử dụng bản dựng phân tán với Swarm có thể giảm thiểu các loại sự cố này. Tuy nhiên, với GPULM, giải pháp duy nhất hiện tại khi hết bộ nhớ là tối ưu hóa scene bằng cách giảm chi tiết hình học hoặc kết cấu hoặc nâng cấp lên GPU có nhiều bộ nhớ hơn.

Sử dụng Virtual Texture Lightmaps để xem trước trong trình chỉnh sửa

Kích hoạt hệ thống Virtual Texture với Virtual Texture Lightmaps cho phép tạo và lưu trữ các bản đồ ánh sáng dưới dạng kết cấu ảo. Lợi ích của việc này là cho phép các bản dựng nhẹ cập nhật trong viewport theo cấp độ trong thời gian thực. Nó cũng cho phép chỉnh sửa khi scene đang được xây dựng thay vì phải hủy hoặc đợi quá trình xây dựng hoàn tất.

Lưu ý: GPULM không yêu cầu kích hoạt hệ thống Virtual Texturing để tạo ánh sáng đơn giản nhưng yêu cầu hệ thống này cho các chức năng chỉnh sửa tương tác và real-time. Nếu bạn không có ý định sử dụng kết cấu ảo trong dự án của mình hoặc không yêu cầu xem trước tương tác, bạn có thể bỏ qua việc bật những cài đặt này và tiết kiệm một số chi phí khi làm việc trong trình chỉnh sửa.

Kích hoạt chế độ nhiều GPUs để chiếu sáng tòa cảnh

Chế độ nhiều GPU – multiple GPUs để tính toán ánh sáng cho dự án được hỗ trợ khi sử dụng các GPU của NVIDIA có công nghệ SLI hỗ trợ ray-tracing. Thực hiện các bước dưới đây để kích hoạt chế độ hỗ trợ nhiều GPU.

        • Kết nối các GPUs có hỗ trợ NVLink và bật SLI trong NVIDIA Control Panel.
        • Folder [Engine Install Path]/Engine/Config > File Unreal Engine DefaultEngine.ini > bên dưới phần [/Script/Engine.RendererSettings], bật nhiều GPU bằng cách thêm r.AllowMultiGPUInEditor=1.
        • Sử dụng lệnh -MaxGPUCount=[n]. Trong đó, n là số lượng GPU có sẵn của hệ thống qua kết nối SLI (Khi chạy trình chỉnh sửa editor). Ví dụ, MaxGPUCount=2 sẽ sử dụng 2 GPU khi ở chế độ đa GPU để tính toán ánh sáng.
          Mẹo: Bạn có thể tạo một shortcut cho UnrealEditor.exe và trong cài đặt Properties, đặt phần bổ sung MaxGPUCount=[n] vào dòng Target.

Sau khi trình chỉnh sửa khởi động, bạn có thể xác nhận rằng mình đang sử dụng chế độ Multi-GPU bằng cách mở  Output Log và tìm kiếm: LogD3D12RHI: Enabling multi-GPU with 2 nodes

Hiệu suất khi sử dụng nhiều GPU có thể giảm thời gian trung bình để hoàn thành bản dựng. Hỗ trợ đa GPU trong GPU Lightmass là tính năng lý tưởng cho các môi trường kiểu sản xuất ảo và kiến ​​trúc dựa trên một khu vực duy nhất. Các cấp độ trò chơi lớn có thể gặp phải các giới hạn về bộ nhớ và kết cấu ảo, tùy vào độ phức tạp của chúng và lượng VRAM có sẵn trên GPU. 

Các hạn chế của tính năng hỗ trợ nhiều GPU:

        • Tính toán cho Volumetric Lightmap chưa được hỗ trợ. Các scene có Volumetric Lightmap đáng kể sẽ thấy mức tăng hiệu suất tổng thể ít hơn.
        • Bộ nhớ Irradiance được tạo cục bộ trên mỗi GPU. Tùy thuộc vào nội dung, có thể có sự khác biệt nhỏ về màu sắc giữa các loại Tile khác nhau. Điều này có thể giải quyết bằng cách tăng Irradiance Cache Quality, hoặc tắt hoàn toàn cài đặt Use Irradiance Caching.
        • Mã hóa kết cấu và khử nhiễu chạy trên CPU và không bị ảnh hưởng bởi tính năng hỗ trợ nhiều GPU này.

2. iRender - Render farm tốt nhất cho Unreal Engine

iRender là nhà cung cấp dịch vụ kết xuất đám mây tăng tốc GPU chuyên nghiệp cho kết xuất 3D và train AI với hơn 30.000 khách hàng. Chúng tôi được đánh giá cao trên nhiều bảng xếp hạng toàn cầu như CGDirector, Lumion Official, Radarrender, InspirationTuts CAD, All3DP, BlenderBaseCamp, VFX Rendering

Dịch vụ của chúng tôi cho render Unreal Engine

Chúng tôi cung cấp dịch vụ cho thuê máy chủ từ xa, cụ thể là máy chủ chuyên dụng cấu hình cao RTX 3090 và RTX 4090 để bạn hoàn toàn điều khiển thông qua ứng dụng Remote Desktop. Bạn sẽ thiết lập môi trường làm việc theo ý muốn trên máy chủ của chúng tôi và render các dự án bất cứ khi nào/bất cứ nơi nào bạn muốn. Hiện tại, chúng tôi có 2 gói máy phù hợp cho render trên Unreal Engine. Đó là gói GPU Server 3P (1 card RTX 3090) và GPU Server 4P (với 2 card RTX 3090, có hỗ trợ NVLink). Dưới đây là cấu hình chi tiết của 2 gói máy này.

Cả hai gói máy đều có CPU khỏe là AMD Ryzen Threadripper PRO 3955WX @ 3.90GHz, cùng với 256GB RAM và ổ cứng SSD NVMe 2T, đáp ứng tất cả các dự án lớn nhỏ. Nếu bạn có các dự án rất lớn muốn render bằng nhiều GPU trong Unreal Engine 5.1, hãy cân nhắc sử dụng gói 4P có hỗ trợ công nghệ NVLink. Để tăng tốc render, bạn thậm chí có thể chạy đồng thời nhiều máy chủ cùng lúc.

Let’s get started!

Trong tháng này, chúng tôi đang có chương trình ƯU ĐÃI ĐẶC BIỆT: Tặng 20% Bonus cho khách hàng đăng ký tài khoản và nạp tiền trong vòng 24h sau khi đăng ký (đối với sinh viên, tặng 50% bonus cho mỗi lần nạp tiền.) 

Hãy ĐĂNG KÝ để nhận COUPON trải nghiệm miễn phí dịch vụ của chúng tôi ngay hôm nay! Hoặc liên hệ với chúng tôi qua Zalo 0915875500 để được tư vấn và hỗ trợ nhanh nhất.

 

iRender – Happy Rendering!

Nguồn tham khảo: unrealengine.com

, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Hana Trieu

iRender - Happy Rendering!
Contact

INTEGRATIONS

Autodesk Maya
Autodesk 3DS Max
Blender
Cinema 4D
Houdini
Maxwell
Nvidia Iray
Lumion
KeyShot
UE4
Twinmotion
Redshift
Octane
And many more…

iRENDER TEAM

MONDAY – SUNDAY
9:00 AM – 8:00 PM
Hotline: 0916 806 116
Zalo: 0916 806 116
Skype: iRender Support
Email: [email protected]
CÔNG TY CỔ PHẦN CÔNG NGHỆ IRENDER VIỆT NAM
MST: 0108787752
Office: 5/82 Dịch Vọng Hậu, Cầu Giấy, Hà Nội.

Contact
0916806116