با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
چرا Ray Tracing در موبایل اهمیت دارد؟
Ray Tracing نور، بازتابها و سایههای واقعگرایانه را باز میکند تا غوطهور شدن بازیکنان را در دنیای تاریک فانتزی Abyss of Dungeons افزایش دهد. در حالی که گرافیک خیره کننده بصری در بازی های موبایل بسیار مهم است، دستیابی به جلوه های وفاداری بالا مانند تصاویر بصری ردیابی پرتو یک چالش مهم بوده است. از لحاظ تاریخی، محدودیتهای عملکرد بازیهای موبایلی، تکنیکهای رندر پیشرفته را محدود کرده است و کیفیت بصری را در مقایسه با تجربیات رایانههای شخصی و کنسولها به خطر میاندازد.
Krafton Abyss of Dungeons قصد داشت بر این محدودیت ها غلبه کند. هدف ادغام فناوری ردیابی پرتو، که معمولاً برای پلتفرمهای سطح بالا محفوظ است، در نسخه موبایل در Unreal Engine 5 (UE5) بود. این تلاش به دنبال افزایش قابل توجهی غوطه ور شدن بازیکن با ارائه گرافیک واقعی تر و بصری غنی تر در دستگاه های تلفن همراه بود. این تیم باید گلوگاههای عملکردی را برطرف میکرد، خطوط لوله رندر پیچیده مانند Lumen UE5 را تطبیق میداد، و از ثبات در سختافزارهای مختلف موبایل اطمینان میداد، که گامی مهم در جهت آوردن گرافیک با کیفیت کنسول به بازیهای موبایلی بود.
جهش بصری از Rasterization به Ray Tracing
شطرنجی سازی معمولی به دلیل سرعت آن استاندارد رندر موبایل است. این اشیاء سه بعدی را پیکسل به پیکسل بر روی صفحه نمایش دو بعدی نمایش می دهد. این روش کارآمد است، اما تعاملات نور را ساده می کند و در نتیجه سایه ها و بازتاب های واقعی کمتری ایجاد می کند.
ردیابی پرتو رویکرد متفاوتی را ارائه می دهد. مسیر واقعی پرتوهای نور را شبیهسازی میکند و برهمکنش آنها را با اجسام محاسبه میکند. این نور، سایه ها و بازتاب های بسیار دقیق و واقعی ایجاد می کند. با این حال، این واقع گرایی به قیمت شدت محاسباتی تمام می شود. محاسبه مسیر و تعاملات هر پرتو به قدرت پردازش قابل توجهی نیاز دارد.
مقایسه Rasterization و Ray Tracing
جدول زیر تفاوت های کلیدی بین شطرنجی سازی و ردیابی پرتو را خلاصه می کند:
ویژگی
شطرنجی سازی
ردیابی اشعه
سرعت
سریع
کند
واقع گرایی
پایین تر
بالاتر
استفاده از منابع
پایین
بالا
این شدت منبع چالشی را برای دستگاه های تلفن همراه ایجاد می کند که در مقایسه با رایانه های رومیزی قدرت پردازش محدودی دارند. این محدودیت از لحاظ تاریخی مانع از پذیرش ردیابی پرتو در سیستم عامل های تلفن همراه شده است.
انتخاب و پیاده سازی Ray Tracing در اندروید: یک رویکرد روشمند
برای پیاده سازی ray tracing در اندروید با Vulkan، دو روش اصلی در نظر گرفته شد: Ray Queries و Ray Pipelines. Ray Queries یک رویکرد سادهتر را ارائه کرد، که مدیریت دستی پرتو در سایهزنها را امکانپذیر میکرد، که برای ادغام در سیستمهای موجود سادهتر بود.
با این حال، Ray Pipelines راهحل مقیاسپذیرتری ارائه کرد و به Vulkan اجازه داد تا پیمایش و تقاطع پرتو را مدیریت کند. اگرچه Ray Queries در ابتدا در صحنههای سادهتر کمی سریعتر بود، اما Ray Pipelines مقیاسپذیری و عملکرد بهتری را برای برنامههای پیچیدهتر ردیابی پرتو نشان داد و آنها را به انتخابی برتر برای توسعه طولانیمدت و نیازهای بصری پیچیده تبدیل کرد. ما تصمیم گرفتیم سهولت توسعه اولیه را با مقیاس پذیری آینده و عملکرد کلی متعادل کنیم و بر یکپارچگی بصری طولانی مدت بازی تمرکز کنیم.
تطبیق لومن UE5 برای تلفن همراه: یک کار تاریخی
Lumen UE5، یک سیستم روشنایی و بازتاب جهانی بلادرنگ، انقلابی در نورپردازی در محیط های بازی ایجاد کرد. با این حال، در ابتدا برای رایانه های شخصی و کنسول های با عملکرد بالا طراحی شده بود، نه دستگاه های تلفن همراه. پیچیدگی و منابع مورد نیاز Lumen یک چالش بزرگ برای یکپارچه سازی تلفن همراه ایجاد کرد. تطبیق Lumen برای اندروید به تغییرات گسترده در خط لوله رندر و کامپایلر سایه زن UE5، همراه با بهینه سازی ساختارهای شتاب (AS) برای مدیریت کارآمد داده های صحنه پیچیده نیاز داشت. هدف این تیم پر کردن شکاف بود و دستگاه های تلفن همراه را قادر می ساخت تا محاسبات پیچیده نورپردازی Lumen را بدون به خطر انداختن عملکرد یا ثبات انجام دهند. این تلاش تطبیقی همچنین به پایگاه کد رسمی Unreal Engine کمک کرد و به جامعه توسعه بازیهای گستردهتر و ارتقای قابلیتهای رندر موبایل کمک کرد.
سایهها و بازتابهای ردیابی پرتو: ارتقای رئالیسم بصری
پیادهسازی سایههای ردیابی پرتو شامل ردیابی پرتوهای نور به طور مستقیم از سطوح به منابع نور بود که در مقایسه با نقشههای سایه معمولی دقت بالاتری ارائه میکرد. این فرآیند شامل پیشگذر عمق، سایههای پرس و جوی پرتو، حذف نویز و ادغام در مسیر نورپردازی بود. سایههای نرم با استفاده از یک پرتو تک با لرزش و به دنبال آن حذف نویز بهطور مؤثری به دست آمد. برای انعکاس، تیم یک فرآیند چند مرحلهای شامل عبور بافر G، انعکاس ردیابی پرتو و ذخیرهسازی دادهها، تبدیل شناسه مواد، یک پاس حل (ساخت تصویر منعکسشده) و یک پاس ترکیبی (ادغام بازتابها در صحنه اصلی) را اجرا کرد. بهینهسازیهایی مانند بازخوانی CPU، رویکردهای کاشیشده، دستهبندی نمونهها، و AS ناهمزمان عملکرد قابلتوجهی بهبود یافته و سربار کاهش مییابد و به ماهیت منابع فشرده این فرآیندها در دستگاههای تلفن همراه میپردازد.
تاثیر عملکرد و استراتژی های بهینه سازی
Samsung Galaxy S24 Xclipse 940، بالا (بهینه، آبی) پایین (قبل از بهینه سازی، زرد)
تاثیر عملکرد ردیابی پرتو، به ویژه با بازتاب، بسیار وابسته به صحنه بود. در صحنههایی با سطوح بازتابنده بزرگ، بازتابها میتوانند بخش قابل توجهی از زمان فریم (30-40٪) را مصرف کنند. بهینهسازیها برای عملی کردن ردیابی پرتو بسیار مهم بود. این تیم از تکنیکهای متعددی برای کاهش سربار و افزایش کارایی استفاده کرد: استفاده از یک رویکرد رندر مبتنی بر کاشی برای به حداقل رساندن پردازش هدر رفته، نمونههای دستهای از مواد و هندسه یکسان برای کاهش تماسهای ترسیمی، ساخت سازههای شتاب فقط برای هندسههای قابل مشاهده، و استفاده از محاسبات ناهمزمان برای ساخت AS. این استراتژیها زمان پردازش را به شدت کاهش داده و بار GPU را کاهش میدهند و ردیابی اشعهای بلادرنگ را روی سختافزار موبایل ممکن میسازند.
ادامه مطلب
تیم توسعه فناوری سامسونگ و Abyss of Dungeons Krafton نشان دادند که با تطبیقها و بهینهسازیهای استراتژیک، میتوان تکنیکهای رندر پیشرفته مانند ردیابی اشعه را به پلتفرمهای تلفن همراه آورد. این تیم با موفقیت سیستم Lumen UE5 را تطبیق داد، راهحلهای رندر سفارشی را پیادهسازی کرد، و موانع فنی متعددی را برای ارائه یک تجربه بازی بصری بهبود یافته حل کرد. این تلاش نه تنها وفاداری بصری Abyss of Dungeons را بهبود بخشیده است، بلکه بینشها و تکنیکهای ارزشمندی را برای توسعه بازیهای موبایلی آینده ارائه کرده است. این قدرت همکاری بین توسعهدهندگان بازی و ارائهدهندگان فناوری برای نوآوری و ارتقای تجربه بازیهای موبایلی را برجسته میکند و آن را به کیفیت موجود در رایانههای شخصی و کنسولها نزدیکتر میکند.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-03-05 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-03-05 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Implementing Ray Tracing in Krafton Abyss of Dungeons\n\nYour browser doesn't support the video tag.\n\nWhy Ray Tracing on Mobile Matters\n---------------------------------\n\nRay Tracing unlocks realistic lighting, reflections, and shadows to level up\nplayer immersion in the dark fantasy world of [Abyss of Dungeons](https://play.google.com/store/apps/details?id=com.krafton.dndm). While\nvisually stunning graphics are crucial in mobile games, achieving high fidelity\neffects like ray-traced visuals has been a significant challenge. Historically,\nmobile gaming performance limitations have restricted advanced rendering\ntechniques, forcing compromises in visual quality compared to PC and console\nexperiences.\n\nKrafton Abyss of Dungeons aimed to overcome these limitations.\nThe objective was to integrate ray tracing technology, typically reserved for\nhigh-end platforms, into the mobile version in Unreal Engine 5 (UE5). This\nendeavor sought to significantly enhance player immersion by delivering more\nrealistic and visually rich graphics on mobile devices. The team needed to\naddress performance bottlenecks, adapt complex rendering pipelines like\n[UE5's Lumen](https://dev.epicgames.com/documentation/en-us/unreal-engine/lumen-global-illumination-and-reflections-in-unreal-engine), and ensure stability on varied mobile hardware, marking a\nsignificant step towards bringing console-quality graphics to mobile gaming.\n\nThe Visual Leap from Rasterization to Ray Tracing\n-------------------------------------------------\n\nConventional rasterization is the standard for mobile rendering due to its\nspeed. It projects 3D objects onto a 2D screen pixel by pixel. This method is\nefficient, but simplifies light interactions, resulting in less realistic\nshadows and reflections.\n\nRay tracing offers a different approach. It simulates the actual path of light\nrays and calculates their interactions with objects. This creates highly\naccurate and realistic lighting, shadows, and reflections. However, this realism\ncomes at the cost of computational intensity. Calculating each ray's path and\ninteractions requires significant processing power.\n\n### Comparing Rasterization and Ray Tracing\n\nThe following table summarizes the key differences between rasterization and ray\ntracing:\n\n| Feature | Rasterization | Ray Tracing |\n|--------------|---------------|-------------|\n| Speed | Fast | Slow |\n| Realism | Lower | Higher |\n| Resource Use | Low | High |\n\nThis resource intensity poses a challenge for mobile devices, which have limited\nprocessing power compared to desktops. This limitation has historically hindered\nthe adoption of ray tracing on mobile platforms.\n\nChoosing and Implementing Ray Tracing on Android: A Methodical Approach\n-----------------------------------------------------------------------\n\nFor implementing ray tracing on Android with Vulkan, two primary methods were\nconsidered: Ray Queries and Ray Pipelines. Ray Queries offered a simpler\napproach, enabling manual ray management within shaders, which was more\nstraightforward to integrate into existing systems.\n\nRay Pipelines, however, provided a more scalable solution, allowing Vulkan to\nmanage ray traversal and intersection. Although Ray Queries were initially\nslightly faster in simpler scenes, Ray Pipelines demonstrated better scalability\nand performance for more complex ray tracing applications, making them a\nsuperior choice for long-term development and intricate visual demands. We chose\nto balance initial development ease with future scalability and overall\nperformance, focusing on the long-term visual integrity of the game.\n\nAdapting UE5 Lumen for Mobile: A Monumental Task\n------------------------------------------------\n\nUE5's Lumen, a real-time global illumination and reflection system,\nrevolutionized lighting in game environments. However, it was originally\ndesigned for high-performance PCs and consoles, not mobile devices. Lumen's\ncomplexity and resource requirements presented a major challenge for mobile\nintegration. Adapting Lumen for Android required extensive modifications to\nUE5's rendering pipeline and shader compiler, along with optimizing Acceleration\nStructures (AS) to manage complex scene data efficiently. The team's work aimed\nto bridge the gap, enabling mobile devices to handle the sophisticated lighting\ncalculations of Lumen without sacrificing performance or stability. This\nadaptation effort also contributed to the official Unreal Engine codebase,\nbenefitting the broader game development community and advancing mobile\nrendering capabilities.\n\nRay Tracing Shadows and Reflections: Elevating Visual Realism\n-------------------------------------------------------------\n\nImplementing Ray Tracing Shadows involved tracing light rays directly from\nsurfaces to light sources, offering superior accuracy compared to conventional\nshadow maps. The process included a depth prepass, ray query shadows, denoising,\nand integration into the lighting pass. Soft shadows were achieved efficiently\nusing a single ray with jitter followed by denoising. For reflections, the team\nimplemented a multi-stage process involving a G-buffer pass, ray tracing\nreflection and hit data storage, material ID conversion, a resolve pass\n(constructing the reflected image), and a blend pass (integrating reflections\ninto the main scene). Optimizations such as CPU readback, tiled approaches,\ninstance batching, and asynchronous AS builds significantly improved performance\nand reduced overhead, addressing the resource-intensive nature of these\nprocesses on mobile devices.\n\nPerformance Impact and Optimization Strategies\n----------------------------------------------\n\nSamsung Galaxy S24 Xclipse 940, Top (optimized, blue) Bottom (before optimization, yellow)\n\nThe performance impact of ray tracing, particularly with reflections, was highly\nscene-dependent. In scenes with large reflective surfaces, reflections could\nconsume a significant portion of the frame time (30-40%). Optimizations were\ncrucial to making ray tracing viable. The team employed numerous techniques to\nreduce overhead and increase efficiency: using a tile-based rendering approach\nto minimize wasted processing, batching instances of the same material and\ngeometry to reduce draw calls, building Acceleration Structures only for visible\ngeometries, and using asynchronous compute for AS construction. These strategies\ndrastically cut down on processing time and reduced GPU load, making real-time\nray tracing possible on mobile hardware.\n\nFurther Reading\n---------------\n\nThe Samsung DevTech team's and Krafton's Abyss of Dungeons demonstrated that,\nwith strategic adaptations and optimizations, it is possible to bring high-end\nrendering techniques like ray tracing to mobile platforms. The team successfully\nadapted UE5's Lumen system, implemented custom rendering solutions, and resolved\nnumerous technical hurdles to deliver a visually enhanced gaming experience.\nThis endeavor has not only improved the visual fidelity of Abyss of Dungeons but\nalso provided invaluable insights and techniques for future mobile game\ndevelopment. It highlights the power of collaboration between game developers\nand technology providers to innovate and elevate the mobile gaming experience,\nbringing it closer to the quality found on PCs and consoles."]]