تکنیک های رندرگیری انیمیشن
فهرست مطالب
رندرگیری انیمیشن مبحثی است که انیماتور ها معمولا با آن آشنایی دارند.
ما در مقاله ای در رابطه با بهترین موتورهای رندرگیری انیمیشن توضیح داده ایم.
رندر نقش مهمی در pipline تولید هر انیمیشن سه بعدی دارد.
این مرحله نهایی تولید و یکی از پیچیده ترین جنبه های فنی انیمیشن است که ارتباط نزدیکی با نورپردازی سه بعدی و VFX procedures دارد.
حال در این مقاله قصد داریم با یک سری اصول رندرگیری و تکنیک های رندرگیری انیمیشن آشنا بشویم.
لازم به ذکر است که تکنیک های رندرگیری را بیشتر برای انیمیشن های سه بعدی مد نظر داریم.
تا پایان با ما همراه باشید.
رندر چیست؟
اجازه دهید مقاله ی خود را با مفاهیم ابتدایی شروع کرده و سپس به مفاهیم حیاتی تر بپردازیم.
به زبان ساده، رندر سه بعدی فرآیند تولید یک تصویر بر اساس داده های سه بعدی ذخیره شده در رایانه است.
این بسیار شبیه عکاسی یا فیلمبرداری از یک صحنه مجازی سه بعدی است.
در پسزمینه، سختافزار و نرمافزار رندر باید حجم عظیمی از محاسبات ریاضی را انجام دهند تا دادههای صحنه سهبعدی را به تصاویر ترجمه کنند.
بنابراین، کل ظاهر رندر نهایی توسط اطلاعات مدلسازی، تکسچرسازی، سایهزنی، نورپردازی و انیمیشن ترکیب شده و پیکسل به پیکسل رندر میشود.
render passes چیست؟
رندر یک صحنه سه بعدی اغلب در بسیاری از لایههای جداگانه یا Render Passes مانند پسزمینه، پیشزمینه، سایهها، هایلایتها و … انجام میشود.
سپس این لایه ها در مرحله compositing (پس از تولید) دوباره با هم متحد می شوند.
پاس های رندر، کنترل بیشتری بر جنبه های مختلف یک صحنه می دهد.
به عنوان مثال، اگر در حال ایجاد انفجار در یک ماشین هستید، آتش، دود و خود ماشین در حال انفجار به طور جداگانه نمایش داده می شوند.
به این ترتیب، شما قادر خواهید بود تنظیمات خود را به دقت انجام دهید، تغییرات رندر شده ایجاد کنید و بهترین را انتخاب کنید بدون اینکه مجبور باشید کل صحنه را بارها و بارها رندر کنید.
موتور رندرگیری چیست؟
به صورت ساده می توان گفت که موتور رندر ماژولی در یک نرم افزار سه بعدی است که وظیفه انجام محاسبات مورد نیاز برای تولید خروجی گرافیکی یک صحنه سه بعدی را بر عهده دارد.
به عبارت دیگر، موتور رندرینگ، مدل های سه بعدی و همچنین داده های دوربین، تکسچر، نور و سایه را می گیرد و آنها را به یک سری پیکسل تبدیل می کند که می تواند به عنوان یک تصویر نمایش داده شود.
موتورهای رندرینگ از قدرت پردازش CPU یا GPU میزبان برای انجام محاسبات خود بهره می برند.
ما برای برخی از بهترین موتورهای رندرگیری مانند: I-RAY و V-RAY مقالاتی را به صورت مستقل نوشته و توضیحاتی را ارائه داده ایم.
روش های رندرگیری
از زمان ظهور فناوری رندر سه بعدی، روش های مختلفی بر اساس نیازهای مختلف توسعه یافته است.
از رندر non-realistic wireframe تا رندرهای واقعی پیشرفته.
هر یک از این روش ها برای یک هدف خاص مناسب تر است.
فرآیند رندر می تواند از نظر محاسباتی گران باشد.
با اینحال، افزایش مداوم قدرت پردازش کامپیوترها، به ویژه در سال های اخیر، ما را قادر ساخته است تا محتوای متحرک سه بعدی را با کیفیت بسیار بالاتر و بسیار سریعتر ایجاد کنیم.
بر اساس مدت زمان مورد نیاز برای پردازش یک تصویر، روش های رندر را می توان به دو نوع کلی طبقه بندی کرد.
رندر زمان واقعی (Real-time Rendering)
همانطور که از نام آن پیداست، روشهای رندر ریل تایم به اندازهای سریع هستند که برای رسانههای تعاملی مانند بازیهای ویدیویی و شبیهسازیها با حداقل نرخ ۲۰ فریم در ثانیه، حداکثر میزان عکس در هر ثانیه را پردازش و نمایش می دهند.
رندر غیر واقعی (Non-real-time Rendering)
رسانههای غیر تعاملی مانند فیلمهای بلند، سریالهای متحرک یا انیمیشنهای کوتاه میتوانند جزئیات بسیار بیشتری داشته باشند و بنابراین برای رندر شدن به زمان بیشتری نیاز دارند.
این زمان اضافی می تواند استودیو را قادر سازد تا از قدرت پردازش محدودی برای تولید محتوای متحرک با کیفیت بسیار بالاتر استفاده کند.
رندر کردن هر فریم می تواند از چند ثانیه تا چند روز طول بکشد.
بسته به سطح پیچیدگی صحنه نمایش متوالی این فریم ها با سرعت مناسب، در نهایت باعث ایجاد توهم حرکت در چشم بینندگان می شود.
تکنیک های رندرگیری
Ray tracing یک تکنیک رندر است که برای شبیه سازی اثری که نور هنگام تابش به اجسام دارد استفاده می شود.
ردیابی پرتو با استفاده از یک الگوریتم بسیار پیچیده برای ردیابی مسیری که منبع نور طی می کند و این اثر را بر روی اشیاء مجازی شبیه سازی می کند، کار می کند.
ردیابی پرتو، افکت های نورپردازی بسیار واقعی و باکیفیت را ارائه می دهد.
با این حال، برای تولید به قدرت پردازش کامپیوتری زیادی نیاز دارد.
برای آشنایی کامل با تکنولوژی Ray tracing کلیک کنید.
Ray tracing
مزایا: دستیابی به واقع گرایی، امکان ذخیره روی دیسک، به خوبی با نورهای specular برخورد می کند
معایب: الگوریتم پیچیده و زمانبر
Global illumination and V-ray
Global illumination یک نمایش دیجیتالی از نحوه تابش و شکست نور از اجسام است.
بر خلاف ردیابی پرتو، Global illumination برای جزئیات مسیر نور غیر مستقیم استفاده می شود.
می توان از آن برای به تصویر کشیدن color bleeding و نحوه تابش نور خورشید در اطراف اتاق استفاده کرد.
V-ray یک پلاگین مناسب برای Global illumination محسوب می شود که در بسیاری از نرم افزارهای گرافیکی کامپیوتری سه بعدی استفاده می شود.
اگرچه از Global illumination می توان برای ایجاد جلوه های واقعی در اجسام ساکن استفاده کرد، اما نمی تواند نور را از اجسام متحرک منعکس کند.
تکنیک های Global illumination معمولاً برای جلوه های بصری در فیلم، بازی های ویدیویی و توسط معماران و طراحان استفاده می شود.
Path Tracing (ردیابی مسیر) یک تکنیک رندر مشابه با ray tracing است.
همچنین برای تقلید نور استفاده میشود، اما بر خلاف ردیابی پرتویی که پرتوهای منفرد نور را دنبال میکند، از ردیابی مسیر برای نشان دادن نحوه واکنش نور در موقعیتهای سهبعدی استفاده میشود.
با استفاده از Monte Carlo، ردیابی مسیر می تواند پرتوهای متعددی را برای هر پیکسل ایجاد کند که سپس در جهات مختلف پرش می کند.
میتواند جلوههای نورپردازی پیشرفته ایجاد کند، اما برای انجام این کار به منابع زیاد سخت افزاری نیاز دارد.
Path Tracing به طور گسترده در فیلم ها، بازی های ویدیویی و برای تصاویر رندر سه بعدی استفاده می شود.
Path tracing
مزایا: قابل اجرا بر روی سطوح صاف، بار سخت افزاری سبک تر، از نظر زمانی موثرتر
معایب: کیفیت و سطح جزئیات نسبتا پایین تر از ری تریسینگ
Scanline rendering
Scanline rendering الگوریتمی است که برای تعیین سطح قابل مشاهده استفاده می شود.
در حالی که عمدتا در تصاویر متحرک استفاده می شود، می توان از آن در رندر سه بعدی استفاده کرد تا ظاهر واقعی تری به سطوح بدهد.
Scanline rendering به صورت سطر به ردیف عمل می کند که در آن هر ردیف قبل از رفتن به ردیف بعدی به طور جداگانه رندر می شود.
این برخلاف سایر روشهای رندر است که بر اساس پولیگان به پولیگان کار میکنند.
اکثر کارت های گرافیک مدرن و نرم افزارهای گرافیکی از تکنیک های رندر Scanline استفاده می کنند.
با این حال، این روش بسیار پیچیده است و بدون یک پردازنده قدرتمند، این تکنیک می تواند یک روند کند باشد.
الگوریتم radiosity نحوه انتشار نور را تقلید می کند.
این یک تکنیک نورپردازی پیچیده است که به طراحان این امکان را میدهد تا سایهها، لبههای تار (blurred edges) و مناطقی که نور به تدریج در آن فیلتر میشود را بهطور دقیق و واقعی نشان دهند.
radiosity با تکنیکی مانند ray casting که برای به تصویر کشیدن نور مستقیم استفاده می شود، متفاوت است.
در حالی که radiosity می تواند الگوهای نور واقعی ایجاد کند، نیاز به محاسبات پیچیده دارد و اغلب زمان پردازش طولانی دارد.
Radiosity
مزایا: از نظر فیزیکی دقیق تر، سطح هر جسم پوشیده شده است، جلوه های نور واقعی، امکان بازتاب پراکنده را فراهم می کند
معایب: تجسم چالش برانگیز
RASTERIZATION
یکی از اولین تکنیک ها برای رندر کردن و با در نظر گرفتن شی به عنوان یک polygonal mesh کار می کند.
این پولیگان ها دارای رئوس (Vertex) هستند که شامل اطلاعاتی مانند مکان، تکسچر و رنگ است.
سپس این رئوس بر روی صفحه ای که عمود بر نقطه دید (یعنی دوربین) است، پخش می شود.
پیکسلهای باقیمانده با رنگهای مناسب پر میشوند و رئوس به عنوان مرز عمل میکنند.
نقاشی را با طرح کلی برای هر رنگی که می خواهید استفاده کنید تصور کنید؛ یعنی رندر کردن از طریق rasterization.
Rasterization یک روش سریع رندر است.
امروزه نیز اغلب مورد استفاده قرار می گیرد، به ویژه برای رندر ریل تایم (به عنوان مثال، بازی های رایانه ای، شبیه سازی، و رابط کاربری گرافیکی تعاملی).
Z-Buffer یک سیستم داده دو بعدی است که برای محاسبه، بهینه سازی و ذخیره مقدار عمق هر پیکسل استفاده می شود.
به عنوان مثال، هنگام ایجاد یک رندر، الگوریتم شی 3 بعدی را به یک تصویر پیکسل به پیکسل تبدیل می کند و ابتدا از نزدیک ترین پیکسل به دوربین استفاده می کند.
در این مورد، مقدار فاصله پیکسل در یک سلول Z-Buffer ذخیره می شود.
هدف اصلی این تکنیک انتقال اطلاعات در مورد فاصله چندین شی رندر شده از یکدیگر و camera/viewer است.
Z-Buffer اغلب همراه با اثر عمق میدان (DoF) که در نوار ابزار بسیاری از نرم افزارها مانند 3DS Max وجود دارد استفاده می شود.
این تابع تاری طبیعی پس زمینه شی ایجاد می کند و خود شی رندر شده را واضح می کند.
Z-Buffer
مزایا: الگوریتم مرتب سازی، تکنیک توسعه دهنده پسند، فرآیند موثر زمان، جلوه های طبیعی با کیفیت بالا
معایب: فضای ذخیره سازی زیادی مورد نیاز است
مهرسا امینی
برنامه نویس سایت و بازی
تنها کسی که بیشترین درجه بدبختی را شناخته باشد، میتواند بیشترین درجه خوشبختی را نیز درک کند؛ پس سختی ها را نیز به فال نیک بگیرید.