میخوای با یک کلیک ساده عضو سایت بشی تا تجربه بهتری در CGSector داشته باشی؟
فقط کافیه روی دکمه زیر کلیک کنی
عضویت / ورود با حساب گوگل
The Making of the Flashlight
محمد الوند
جمعه 15 اردیبهشت 1402
2,755 بازدید
ذخیره
جمعه 15 اردیبهشت 1402

The Making of the Flashlight

به نام خدا


با سلام خدمت همه هنرمندان عزیز

تو این پست بنا دارم در مورد مسیر طی شده در اجرای کار شخصی اخیرم به نام "Flashlight" ، باهاتون مطالبی رو به اشتراک بذارم.

امیدوارم مفید واقع بشه.

ابتدا اینکه ایده خاصی برای اینکار در ذهن نداشتم. صرفا بنا بود تمرین مدلسازی Hard-Surface با استفاده از ابزار Boolean در نرم افزار MAYA 2023 باشه. دلیل انتخاب این آبجکت، این بود که احساس کردم جزییات و پرش های جالبی داره که می تونه سوژه خوبی برای تمرین باشه.

فرایند مدلسازی این کار نسبتا ساده به نظر می رسید، اما برای داشتن یک Topology صحیح مجبور شدم بخش هایی از آبجکت رو چند بار از اول مدل کنم تا به نتیجه دلخواه برسم. شیوه مدل سازی هم ، ابتدا استفاده از ابزار Boolean و بعد پاکسازی دستی مِش بود.

تغییرات جدید اعمال شده در نرم افزار Maya 2023 در این بخش بسیار قابل توجه هست. عملیات مختلف Boolean خیلی ساده و قابل فهم شده. در گذشته اگه کاربر قصد داشت تغییراتی در بخش هایی از مدل هایی که در عملیات بولین شرکت داشتند انجام بده ، کار نسبتا سختی در پیش داشت. مسیر ایجاد تغییرات در این آبجکت ها از Node Editor مایا می گذشت و خیلی ساده نبود. ولی در این نسخه با اضافه شدن UI جدید در
Attribute Editor که بسیار قابل فهم هست، ساده میشه علمیات مختلف Boolean رو مدیریت کرد. بیشتر عزیزان با اجرای فرامین مختلف بولین آشنا هستند، صرفا جهت آشنایی دوستان کم تجربه تر باید بگم :

ابزار بولین از منو Mesh ، زمانی که در منو سِت Modeling قرار داریم ، و همین طور از طریق Marking Menus قابل دست رسیه. در بعضی از آپریشن ها مثل Union و Intersection ترتیب انتخاب مدل ها تأثیری در نتیجه نداره ولی برای آپریشن های دیگه مثل Difference مهمه که کدوم یک از مدل ها اول انتخاب بشه. به این ترتیب اگه بنا دارید حجمی رو از مدلتون کم کنید، ابتدا مدل اصلی و بعد از اون مدلی که به عنوان برش دهنده در نظر دارید ، انتخاب کنید و با نگه داشتن کلید Shift و Right-Click ، از مارکینگ منو گزینه Boolean و بعد Difference A-B رو انتخاب کنید. اگه به Outliner نگاه کنید متوجه میشید که آبجکت جدیدی از جنس Geometry در کنار دو مدل شرکت کننده در عملیات بولین ، ایجاد شده. که این آبجکت در واقع نتیجه آپریشن بولین هست. در حالی که مدل های شکل دهنده این آپریشن هنوز بصورت مجزا قابل دست رسی و حتی ادیت هستند. همینطور در Attribute Editor در تبی به اسم polyboolean ، امکاناتی برای مدیریت بولین ها قابل مشاهدست.

دقت داشته باشید که عملیات بولین هنوز بطور کامل اعمال نشده و شما هنوز می تونید تغییرات متعددی رو ایجاد کنید. تغییراتی از جمله اضافه یا کم کردن مدل های شرکت کننده در آپریشن ، تغییر نوع عملیات بولین و همینطور ادیت هر یک از مدل ها. بعد از اینکه نتیجه دلخواه رو بدست آوردید ، میتونید با پاکسازی History مدلی که نتیجه آپریشن های شما محسوب مشه، (Alt+Shift+D) ، بولین رو بصورت نهایی اعمال کنید. در اینصورت یک Geometry براتون باقی میمونه که نتیجه کار شماست و می تونید پاکسازی Topology رو شروع کنید.


بعد از اتمام مدلسازی ، نوبت UV هاست.

با اینکه چند وقتی میشه که آنرپ کردن در نرم افزار Maya رو بلدم، ترجیح دادم مدل ها رو در نرم RizomUV آنرپ کنم. دلیلش هم سرعت و سهولت بیشتر در مدیریت آیلند ها بود. (حداقل برای من) در مورد موضوع Texel Density هم احساس کردم داشتن دو UDIM tile برای کل مدل ، متناسب با اون چیزی که در نظر داشتم ، کافیه. بطوری که بدنه اصلی در تایل اول و باقی بخش های کوچکتر مدل در تایل دوم پَک شدند.


بعد اتمام مدلسازی و آنرپ، تصمیم گرفتم مدل رو در سابستنس پینتر تکسچر کنم.

از قبل با Bake کانال های مختلف در سابستنس آشنا بودم و برای اینکه این پروژه چالشی رو در بر داشته باشه تصمیم گرفتم، برای اولین بار از
Toolbag4 برای Texture Baking استفاده کنم. چون شنیده بودم به مراتب از سابستنس سریع تر هست.

موضوع سرعت بیشتر نسبت به سابستنس در رندر Map ها صحت داشت ، ولی تجربه من با Marmoset خیلی روان نبود. مشکلی که باهاش مواجه شدم این بود که نمی تونستم فرایند Bake رو برای همه تایل ها بصورت یکنواخت و در حالی که همه بخش های مدل در کنار هم هستند ، انجام بدم. در مورد این موضوع کمی تحقیق کردم ولی به نتیجه قابل قبولی نرسیدم و در نهایت توبه کنان به Substance برگشتم و با استفاده از این فرزند خوانده Adobe ، مپ ها رو Bake و فرایند تکسچرینگ رو شروع کردم.

واقعا سعی کردم سخت نگیرم ، چون همونطور که گفتم می خواستم این پروژه یه مطاله نسبتا سریع باشه و نمی خواستم تو مرحله Texturing معطل بشم. اما …


چند وقتی بود که با سیستم مدیریت رنگ ACES آشنا شده بودم و قصد داشتم بصورت عملیاتی ازش استفاده کنم. ولی موقعیتش رو پیدا نکرده بودم. اینجا بود که تصمیم گرفتم با کمی تحقیق مقدمات استفاده از فضای رنگی ACEScg رو تو همین پروژه فراهم کنم.

مبحث ACES که در واقع یک Color Management Workflow محسوب میشه ، بسیار گسترده و تا حدی پیچیدست. بنده دانش بسیار محدودی در این حوزه دارم و تسلط بر این موضوع و بحث علمی تر در این مورد ، نیاز به مطالعه بیشتری داره.

ولی بطور خلاصه می شه به گسترده تر بودن بازه رنگی (Color Gamut) در فضای ACEScg و کنتراست بالاتر نقاط تیره و روشن، بعنوان مزیت اصلی استفاده از این روندِ کار ، اشاره کرد.

اونطور که فهمیدم ، برای اینکه در یک پروژه ، ACES رو بشیوه درست پیاده سازی کرده باشیم، باید این سیستم مدیریت رنگ در مراحل مختلف تولید اثر حفظ بشه. از جمله در مرحله ایجاد تکسچر ها در نرم افزار تکسچرینگ مد نظر ، استفاده از تکسچر های تولید شده در نرم افزاری که بعنوان رندرر انتخاب می کنیم و در نهایت در مرحله کامپوزیت و انجام ادیت های نهایی. در غیر این صورت ، بعنوان مثال ، نتیجه ای که در Viewport سابستنس دیده مشه و بر اساس اون تکسچرینگ رو انجام میدیم ، با نتیجه ای که در صفحه رندر موتور منتخب مشاهده می کنیم تفاوت فاحشی خواهد داشت.

پس مرحله اول پیاده سازی ACES در این پروژه ، Substance Painter بود.

برای اینکار، باید در پنجره ایجاد پروژه جدید، در قسمت Color Management ، گزینه OpenColorIO رو انتخاب کنیم. و بعد از اون OpenColorIO Configuration رو ، روی ACES 1.2 قرار بدیم.


اگر در ابتدای ایجاد پروژتون ، این تنظیمات رو انجام ندادید ، جای نگرانی نیست چون در هر مرحله ای از کار در نرم افزار Painter می تونید به منوی Edit و بعد از اون به Project Configuration برید. در قسمت Color Management ، فرایند بالا رو تکرار کنید.


ولی در نظر داشته باشید ، بهتره که این تنظیمات رو ابتدای پروژه و قبل از طی فرایند تکسچرینگ بخصوص انتخاب رنگ ها انجام بدید چون در نتیجه کار تاثیر قابل توجهی داره.

در مثال زیر ، تفاوت بین مدیریت رنگ پیش فرض Painter 8.2 و ACES 1.2 بخوبی دیده میشه.

ممکنه بعضی از دوستان اشاره کنند که رنگ ها Over Saturate شدند. دلیلش نکته ای هست که اشاره کردم و اون اینکه پروژه (Barrel Stove) در واقع با تنظیمات Legacy تکسچر شده بود و بعد از پایان کار (بعنوان یک مثال برای نمایش در این مقاله) به ACES تغییر پیدا کرد.


و اما نکته آخر اینکه توجه به قسمت Color Settings اهمیت زیادی داره:

در قسمت Bitmap Import Color Space Defaults تنظیمات پیش فرض مرتبط با محتوایی که در انجام فرایند تکسچرینگ به سابستنس وارد می کنیم ، مشخص شده.

پیش فرض های قسمت Export Color Spaces ، که بر اساس Bit-depth انتخابی ما در هنگام خروجی گرفتن از سابستنس ، نشون داده شدند ، خیلی مهم هستند که در ادامه کار بهشون رجوع خواهیم کرد.



در مورد خود فرایند تکسچرینگ این پروژه ، نکته خیلی ویژه ای وجود نداره. دوستانی که مایل هستند این متریال فلز مشکی رو بصورت رایگان ، در قالب یک اسمارت متریال (SPSM.) داشته باشند، میتونن تو همین پلتفرم به بنده پیام شخصی بدند. انشالله در اسرع وقت فایل رو در اختیارشون قرار می دم.

البته بنا دارم کل پروژه ، متشکل از مدل و پکی از اسمارت متریال هایی که در کل کار استفاده شده رو در مارکت آرتستیشن عرضه کنم.

در نهایت ،با یه نتیجه تقریبا قابل قبول از کانال های BaseColor, Roughness, Normal, Metalness, Height خروجی گرفتم. همونطور که قبلا اشاره کردم ، یووی ها در دو تایل پک شدند و تصمیم گرفتم برای داشتم نتیجه مطلوب در زمان رندر های کلوزآپ ، رزلوشن هر تایل 8K باشه. شاید از دید برخی از دوستان بالا بنظر بیاد ، ولی با توجه به اینکه از اول قرار بود کار Single Frame باشه ، خیلی به بهینه بودن فکر نکردم. البته اگه بنا دارید از GPU برای رندر استفاده کنید و Video Memory زیادی ندارید ، بهتره این موارد رو در نظر بگیرید، چون می تونه حتی برای رندر های تک فریم مشکل کمبود رم کارت گرافیک رو در بر داشته باشه. تو این پروژه از RTX 3060 TI استفاده کردم، و با 8 گیگ مموری ، مشکلی توی رندر بوجود نیامد.

با خروجی های اولیه از سابستنس ، می ریم سراغ رندر.

تا الان من صرفا با استفاده از موتور هایی مثل VRay و Corona در 3dsMax ، رندر های نهاییم رو انجام می دادم. تصمیم جدی بر این بود که این کار حتما خارج از Max رندر بشه.

Vray و Arnold در Maya 2023 اولین گزینه ها بودند که بنا به دلایلی آرنولد علی الحساب از پروژه حذف شد(انشالله برای کسب تجریه و همین طور مقایسه ، این کار رو با استفاده از Arnold و Renderman در Maya رندر و نتیجه رو پست می کنم.)

مبتنی بر ماهیت پروژه، کار رو میشه در دسته Product Rendering قرار داد. Scene Layout بسیار ساده انجام شد. ( یک Plane که آبجکت بصورت خوابیده روش قرار گرفته). زاویه دوربین بصورت مایل بطوری که سوژه در مسیر قطر کادر با نسبت 1.33 ، قرار بگیره ، تنظیم شد.(البته این نسبت در انتهای کار تغییر کرد). برای فاصله کانونی هم از ابتدا 105 میلیمتر مد نظر بود.

به دلیل اندازه نسبتا کوچیک سوژه ، به Aperture بسته تری احتیاج داشتم که بتونم تقریبا کل سوژه رو در فوکوس نگه دارم.

در نتیجه بعد از نسبت دادن اتربیوتِ Physical Camera به دوربین در قسمت :

 Attribute Editor > Attributes > VRay

به V-Ray Extra Attributes رفتم و پارامتر F-number رو ، روی عدد 36 قرار دادم.

بعد از این موارد ، مطالعه نورپردازی کار رو شروع کردم.

همونطور که می بینید ، کار نور پردازی پیچیده ای نداره.

اول از یک VrayDome بهمراه یک مپ HDRI برای نور دهی کلی صحنه استفاده کردم. دلیل اصلی استفاده از این منبع نور در این پروژه ، داشتن رفلکشن های جذاب تر بود. بهمین دلیل شدت نور رو بسیار پایین آوردم. از لینک زیر می تونید تصویر HDRI استفاده شده رو بصورت رایگان دانلود کنید:

*دانلود رایگان تصویر HDRI استفاده شده در پروژه Flashlight.

بعد از اون یک VrayRectLight رو در اندازه ای نسبتا بزرگ ، بصورت 90 درجه بالای سوژه قرار دادم ، که در واقع Key Light ما هست و بیشتر کار نور پردازی سوژه رو به عهده داره. در نتظیمات نور ، بجز شدت نور(intensity multiplier) و تمرکز نور (Directionality) چیز دیگه ای رو تغییر ندادم.

با استفاده از یک VrayRectLight دیگه بعنوان Fill light قسمت های تاریک سوژه رو کمی روشن تر کردم و نور سوم رو بعنوان Rim light ، بطوری که به لبه پایینی سوژه بتابه وارد صحنه کردم.



یک نکته در نور پردازی که از همون ابتدا در نظر داشتم ، وجود سایه برگ های گیاه روی سوژه بود. برای داشتن این افکت ابتدا چند آبجکت گیاه رو وارد صحنه کردم و در موقعیت مناسب قرار دادم. بعد از اون یک RectLight رو بطوری که از پشت گیاه به سمت سوژه بتابه، ایجاد کردم که نتیجه مناسبی در بر نداشت و باعث شد VraySun رو امتحان کنم. با توجه به داشتن Directionality بالا و توان ایجاد سایه در زاویه مورد نظر، بلافاصله نظر من رو بخودش جلب کرد. البته شدت این نور رو بسیار پایین آوردم و برای داشتن سایه های نرم تر ، Size Multiplier رو به 2 افزایش دادم.



بعد از اینکه پایه نورپردازی و چینش صحنه آماده شد ، تکسچر ها رو وارد کردم. وارد کردن مپ های مختلف در مایا ، با استفاده از پلاگین Substance For Maya ، بسیار ساده انجام میشه. برای اینکار باید به شِلف Substance برید و گزینه Apply Workflow to Maps رو انتخاب کنید. (در صورتی که این Shelf رو ندارید ، میتونید در Plugin-Manager اون رو فعال کنید.)


تو این مرحله ، زمانش رسیده ، نکته مهمی که در مورد حفظ روند کار ACES در تمام مراحل پروژه گفته بودم ، در مایا اعمال کنیم.

فرمت و Bit-depth تعیین شده در تنظیمات خروجی سابستنس بصورت زیر بوده :

BaseColor: PNG - 16-Bit

Roughness / Metallic / Normal / Height: EXR - 32-Bit

با توجه به تصویر زیر، می فهمیم که Color Space هر یک از این خروجی ها چی هست.


حالا باید این تنظیمات رو برای هر یک از فایل نُود های مایا انجام بدیم. برای اینکار ، نود مورد نظر رو انتخاب و در Attribute Editor ، در قسمت Color Space ، فضای رنگی مورد نظر رو انتخاب می کنیم. امیدوارم تصویر زیر به اندازه کافی واضح باشه.



بعد از اعمال تکسچر ها به سوژه اصلی ، یک تکسچر نسبتا ساده برای سطح زمین احتیاج داشتم. بهترین جایی که برای دریافت چنین تکسچری به ذهنم میرسید ، کتابخانه قدرتمند Quixel بود.

MegaScan Bridge رو باز کردم و چند نمونه متریال مناسب از جمله Concrete , Wood , Marble Tile دانلود کردم. برای ستآپ شیدر زمین ، باز هم از Substance Workflow استفاده کردم. برای تنظیم اندازه و موقعیت تکسچر زمین ، باید نود Place2dTexture رو انتخاب کنیم و در AttributeEditor ، تنظیماتی مثل Repeat UV ، Offset و … رو به میزان دلخواه تغییر بدیم.

در مورد رندر پَس ها ، باید بگم ، بجز LightMix که برای داشتن نور های مختلف در قالب Pass های جداگانه بکار میره ، از المنت دیگه ای استفاده نکردم. ناگفته نمونه که با اضافه کردن LightMix این امکان رو خواهیم داشت که در Vray Frame Buffer ، بعد و یا حین رندر ، بدون نیاز به محاسبه مجدد ، نور هامون رو تغییر بدیم که امکان بسیار قدرتمندی محسوب میشه و البته امروزه در بیشتر رندر انجین ها وجود داره.

بعد از انجام تست های متعدد تقریبا نتیجه مورد نظر رو بدست آوردم ولی قبل از اینکه در این Setup به نتیجه نهایی برسم ، می خواستم بطور موازی رندر انجین های دیگه رو امتحان کنم تا بتونم دقیق تر مقایسه کرده باشم.



همه ما این روز ها Blender رو بخوبی می شناسیم و از قدرت گرفتنش مطلع هستیم. در بین امکانات Blender ، رندرر Cycles همیشه برای من جالب تر از بقیه به نظر می رسید. البته مشخصه های دیگه Blender همگی فوق العاده هستند ولی همیشه دوست داشتم این موتور رو امتحان کنم. پس قبل از اینکه کارم در مایا و ویری بطور کامل به پایان برسه ، از کل صحنه (سوژه ، پلین و مدل گیاهان) خروجی FBX گرفتم و تقریبا بدون هیچ دانشی از Blender ، اون ها رو وارد این نرم افزار کردم.

نیاز بود که بخش هایی از این نرم افزار رو بطور مختصر یاد بگیرم. بخش هایی مثل چگونگی ایجاد دوربین ، تنظیم زاویه دوربین ، ایجاد نور های مختلف ، تنظیمات اونها ، تنظیمات رندر و خروجی و از همه مهم تر ، کار با Shader Editor در Blender.

برای اینکار به YouTube رفتم و خوشبختانه محتوای آموزشی برای بخش های مختلف این نرم افزار زیاد بود و تونستم اطلاعات مورد نیاز رو بدست بیارم. البته زمان قابل توجهی برای این کار صرف کردم و این موضوع یکی از دلایلی هست که این پروژه به درازا کشید.

کار در Shader Editor خیلی روان و قابل فهم هست و از اونجایی که با سیستم های Node-Base آشنایی داشتم ، مشکلی تو این زمینه نبود. در Blender ، افزونه ای به اسم Node Wrangler وجود داره که امکانات خیلی کاربردی رو به Shader Editor اضافه میکنه. یکی از اون ها ، چیزی شبیه به Substance Workflow هست که به شما این امکان رو میده که Texture Map های مختلف رو بصورت Batch وارد Shader Editor کنید و بصورت خودکار یک Shade Network ایجاد میکنه و نیاز نیست مَپ های مختلف رو بصورت دستی و تک به تک وارد کنیم.(البته این افزونه بصورت پیش فرض غیر فعال هست و برای فعال کردنش باید به Preferences در منو Edit بریم. در قسمت Add-ons ، کلمه Node wrangler رو جست و جو و بعد فعال کنیم.)

یکی از نکاتی که در مورد بلندر فهمیدم این بود که هنوز امکان استفاده از ACES بصورت پیش فرض تو این نرم افزار وجود نداره (Blender 3.5). ولی جای نگرانی نیست ، چون وقتی یک نرم افزار رایگان و اوپن سورس ، طرفداران زیاد و فعالی داشته باشه ، حتما برای موارد اینچنی راه کارهایی ایجاد شده.

برای حل این مسئله راه کار های متعددی وجود داره که بنده از روش شخصی موسوم به Magic Mark استفاده کردم. پیشنهاد می کنم سری به وبسایت ایشون بزنید. میتونید فایل های مورد نیاز و شیوه استفاده از اون ها رو تو سایتشون پیدا کنید.

لینک سایت Magic Mark


دقت داشته باشید که ، کاری که در هایپرشید مایا برای تنظیم درست فضای رنگی تکسچر ها انجام دادیم ، باید اینجا در بلندر هم انجام بدیم. برای اینکار کافیه به Shader Editor بریم و با انتخاب Image Node تکسچر مورد نظر، Color Space رو به حالت صحیح ، تغییر بدیم.



نور ها در بلندر ، با همون استراتژی قبلی ، جایگذاری و طوری تنظیم شدند که تقریبا اثر مشابهی نسبت به اونچه که در مایا داشتیم ، ایجاد کنند. ولی به هیچ عنوان سعی نشده کاملا مشابه باشند. به همین دلیل تفاوت هایی دیده میشه.

در قسمت Render Properties ، رندر انجین رو ، روی Cycles قرار دادم. و همینطور GPU Compute رو در قسمت Device انتخاب کردم.

نظر کلیم در مورد Cycles اینه که بسیار موتور بهینه ایه و سرعت عالی داره. از نظر کیفیت ، در این سطح از کار نمی شه تفاوت خاصی رو بین این موتور ها احساس کرد. ( با تغییر ماهیت پروژه و همین طور گستره کار ، این موضوع می تونه تغییر کنه) ولی از لحاظ پرفرمنس ، و استفاده از منابع سخت افزاری ، در تجربه بنده ، دو موتور باهم کمی تفاوت داشتند.



و این تفاوت به این صورت بود که ، Cycles کمی سریع تر و بهینه تر از ویری در مایا عمل کرد. همینطور عملکرد IPR در Cycles بهتر بود. در واقع این موتور Responsive تر هست. یعنی در حین پروسه LookDev که نیاز هست تغییراتی در صحنه ، نور ها یا شیدر ها ایجاد کنیم و مهمه که هرچه سریعتر و روان تر بتونیم پاسخ این تغییرات رو ببینیم ، موتور Cycles ، تو این پروژه ، کمی بهینه تر و سریع تر بود. بهینه تر به این معنی که ظاهرا فشار نسبتا کمتری بروی منابع سخت افزاری ، بخصوص CPU وجود داشت. (حتما در جریان هستید ، با اینکه هر دو انجین از GPU استفاده می کنند ، در عین حال برای برخی پروسس ها به CPU احتیاج دارند و این میزان در مراحل مختلف رندر و همینطور در انجین های مختلف ، متفاوت هست.)

ویدیوی زیر بصورت Realtime هست و تا حدی گویای این تفاوت ها بین دو انجین هست.



خوشحال میشم اگر تجربه مشابهی در این زمینه دارید ، در قسمت کامنت ها با بنده و باقی عزیزان در میان بذارید.

بلاخره بعد از کمی آزمون و خطا ، زمان نهایی کردن رندر ها فرا رسید. رندر پس های مورد نیاز در هردو نرم افزار تنظیم و خروجی های نهایی از هر دو پکیج گرفته شدند و زمانش رسید که مرحله بعد رو شروع کنم.

یکی دیگه از تصمیماتم در این پروژه این بود که برای اولین بار ، از Nuke در موضوع Compositing استفاده کنم. با این محصول شرکت Foundry آشنایی خیلی کمی داشتم. اگر چه کامپوزیت پیچیده ای مد نظر نبود ، ولی برای ایجاد یک اسکریپ به منظور ادیت پس های مختلف و گرید کردن اونها ، نیاز به آموزش داشتم. برای این موضوع مثل همیشه به یوتیوب رفتم. کانال های Hugo's Desk و همینطور SARKAMARI بسیار مفید بودند. قابل توجه هست که کانال اخیر متعلق به رضا سرکمری ، از هنرمندان خوب ایرانیه که در ILM سیدنی مشغول به کار هستند.

مهمترین مسئله ای که در کامپوزیت این کار دنبالش بودم ، ادیت لایت پس های مختلف برای داشتن شدت نور و کنتراست مناسب در کنار حفظ هایلایت ها بود. بطوری که داشتن کنتراست مناسب در تصویر باعث ایجاد سوختگی در رفلکشن ها نشه.

برای کامپوزیت در نرم افزار Nuke از خروجی Blender استفاده کردم. خروجی بصورت OpenEXR گرفته شد و صرفا هر یک از نور های صحنه بصورت جداگانه ، با استفاده از امکان Light Groups ، بعنوان رندر پس های مورد نیاز اضافه شدند.

البته ذکر این نکته خالی از لطف نیست که بخش Compositing نرم افزار Blender که بصورت Node-Base عمل میکنه و امکان ادیت پس های مختلف رو به کاربر میده ، بسیار قدرمند هست. اما Nuke بعنوان Industry Standard این حوزه ، همیشه نظرم رو بخودش جلب می کرده، و قصد داشتم در خلل انجام این پروژه ، موارد ابتدایی Multi-Pass Compositing رو در فضای 32Bit این نرم افزار تجربه کرده باشم.

قبل از اینکه شروع به گرید کردن لایت پس ها کنیم ، باید فضای رنگی پروژه رو به ACES تغییر بدیم تا نتیجه با اون چیزی در پنجره رندر بلندر داشتیم تطبیق داشته باشه. برای این کار باید به تب Color در Project Setting بریم و Color management رو ، روی OCIO قرار بدیم. بعد از اون در قسمت OCIO Config ، گزینه ACES 1.2 رو انتخاب می کنیم. می تونید تغییر رو در تصویر زیر مشاهده کنید.



برای ادامه کامپوزیت ، ابتدا رندر پس های مد نظر رو با استفاده از نُود Shuffle از نود Read سورس ، استخراج کردم ، و هر یک از اونها رو ابتدا گرید و بعد با رندر پَسِ بعدی ، با استفاده از نُود Merge ، ترکیب کردم. در تصویر زیر اسکریپت نهایی این کامپوزیت رو مشاهده میکنید.



یک نکته مهم در زمان خروجی گرفتن از نرم افزار Nuke این هست که در نتظیمات نُود Write ، باید قسمت Output Transform روی
(Color_picking (Output_sRGB قرار بگیره ، تا نتیجه کار در Viewer نیوک و فایل خروجی یکسان باشند.

همونطور که اشاره کرده بودم ، خروجی Vray رو وارد Nuke نکردم و صرفا از امکانات VRay Frame Buffer برای ادیت نهایی رندر استفاده کردم.


خروجی VRay 6 for Maya 2023

در نهایت ، پروژه رو به همین شکل وارد مکس کردم و با استفاده از Corona Render محبوب و قدرتمند ، برای داشتن مقایسه ، رندر کردم. در مورد عملکرد این موتور رندر قدرتمند باید بگم ، علی رقم اینکه کاملا CPU base هست ، (فقط برای Denoising اون هم در صورتی که از Nvidia AI Denoiser استفاده کنید ، کمی GPU بکار گرفته میشه) سرعت واقعا عالی داره و اونقدر هم از دو موتور VRay و Cycles در حالی که از GPU استفاده می کنند ، عقب نیست.



امیدوارم که مطلب برای همه عزیزان مفید بوده باشه.
خیلی خوشحال میشم اگه نظرات خودتون رو با بنده در میون بذارید.



اشتراک گذاری:

دیدگاه ها ( 9 نظر )

دیدگاه خود را بنویسید

پست های مرتبط