Menerapkan Ray Tracing di Krafton Abyss of Dungeons

Pentingnya Ray Tracing di Perangkat Seluler

Ray Tracing menghadirkan pencahayaan, refleksi, dan bayangan yang realistis untuk meningkatkan pengalaman imersif pemain di dunia fantasi gelap Abyss of Dungeons. Meskipun grafis yang memukau secara visual sangat penting dalam game seluler, mencapai efek fidelitas tinggi seperti visual ray-trace telah menjadi tantangan yang signifikan. Secara historis, batasan performa game seluler telah membatasi teknik rendering lanjutan, sehingga memaksa kompromi dalam kualitas visual dibandingkan dengan pengalaman PC dan konsol.

Abyss of Dungeons Krafton bertujuan untuk mengatasi batasan ini. Tujuannya adalah untuk mengintegrasikan teknologi ray tracing, yang biasanya dicadangkan untuk platform kelas atas, ke dalam versi seluler di Unreal Engine 5 (UE5). Upaya ini berupaya meningkatkan secara signifikan pengalaman imersif pemain dengan menghadirkan grafis yang lebih realistis dan kaya secara visual di perangkat seluler. Tim perlu menangani bottleneck performa, menyesuaikan pipeline rendering yang kompleks seperti Lumen UE5, dan memastikan stabilitas pada berbagai hardware seluler, yang menandai langkah signifikan untuk menghadirkan grafis berkualitas konsol ke game seluler.

Lompatan Visual dari Rasterisasi ke Ray Tracing

Rasterisasi konvensional adalah standar untuk rendering seluler karena kecepatannya. Metode ini memproyeksikan objek 3D ke layar 2D piksel demi piksel. Metode ini efisien, tetapi menyederhanakan interaksi cahaya, sehingga menghasilkan bayangan dan refleksi yang kurang realistis.

Ray tracing menawarkan pendekatan yang berbeda. Ray tracing menyimulasikan jalur sebenarnya dari berkas cahaya dan menghitung interaksinya dengan objek. Hal ini menghasilkan pencahayaan, bayangan, dan pantulan yang sangat akurat dan realistis. Namun, realisme ini memerlukan intensitas komputasi yang tinggi. Menghitung jalur dan interaksi setiap berkas cahaya memerlukan daya pemrosesan yang signifikan.

Membandingkan Rasterisasi dan Ray Tracing

Tabel berikut merangkum perbedaan utama antara rasterisasi dan ray tracing:

Fitur Rasterisasi Ray Tracing
Kecepatan Cepat Lambat
Realisme Lower Lebih tinggi
Penggunaan Resource Rendah Tinggi

Intensitas resource ini menimbulkan tantangan bagi perangkat seluler, yang memiliki daya pemrosesan terbatas dibandingkan dengan desktop. Batasan ini secara historis telah menghambat adopsi ray tracing di platform seluler.

Memilih dan Menerapkan Ray Tracing di Android: Pendekatan Metodis

Untuk menerapkan ray tracing di Android dengan Vulkan, dua metode utama dipertimbangkan: Ray Queries dan Ray Pipelines. Kueri Ray menawarkan pendekatan yang lebih sederhana, sehingga memungkinkan pengelolaan ray manual dalam shader, yang lebih mudah diintegrasikan ke dalam sistem yang ada.

Namun, Ray Pipeline memberikan solusi yang lebih skalabel, sehingga Vulkan dapat mengelola traversal dan interseksi sinar. Meskipun Ray Queries awalnya sedikit lebih cepat dalam tampilan yang lebih sederhana, Ray Pipelines menunjukkan skalabilitas dan performa yang lebih baik untuk aplikasi ray tracing yang lebih kompleks, sehingga menjadikannya pilihan yang lebih unggul untuk pengembangan jangka panjang dan permintaan visual yang rumit. Kami memilih untuk menyeimbangkan kemudahan pengembangan awal dengan skalabilitas dan performa keseluruhan di masa mendatang, dengan berfokus pada integritas visual game dalam jangka panjang.

Mengadaptasi Lumen UE5 untuk Seluler: Tugas yang Monumental

Lumen UE5, sistem pencahayaan dan refleksi global real-time, merubah pencahayaan di lingkungan game. Namun, awalnya dirancang untuk PC dan konsol berperforma tinggi, bukan perangkat seluler. Kompleksitas dan persyaratan resource Lumen merupakan tantangan utama untuk integrasi seluler. Untuk menyesuaikan Lumen untuk Android, diperlukan modifikasi yang ekstensif pada pipeline rendering dan compiler shader UE5, serta mengoptimalkan Struktur Akselerasi (AS) untuk mengelola data tampilan yang kompleks secara efisien. Pekerjaan tim ini bertujuan untuk menjembatani kesenjangan, sehingga perangkat seluler dapat menangani penghitungan pencahayaan Lumen yang canggih tanpa mengorbankan performa atau stabilitas. Upaya adaptasi ini juga berkontribusi pada codebase Unreal Engine resmi, yang menguntungkan komunitas pengembangan game yang lebih luas dan meningkatkan kemampuan rendering seluler.

Bayangan dan Refleksi Ray Tracing: Meningkatkan Realisme Visual

Mengimplementasikan Bayangan Ray Tracing melibatkan pelacakan sinar cahaya langsung dari permukaan ke sumber cahaya, yang menawarkan akurasi yang lebih baik dibandingkan dengan peta bayangan konvensional. Proses ini mencakup pra-pass kedalaman, bayangan kueri ray, denoising, dan integrasi ke dalam pass pencahayaan. Bayangan lembut dicapai secara efisien menggunakan satu sinar dengan jitter, diikuti dengan denoising. Untuk refleksi, tim menerapkan proses multi-tahap yang melibatkan penerusan G-buffer, penyimpanan data refleksi dan hit ray tracing, konversi ID material, penerusan penyelesaian (membuat gambar yang dipantulkan), dan penerusan gabungan (mengintegrasikan refleksi ke dalam tampilan utama). Pengoptimalan seperti readback CPU, pendekatan ubin, pengelompokan instance, dan build AS asinkron secara signifikan meningkatkan performa dan mengurangi overhead, yang mengatasi sifat proses ini yang memerlukan banyak resource di perangkat seluler.

Dampak Performa dan Strategi Pengoptimalan

Samsung Galaxy S24 Xclipse 940, Atas (dioptimalkan, biru) Bawah (sebelum pengoptimalan, kuning)

Dampak performa ray tracing, terutama dengan refleksi, sangat bergantung pada tampilan. Dalam scene dengan permukaan reflektif yang besar, pantulan dapat menghabiskan sebagian besar waktu frame (30-40%). Pengoptimalan sangat penting untuk membuat ray tracing dapat digunakan. Tim ini menggunakan berbagai teknik untuk mengurangi overhead dan meningkatkan efisiensi: menggunakan pendekatan rendering berbasis kartu untuk meminimalkan pemrosesan yang terbuang, mengelompokkan instance dari material dan geometri yang sama untuk mengurangi panggilan gambar, membuat Struktur Akselerasi hanya untuk geometri yang terlihat, dan menggunakan komputasi asinkron untuk konstruksi AS. Strategi ini secara drastis mengurangi waktu pemrosesan dan mengurangi beban GPU, sehingga ray tracing real-time dapat dilakukan di hardware seluler.

Bacaan Lebih Lanjut

Abyss of Dungeons dari Krafton menunjukkan bahwa, dengan adaptasi dan pengoptimalan strategis, teknik rendering kelas atas seperti ray tracing dapat diterapkan ke platform seluler. Tim berhasil menyesuaikan sistem Lumen UE5, menerapkan solusi rendering kustom, dan menyelesaikan berbagai rintangan teknis untuk memberikan pengalaman game yang ditingkatkan secara visual. Upaya ini tidak hanya meningkatkan fidelitas visual Abyss of Dungeons, tetapi juga memberikan insight dan teknik yang sangat berharga untuk pengembangan game seluler di masa mendatang. Hal ini menunjukkan kekuatan kolaborasi antara developer game dan penyedia teknologi untuk berinovasi dan meningkatkan pengalaman bermain game seluler, sehingga lebih mendekati kualitas yang ditemukan di PC dan konsol. Periksa pengoptimalan pelatihan ray yang mendetail di situs developer Samsung.