یکی از جدیدترین سیستم های نورپردازی و روشنایی در محیط آنریل انجین، Lumen نام دارد. آنریل انجین، یک موتور بازی سازی قدرتمند است که توسط Epic Games ساخته شده است و با استفاده از ویژگی ها و امکانات مختلف، امکان ایجاد بازی هایی با کیفیت بالا و گرافیک بی نظیر را فراهم می کند.
یکی از ویژگی های جدید و بسیار مهم این موتور بازی سازی، سیستم روشنایی جدیدی به نام “Lumen” است که در کنار Nanite میتواند جلوه ای واقع گرایانه تر به کار شما بدهد. در این مطلب، ما به توضیح مفصل در مورد Lumen، خصوصیات آن، الگوریتم های مرتبط و مزایا و معایب این سیستم پرداخته ایم.
Lumen در آنریل انجین چیست؟
Lumen یک سیستم روشنایی کاملاً جدید برای آنریل انجین است که هدف آن ارائه نورپردازی واقع گرایانه real-time است. Lumen یک سیستم کاملا داینامیک GI و انعکاس می باشد که برای نسل جدید کنسول ها و سیستم های دسکتاپ طراح شده است تا واقعیت را به شما هدیه دهد.
این سیستم به طور کامل برای UE5 طراحی شده است و برای ایجاد نورپردازی واقع گرایانه در بازی ها و برنامه های واقعیت مجازی، استفاده می شود.
Lumen از چه الگوریتم هایی استفاده میکند؟
Lumen در آنریل انجین، با استفاده از یک مجموعه الگوریتم های بسیار پیچیده کار می کند تا روشنایی دقیق و واقع گرایانه ای را ایجاد نماید. Lumen از روش های الگوریتم های متنوع RayTracing مانند screen-tracing (SSRT), Signed Distance Fields (SDFs), و Mesh Distance Fields (MDFs) بهره می برد تا بتواند در سریعترین حالت ممکن پردازش نورها و سایه ها و انعکاس ها را انجام دهد.
این الگوریتم ها شامل نورپردازی تعاملی بر اساس sampleها ، Ray tracing در مقیاس کوچک و نورپردازی غیر مستقیم در مقیاس بزرگ است.
Ray Tracing : این الگوریتم، ردیابی پرتوه های نور را در یک صحنه 3 بعدی انجام میدهد. با استفاده از این الگوریتم، Lumen میتواند پرتوهای نوری که از منبع نوری خارج میشوند را ردگیری کرده و تأثیر آنها را بر روی سطوح مختلف صحنه، محاسبه کند.
Hardware Ray Tracing: این الگوریتم از Ray Tracing، برای محاسبه نوردهی غیرمستقیم استفاده میکند. با استفاده از این الگوریتم، Lumen در Unreal Engine 5 میتواند اثرات پیچیده نوری مانند بازتاب و پراکندگی را به صورت دقیق تری شبیهسازی نماید.
Software Ray Tracing: این الگوریتم یک رویکرد نرمافزاری برای Ray Tracing است که برای محاسبه نوردهی غیرمستقیم استفاده میشود. این الگوریتم میتواند در سختافزارهایی که از Hardware Ray Tracing پشتیبانی نمیکنند، استفاده شود.
Screen Space Global Illumination (SSGI): این الگوریتم یک رویکرد بر پایه پیکسل، برای محاسبه GI است. با استفاده از این الگوریتم، Lumen در آنریل انجین 5، میتواند نوردهی غیرمستقیم را با استفاده از اطلاعات موجود در فضای صفحه نمایش، محاسبه کند. این الگوریتم به ویژه در مواردی که ردیابی پرتو کامل غیرقابل اجرا است، بسیار مفید می باشد.
در حالی که این سیستم از امکانات قدرتمندی برخوردار است، اما باید توجه داشت که استفاده از Lumen در UE5 میتواند منابع سختافزاری قابل توجهی را اشغال کرده و بار پردازشی زیادی را به سیستم تحمیل نماید که در نتیجه برای برخی از برنامهها ممکن است نتواند عملکرد مناسبی ارائه دهد.
برای مثال، در برخی از موارد، استفاده از lightmaps ممکن است راه حل مناسبتری باشد. پس تصور نکنید که Lumen همیشه بهترین گزینه برای نورپردازی صحنه خواهد بود.
مزایا و معایب Lumen در آنریل انجین
Lumen برای ایجاد تاثیرات نوری واقع گرایانه بسیار قدرتمند است، اما مانند هر تکنولوژی دیگری، مزایا و معایب خاص خودش را دارد.
در زیر به برخی از این موارد اشاره میکنیم .
مزایای استفاده از Lumen
سیستم نورپردازی Lumen در آنریل انجین آنقدر قدرتمند است که نیاز بسیاری از هنرمندان و توسعه دهندگان را رفع خواهد کرد. مهمترین مزایای استفاده از این سیستم Lighting عبارتست از ؟
- با استفاده از Lumen در UE5 ، توسعه دهندگان می توانند به سرعت نتیجه نورپردازی را مشاهده کنند و نیازی به انتظار های طولانی برای پردازش و مشاهده آن نیست. این ویژگی، به توسعه دهندگان اجازه می دهد که بازی ها را سریع تر بسازند، سریعتر ویرایش کنند و نتیجه نهایی بهتری را تولید نمایند.
- Lumen فرصت های جدیدی را برای ساخت محتواهای جدید آماده میکند که در صورت نبود آن با دشواری بسیار زیاد ساخته می شد یا حتی تصور آن غیرممکن بود. این ویژگی برای بازی هایی که محیط های بسیار بزرگ و پویا دارند یا اتفاقات زیادی بروی موضوعات درون صحنه می افتد (مانند امکان ساخت یا تخریب ساختمان های بزرگ) بسیار مفید است.
- Lumen در آنریل انجین می تواند به بهبود کیفیت بازی هایی کمک کند که، از تولید سطوح به صورت تصادفی استفاده می کنند، که این خود به بهبود تجربه بازی و قابلیت بازی مجدد کمک می کند.
- برای بازی هایی که محیط های تغییر پذیر و داینامیک دارند و قرار است از گرافیک بالایی بهره مند شوند، مانند بازی هایی با غارها، تونل ها و محیط هایی که نورپردازی آنها را بشدت تحت تاثیر قرار میدهد، Lumen منافع بسیار زیادی دارد.
معایب استفاده از Lumen
اگر چه Lumen یک پدیده بزرگ به حساب می آید، اما قطعا هیچ گلی بی خار نیست. در زیر مهمترین معایب این سیستم نورپردازی را مشاهده خواهیم کرد.
- استفاده از Lumen نیازمند کامپیوترهای با قدرت پردازشی بالا است. این ممکن است بازی را برای مخاطبان با مشخصات کامپیوتر پایین تر غیرقابل دسترس یا بشدت کند نماید. در نتیجه اگر در حال توسعه بازی یا نرم افزارهای شبیه سازی با این سیستم هستید، مطمئن باشید که کاربران شما نیز امکان دسترسی به کارت گرافیک های نسل جدید و پردازنده های مناسب را داشته باشند.
- اگر توسعه دهندگان بتوانند با استفاده از lightmaps بازی خود را بسازند، Lumen باید به عنوان انتخاب دوم در نظر گرفته شود. توجه داشته باشید که Lumen در آنریل انجین، اصلاً برای جایگزینی lightmaps طراحی نشده است،
Lumen چه کمکی به ما میکند؟
Lumen در Unreal Engine 5 مجموعهای از ابزارها و تکنیکهای نورپردازی پیشرفته و قدرتمند است که برخی از فرآیندهایی را که قبلا نیاز بود به صورت دستی انجام شود، به صورت خودکار انجام می دهد. برخی از این فرآیندها عبارتند از:
Real-time global illumination: Lumen در آنریل انجین به صورت دینامیک و real-time پرتوها و اثر نور را محاسبه میکند، بنابراین نیازی به ساخت lightmaps یا استفاده از روشهای پیچیدهی نورپردازی استاتیک نیست.
این کار میتواند زمان محاسبهی نور را از چندین ساعت به چند ثانیه کاهش دهد.
نورپردازی محیط دینامیک: با Lumen در Unreal Engine 5، میتوانید محیطهایی را ایجاد کنید که به طور مداوم تغییر میکنند.
مانند بسیاری از بازی هایی که مملو از آتش و دود و انفجار و حرکت هستند یا محیطهایی که به طور کاملا پویا تغییر میکنند.
نورپردازی معماری : با استفاده از Lumen، نیازی به ایجاد و مدیریت UV های مخصوص نورپردازی (lightmap UVs) نیست، که در نتیجه آن میتواند فرآیند ساخت محیط و تغییرات را بسیار ساده تر و سریعتر کنند.
پشتیبانی از نورپردازی فضای باز و داخلی: Lumen در نورپردازی فضاهای باز و داخلی بسیار کارآمد است، بنابراین نیازی به استفاده از تکنیکهای مختلف برای هر دو نوع سناریو نیست. این موضوع تفاوت هایی در هر دو روش دارد که باید به تفکیک بررسی شود.
Physically-based : این سیستم از محاسبات فیزیکی و شبیه سازی دقیق رفتار نور در طبعیت الهام گرفته است در نتیجه، خروجی کار بشدت به واقعیت نزدیک است.
کاربردهای Lumen در آنریل انجین
همانطور که عنوان شد Lumen، یک سیستم جدید global illumination در آنریل انجین 5 می باشد. شاید بد نباشد که بدانید این سیستم چگونه کار میکند تا درک بهتری از آن داشته باشید.
Lumen یک سیستم physically-based است که از الگوریتم های Ray Tracing برای محاسبات نور و سایه به صورت real-time استفاده میکند. در نتیجه، این سیستم میتواند خود را به صورت مداوم و پویا به روز رسانی نموده و تغییرات محیط را پردازش و رندر نماید.
به عنوان مثال اگر منابع نوری در صحنه جابجا شوند، یا تغییراتی در بازی یا محیط برنامه ایجاد شود و … تمامی نورها و سایه ها به صورت دینامیکی محاسبه و مجددا رندر خواهند شد. در نتیجه Lumen میتواند بسیار کارآمد تر، سریعتر و البته قابل تغییر تر از روشهای عمومی GI باشد.
چه کارهایی را با Lumen می توان انجام داد
در روش سنتی و نسخه های قدیمی تر موتورهای بازی سازی و رندرینگ Real-time، از سیستم پیش محاسبه lightmaps برای پردازش نورها و سایه ها استفاده می شد که تولید آن بشدت زمان گیر و محدود بود. به عنوان مثال با استفاده از lightmaps نمیتوانستیم صحنه های نورپردازی داینامیک را شبیه سازی کنیم .
اگر تغییری در صحنه ایجاد می شد، عملا lightmaps امکان تغییر خاصی را به توسعه دهندگان نمی داد. پس عملا این روش، شامل موضوعات داینامیک و تغییرات محیط نمی شد.
از سوی دیگر، Lumen در آنریل انجین، محاسبات نور و سایه را به صورت real-time انجام میدهد. یعنی هر تغییر در محیط و کاراکترها و … باعث تغییر لحظه ای در نورها و سایه ها می شود.
پس وقتی که موضوع در صحنه مانند یک کاراکتر یا یک ماشین یا … جابجا می شد، نورپردازی GI به صورت خودکار و لحظه ای تغییرات لازم را انجام میداد. این یک موضوع بسیار مهم است زیرا نتیجه مستقیم آن، کیفیت بالاتر و واقع گرایانه تر خروجی رندرینگ خواهد بود.
با توجه به توضیحاتی که در مورد نحوه کارکرد Lumen داده ایم، توانایی های این سیستم نورپردازی را به شرح زیر میتوان برشمرد.
- توانایی ایجاد سایه های واقع گرایانه، انعکاس ها و ambient occlusion
- توانایی ایجاد نورپردازی Dynamic و قابل تغییر به صورت Real-time
- مدیریت و پردازش نورپردازی غیر مستقیم (indirect lighting) و محاسبه برخورد پرتوهای نور با سطوح و موضوعات درون صحنه
- امکان کار و پردازش متریال های متنوع از جمله پارچه، شیشه و فلز
- قابلیت نورپردازی Indoor و Outdoor
Lumen همانند nanite یک تکنولوژی جدید و بسیار قدرتمند است که میتواند بازی ها، فیلم ها و نرم افزارهای شبیه سازی و واقعیت مجازی را متحول کند.
به عنوان مثال میتوان به بازی Forza Horizon 5 اشاره کرد که از این سیستم شبیه سازی نور به خوبی استفاده کرده است و جلوه ای واقع گرایانه به صحنه های بازی اضافه کرده است.
تفاوت Lumen و Ray Tracing
اگر چه Lumen و Ray Tracing هر دو الگوریتم ها و روش های global illumination هستند اما تفاوت هایی نیز با یکدیگر دارند.
Lumen یک سیستم real-time global illumination است که نورها و سایه ها را به صورت لحظه ای و بلادرنگ محاسبه میکند و نیازی به محاسبات پیش ساخته Lightmaps ندارد. در نتیجه این قابلیت Lumen را از Ray Tracing GI کارامد تر و بهتر می کند.
الگوریم Ray Tracing، کیفیت و جزییات بهتری را نسبت به Lumen پردازش و رندر میکند. زیرا شبیه سازی دقیق تری نسبت به Lumen داشته و محاسبات آن بسیار نزدیک به واقعیت است. اما همین موضوع باعث می شود که بسیار کندتر از Lumen باشد و در صحنه های بزرگ و پر جزییات و یا منابع نوری زیاد، بشدت کندتر بوده به گونه ای که عموما برای رندرینگ real-time قابل استفاده نخواهد بود.
توانایی | Lumen | Ray Tracing |
---|---|---|
Real-time | بله | خیر |
کارایی | سریع و قدرتمند | دقیق و کند |
واقع گرایانگی | دقت کمتر | بسیار دقیق و واقع گرایانه |
مناسب برای | بازی های و شبیه سازی های سریع | پروژه هایی که نیاز به کیفیت بالاتری دارند |
Lumen در آنریل انجین 5 توانسته است که قاعده بازی را عوض کند. صنعت بازی سازی بشدت تحت تاثیر توانایی های این سیستم قرار گرفته و شروع نسل جدیدی از بازی ها و نرم افزارهای شبیه سازی و شبیه سازهای معماری و … را رقم زده است .
اگر چه این سیستم بی نظیر است، اما یک تکنولوژی نو پاست و تحت توسعه شدید اپیک گیم قرار داد. ممکن است در سالهای پیش رو تغییرات گسترده ای کرده و از چیزی که هست، سریعتر، بهتر و پویا تر شود.