Ray Tracing ، تجربهای متفاوت از نورپردازی در دنیای بازی!
آیا به بازیهای رایانهای و ویدیویی علاقهمند هستید؟ آیا به همان میزان با اصطلاحات تخصصی این حوزه آشنایی دارید؟ اگر پاسخ شما بله است، پس شما عاشق انسداد محیطی، ضد آلیاسینگ مورفولوژیکی، همگام سازی عمودی تطبیقی، و ردیابی پرتوهای بلادرنگ(Ray Tracing) خواهید بود.
همه موارد فوق جزئی از آخرین اصطلاحات مبهم برای برخی از فناوری های پیچیدهای بود که به عنوان جدیدترین جهشها در عرصه گرافیک بازی مطرح شدهاند. در میان مواردی که نام بردیم، آخرین مورد قطعا انقلابی در این حوزه محسوب میشود.
اگر هنوز در مورد آخرین پیشرفت در گرافیک بازی های ویدیویی در تاریکی هستید، ما اینجا هستیم تا نور را به شما نشان دهیم!!!
علاوه بر اینها، اعلامیههای بازی توسط مایکروسافت، انویدیا و AMD در نمایشگاه بزرگ بازی با وعده هایی همراه بود که نسخه های آینده آنها این فناوری معجزه آسا را وارد خانههای ما خواهد کرد.
حالا که قرار است به زودی شاهد رشد روز افزون بازیهایی با این قابلیت باشیم، بیایید بررسی کنیم ردیابی پرتو چیست و چرا اهمیت زیادی برای ما دارد؟
علاوه بر آن باید بدانیم چگونه بر کیفیت بازی ها تاثیر میگذارد…
پس با ما همراه باشید تا پاسخ این سوالات را بدست آورید.
نگاهی اجمالی بر Ray Tracing
ردیابی پرتو یک تکنیک رندر است که به پرتوهای نور ظاهری طبیعی و واقعی می دهد. این فناوری در بازی های ویدیویی و در صحنه های کامپیوتری در فیلم ها استفاده میشود.
مفهوم ردیابی پرتو
به عبارت ساده تر، ردیابی پرتو تکنیکی است که باعث میشود نور در بازی های ویدیویی مانند زندگی واقعی رفتار کند. این فناوری با شبیه سازی پرتوهای واقعی نور و با استفاده از یک الگوریتم برای ردیابی مسیری که یک پرتو نور در دنیای فیزیکی طی میکند، کار میکند. با استفاده از این تکنیک، طراحان بازی میتوانند پرتوهای مجازی نور را طوری جلوه دهند که از اجسام منعکس میشوند، سایههای واقعی و بازتابهای حقیقی ایجاد میکنند.
از طرفی، تصاویر ایجاد شده با ردیابی پرتو معمولاً کیفیت بهتری دارند. همچنین درجه واقعی گرایی بالاتری نیز دارند، اما تکمیل شدن این تصاویر زمان بیشتری میبرد و به قدرت محاسباتی بیشتری نیاز دارد. بنابراین، ردیابی پرتو اغلب برای ایجاد تصاویر ثابت استفاده میشود.
این فناوری اولین بار در سال 1969 مطرح شد. ردیابی پرتو ممکن است امروزه نیز درصنعت فیلم استفاده شود همانگونه که برای سالها در این صنعت به کار گرفته میشد، زیرا تصاویر را می توان در پس از تولید ساخت، بنابراین زمان زیادی دارد.
علاوه بر آن استودیوها میتوانند از قدرت کل سرورهای خود (یا محاسبات ابری) برای انجام این کار استفاده کنند و نکتهای که باید بدان توجه کنید این است که حتی امروزه نیز، این فناوری به قدرت محاسباتی قابل توجهی نیاز دارد و این فرآیند میتواند بسیار طولانی و پر زحمت باشد. در مقابل، بازیهای ویدیویی به ارائه سریعتر تصویر نیاز دارند. بنابراین ردیابی پرتو بهترین گزینه ممکن برای همه بازیها نیست.
روش سنتی رندرگیری
به طور سنتی، بازی های ویدیویی به جای این تکنیک از روش شطرنجی سازی استفاده میکردند. این یک راه سریعتر برای انجام رندر گرافیک کامپیوتری است. این روش گرافیک سه بعدی را به پیکسل های دو بعدی تبدیل میکند تا روی صفحه نمایش شما نمایش داده شود، اما همانطور که احتمالا میدانید، شطرنجی سازی به سایه بان ها برای به تصویر کشیدن نور واقعی نیاز دارد.
خوشبختانه، امروزه شاهد این هستیم که بسیاری از بازیهای رایانه شخصی از سختافزار تخصصی جدیدترین کارتهای گرافیک انویدیا برای استفاده از ردیابی پرتوهای بلادرنگ بهره میبرند، هرچند که شطرنجیسازی همچنان در بیشتر بازیها مورد نیاز است، حداقل تا زمانی که به طور کامل امکانپذیر شود.
بنابراین، حتی اگر در حال حاضر نتایج فوقالعاده شگفتانگیز نباشند، ما شاهد ایجاد زمینهای هستیم که باید به برخی از اثرات باورنکردنی منجر شود. ما میتوانیم شاهد یک انقلاب کامل در نحوه رندر کردن بازیهای رایانهای باشیم و در حال حاضر قدم نخست این تحول هستیم.
Ray Tracing چگونه کار میکند؟
همانطور که میدانید، در زندگی واقعی، نور به سمت شما میآید. امواجی که از فوتونهای کوچک بیشماری تشکیل شدهاند، از یک منبع نور پرتاب میشوند، در سطوح مختلف و از سطوح مختلف پرتاب میشوند، سپس دقیقاً به کره چشم شما برخورد میکنند و در نهایت مغز شما تمام این پرتوهای مختلف نور را به عنوان یک تصویر کامل تفسیر میکند.
ردیابی پرتو تقریباً به همین صورت عمل میکند، با این تفاوت که همه چیز به طور کلی در جهت مخالف حرکت میکند. در داخل نرم افزار، نور ردیابی پرتو از بیننده شروع میشود (از لنز دوربین، اساسا) و به سمت بیرون حرکت میکند، مسیری را ترسیم میکند که از چندین اجسام پرش میکند، گاهی اوقات حتی رنگ و خواص بازتابی آنها را می گیرد تا زمانی که نرم افزار نور مناسب را تعیین کند. منبع(هایی) که بر آن پرتوی خاص تأثیر می گذارد. این تکنیک شبیهسازی دید به عقب برای کامپیوتر بسیار کارآمدتر از تلاش برای ردیابی پرتوهای منبع نور است.
به هر حال، تنها مسیرهای نوری که باید رندر شوند، مسیرهایی هستند که در میدان دید کاربر قرار می گیرند.در این روش،شما به قدرت محاسباتی بسیار کمتری برای نمایش آنچه در مقابل شما است نسبت به نمایش پرتوهای ساطع شده از همه منابع نور در یک صحنه نیاز دارید.
با این حال، این بدان معنا نیست که این تکنیک آسان است.
تفاوت این روش با آنچه قبلاً دیده بودیم چیست؟
اگر اکنون به نحوه عملکرد نور در بازی های ویدیویی نگاه کنید، ممکن است به نظر برسد که همه عناصر وجود دارند: انعکاس ها، سایه ها، شکوفایی، شعله ور شدن لنز. اما همه اینها فقط یک فریبکاری پیچیده است. برنامهنویسها میتوانند جلوههای نور را از قبل رندر کنند (حتی با مقداری ردیابی پرتو)، اما این افکتها در صحنه نمایش داده میشوند.
به عنوان مثال، اگر بازیکن محیط را با سوراخ کردن یک سوراخ از طریق دیوار تغییر دهد، نور در صحنه تغییر نمیکند و از آن سوراخ عبور نمیکند مگر اینکه توسعه دهندگان به طور خاص برای این امکان برنامه ریزی کرده باشند. با ردیابی پرتو بیدرنگ، نور بهطور خودکار تنظیم میشود.
برای ردیابی پرتو چه مقدار زمان نیاز داریم؟
ردیابی پرتو میتواند تصاویر بسیار واقعی ایجاد کند، اما از نظر محاسباتی گران است و بنابراین بسیار کند است. به عنوان مثال، هر فریم ثابت از انیمیشن کامپیوتری دانشگاه هیولاها که توسط پیکسار در سال 2013 منتشر شد، به 29 ساعت زمان نیاز داشت تا رندر شود. با سرعت 24 فریم در ثانیه، فیلم 110 دقیقه ای تقریباً 160000 فریم دارد. به همین سبب، پیکسار از تعداد زیادی رندر عظیم برای توزیع محاسبات استفاده کرد و آن را در عرض چند ماه تکمیل کرد. برای این که مشابه چنین کاری را توسط یک کامپیوترانجام دهید، چهار و نیم میلیون ساعت معادل 524 سال طول میکشد تا رندر آن کامل شود.
اگر علاقهمند هستید درباره این موضوع اطلاعات بیشتری بدست آورید میتوانید به این صفحه مراجعه کنید.
همه رندرها ردیاب پرتو نیستند!!!
از آنجایی که محاسبه زمان زیادی طول میکشد،Ray Tracing اغلب برای رندر نهایی استفاده میشود. رندرهای میانی یا پیشنمایش اغلب با رندرهای «ارزانتر» انجام میشوند که به سرعت، تصویری با کیفیت پایینتر تولید میکنند.
معرفی چندین نرم افزار Ray Tracing
در ادامه نمونههایی از نرمافزار ردیابی پرتوهای موجود برای دانلود یا خرید گردآوری کردهایم.
- Autodesk 3ds max – یک برنامه کاربردی مدل سازی، انیمیشن و رندر سه بعدی اختصاصی که عمدتاً کاربران CAD مانند معماران را هدف قرار میدهد.
- Autodesk Maya – شبیه به 3ds max، اما با تمرکز بر انیمیشن شخصیت.
- Blender – یک برنامه رایگان و منبع باز مدل سازی، انیمیشن و رندر سه بعدی.
- Cinema 4D – یک برنامه مدلسازی، انیمیشن و رندر سه بعدی با جلوههای رویهای برای فیلمسازان و هنرمندان موشن گرافیک، که به عنوان یادگیری آسان تبلیغ میشود.
- Houdini – یک برنامه انیمیشن سه بعدی با ویژگی های کامل که شامل فیزیک شبیه سازی شده، دینامیک سیالات و شبیه سازی حجمی است. نسخه محدودی به نام Houdini Apprentice برای دانشجویان و علاقه مندان به صورت رایگان در دسترس است.
- Lightwave – یک برنامه 3D CGI که برای ایجاد موشن گرافیک، جلوه های ویژه و بازی های ویدیویی استفاده میشود.
- LuxCoreRender – یک نرم افزار رندر رایگان و منبع باز برای ویندوز، macOS و لینوکس.
- POV-Ray (The Persistence of Vision Raytracer) – یک رندر رایگان و منبع باز که تصاویر را از SDL (زبان توصیف صحنه)، یک زبان کامل تورینگ با پشتیبانی ماکرو ایجاد میکند.
- RenderMan – ابزار رندر با کیفیت فیلم که توسط پیکسار ساخته شده و در فیلمهایی مانند Incredibles 2 و Avengers: Infinity War استفاده میشود.
- Visionaray – یک کتابخانه ردیابی پرتوی منبع باز و چند پلتفرمی.
جمع بندی
ردیابی پرتو یک روش رندر گرافیکی است که رفتار فیزیکی نور را شبیه سازی میکند.
Ray Tracing امکان ایجاد سایهها و بازتابهای واقعیتر را به همراه شفافیت و پراکندگی بسیار بهبود یافته فراهم میکند. این الگوریتم محل برخورد نور را در نظر میگیرد و تعامل و فعل و انفعالات متقابل را محاسبه میکند. درست مانند چشم انسان که نور، سایه ها و بازتاب های واقعی را پردازش میکند.
امروزه نرم افزارهایی با این قابلیت به وجود آمدهاند که میتوانند شما را یاری دهند. در این مقاله چندین نمونه از آنها را به شما معرفی کردیم. همچنین بازیهایی نیز وجود دارند که از این فناوری بهره میبرند. این بازیها به شما لذت یک تجربه متفاوت و نوین از نورپردازی و واقعی سازی تصاویر ارائه میدهند. درنهایت برای این که بتوانید چنین بازیهایی را انجام دهید قطعا به سختافزار درخور آن نیاز خواهید داشت.
اگر مایل هستید بدانید کدام سخت افزارها دارای این قابلیت فوقالعاده هستند میتوانید از مقاله “کدام کارت گرافیکها و بازیها دارای قابلیت Ray Tracing هستند؟” دیدن فرمایید و بتوانید کارت گرافیک مناسبی را برای بازیهایی که از این فناوری پشتیبانی میکنند بیابید.
در مجموع امیدواریم مطالب فوق برای شما مفید بوده باشد.بی صبرانه منتظر نظرات، پیشنهادات، انتقادات و پرسشهای شما عزیزان هستیم.