مبحث مربوط به تنظیم گاما می تواند یکی از مباحث بغرنج و پیچیده در تری دی مکس باشد مخصوصا وقتی که با مباحثی دیگر همچون Color Mapping ، Linear Workflow ، LUT گره میخورد. البته در مورد آن مطالب زیادی نوشته نوشته شده است. ولی از آنجا که یکی از حرفه های فرعی من معلمی است سعی میکنم بطور کامل و با زبان ساده آنرا توضیح دهیم. لازم به توضیح است که برای غنای مطلب ، مطالب زیادی از متون فارسی و انگلیسی عاریه گرفته شده است.
مقدمه:
در حالت کلی اشیا وقتی دیده می شوند که نور از آنها به چشم برسد . نور به دو طریق از اشیاء ساطع می شود یکی تابش و دیگری بازتاب.
شدت نور ساطع شده از اشیا با رنگ آنها متفاوت است. برای روشن شدن این تفاوت کافی است به عقربه ساعت شبرنگ اشاره کنیم . عقربه ساعت شبرنگ در تاریکی مطلق نیز قابل مشاهده است و این به علت آن است که از خود نور ساطع می کند.
گاما ( که مخفف Gamma correction یا gamma nonlinearity یا gamma encoding است ) عملیاتی غیر خطی یا نمایی است که در آن میزان این روشنایی و میزان نور ساطع شده و یا بازتاب شده از یک تصویر یا یک ویدیو تغییر می کند.
در حالت عادی و دنیای واقعی برای افزایش گاما به عنوان مثال از رنگهای متالیک استفاده می کنند. رنگهای متالیک درون خود دارای یون های متال هستند که بازتاب نور بیشتری دارند و باعث افزایش دید و زیباتر شدن جسم می شوند.
گاما میزان روشنایی یک تصویر را نشان می دهد . این روشنایی در رندر نیز به عنوان یکی از منابع نور در نظر گرفته می شود و به این دلیل است که تنظیمات گاما در میزان نور صحنه تاثیر گذار است. گامای نادرست در یک تصویر باعث می شود که انحنای موجود در اجسام به درستی نمایش داده نشود(گامای بالا) و یا برعکس شی دیده نشود(گامای پایین).
گاما در حقیقت به این دلیل استفاده می شود که سلولهای چشم انسان برای تحریک شدن توسط فوتونهای نور احتیاج به مقدار خاصی از روشنایی دارد و در غیر اینصورت قادر به دیدن اشیاء نیست . به عنوان مثال وقتی در یک فضای تاریک قرار می گیریم مردمک چشم بازتر می شود تا نور بیشتری را دریافت کند تا بتواند اشیاء را ببیند.
اگر به سال ۲۰۰۴ برگردیم، در آن زمان یک سری بحثها در تالارهای گفتمان Vray شکل گرفت که در مورد کار در یک محیط خطی بود. این موضوع به سرعت فراگیر شد و بسیاری از افراد سعی کردند تا از این روند کاری پیچیده برای رسیدن به کیفیت تصاویر بهتر سر در بیاورند.
مسئله اولیه بسیار ساده بود. Vray و 3ds Max محاسبات خود را در یک «فضای خطی» انجام میدهند. واکنش دوربین Vray به نور به صورت خطی است. بدین معنا که این دوربین در «فضای gamma 1.0» کار میکند. تا اینجای کار مشکلی وجود ندارد. ولی از آنجای که 3ds Max و Vray بر اساس کار در فضای gamma 1.0 تنظیم شدهاند، فرض میشود که شما هم با یک وسیله با عملگر خطی یا gamma 1.0 تصویر خروجی را مشاهده میکنید.
.
.
.
.
.
.
.
.
.
.
.
بر اساس یک تئوری صحیح ، مقدار استاندارد گاما 2.2 می باشد و مانیتورها ، دوربین های عکاسی با همین تئوری کالیبره می شوند.
مساله دیگر اینکه مونیتورهای کاربر بر این اساس شدت نور و رنگ ها را نمایش میدهد ولی هنگامی که کار رندر پایان می یابد خروجی رندر بر اساس تنظیمات پیشفرض مکس ذخیره خواهد شد. و این قضیه باعث می شود تا خروجی کار تیره تر بنظر برسد.مضاف بر اینکه از ورژن مکس 2014 به بعد تنظیم Gamma Output دور از دسترس شد که این باعث بروز مشکلاتی در کاربران می شود.
.
.
.
.
.
.
.
.
.
.
فرق gamma 1.0 با gamma 2.2 :
در تصاویر زیر منحنی های متفاوت تنظیم گاما را می بینیم.
.
.
.
.
یک مثال ساده میزنیم. یک فضای داخلی با یک بازشوی بزرگ داریم که نور میتواند وارد آن شود. اگر از تنظیمات gamma 1.0 استفاده کنیم، نتیجه چیزی شبیه به سمت چپ شکل زیر میشود. تصویر بسیار تاریک خواهد بود و اگر بخواهید آن را روشنتر کنید، میبایست قدرت روشنایی را افزایش دهید که همین موجب افزایش نواحی درخشان در اطراف پنجره میشود.اما درطرف راست، شرایطی را میبینیم که Vray و 3ds Max با تنظیمات پیشفرض gamma 2.2 نتیجه میدهند. در نتیجه، تصویری روشنتر و مطابق انتظاری که از منبع نور در یک صحنه میرود، خواهیم داشت.
.
.
HDRI و Gamma :
یکی دیگر از مسائل رایج در این زمینه، نورپردازی HDRI و انعکاس نور است.
در سمت چپ، دوباره از گامای 1.0 استفاده شده و به وضوح میتوان دید که کنتراست زیادی در روشنایی و بازتاب نور وجود دارد. این در حالی است که این مقدار روشنایی در طرح hdri اولیه دیده نمیشود (وسط تصویر). در سمت راست میتوانید انعکاس نور را در گوی کرومی بببنید که کاملاً مشابه hdri اولیه است و همینطور، روشنایی آن بسیار طبیعی است.
.
.
.
.
تکسچرهای مُرده، رنگها و روشنایی با کنتراست کم:
یکی از مسائلی که در حین کار متوجه میشویم این است که بسیاری از صحنههای تبدیل شده حالت مُردهای پیدا میکنند و کنتراست خوبی ندارند. دلیل این موضوع این است که هنگام تنظیم صحنه gamma 2.2، میبایست رنگهای خودتان را نیز در فضای gamma 2.2 انتخاب کنید.
همین موضوع برای تکسچرها نیز صادق است. تمام تکسچرها به گونهای تنظیم شدهاند که در مانیتور gamma 2.2 شما دیده شوند. بنابراین اگر یک منحنی gamma 2.2 دیگر درون 3ds Max اضافه کنید، روشنایی دو بار تصحیح میشود و در نتیجه تصاویر شما بسیار درخشان خواهند شد.
.
به همین دلیل میبایست تنظیمات interface و bitmap loading properties را به خوبی انجام دهید تا بتوانید رنگهای خود را مطابق با نتیجه نهایی کار انتخاب کنید و همین طور از تکسچرهای با گامای مناسب استفاده کنید.
در بخش زیر مقایسهای بین تنظیمات قدیمی 3ds Max و پیشفرضهای جدید انجام شده است. در سمت چپ تصویر تنظیمات پیش فرض نسخه های قدیمی را میبینید و در سمت راست تنظیمات gamma 2.2 نشان داده شده است.
.
.
گزینههای مختلفی در اختیار شما قرار گرفتهاند:
این گزینه تمام این بخش را فعال میکند.
برای مشخص کردن نوع گامایی که میخواهید با آن کار کنید. (معمولاً gamma 2.2)
در اینجا مشخص میکنید که انتخاب کننده رنگ و ویرایشگر متریال باید با gamma 2.2 نمایش داده شوند. این مسئله بسیار مهم است؛ زیرا شما بعد از آن میتوانید رنگهایی را انتخاب کنید که کاملاً با نتیجه نهایی کارتان منطبق باشند.
در اینجا، تمام تکسچرهایی را مشخص میکنید که برای gamma 2.2 آماده شدهاند. در نتیجه، روشنایی آنها دوباره اصلاح نمیشود و ظاهر درخشان آنها از دست نمیرود.
این تنظیم، کنترل می کند تصاویر چگونه ذخیره شوند. در این باره، در ادامه این آموزش توضیحات بیشتر داده میشود.
.
نگاهی به material editor و color swatches داشته باشید و ببینید که چقدر روشنتر شدهاند. بنابراین اگر میخواهید همین نوع از رنگ قرمز را در یک صحنه با gamma 2.2 داشته باشید، همین رنگ را باید در color selector اصلاحشده انتخاب کنید.
توجه: در تریدی مکس نسخه 2014 و بالاتر قسمت گامای ورودی و خروجی تصاویر موجود نیست. در نسخه های جدید مقادیر گاما برای مقدار ورودی و خروجی بصورت خودکار محاسبه می شود و برای هر تصویر گامای مناسب آن اعمال می شود.
.
.
.
.
.
تا اینجا، هدف از آوردن این مطالب آن بود که از انتخاب رنگهای مناسبتان مطمئن شوید و همینطور تکسچرهای خود را بهدرستی اِعمال کنید.
در فریم بافر مجازی Vray (که در قسمت تنظیمات رندر با نام VFB شناخته می شود) ، یک دکمه کوچک با نام sRGB وجود دارد که به صورت پیشفرض فشرده شده است. این دکمه منحنی gamma 2.2 را به VFB وارد میکند. در نتیجه، تصویر شما به صورت اصلاح شده با gamma 2.2 نمایش داده میشود؛ ولی در عین حال، گاما واقعاً به تصویر خروجی شما اعمال نمیشود.
در زیر میتوانید تأثیر این دکمه را ببینید. وقتی این دکمه غیرفعال باشد، تصویر را بدون اصلاح نشان میدهد؛ تصویری تاریک و اشتباه مانند قبل.
.
.
.
.
.
.
برای آنکه تصاویر را به شکل مناسب ذخیره کنیم، به اولویتهای 3ds Max برمیگردیم. اگر تنظیمات “output gamma” را به خاطر داشته باشید، این مورد به صورت پیشفرض (در نسخه های قدیمی) به 2.2 تنظیم شده است که این موضوع دارای اهمیت زیادی است.
از آنجایی که دکمه sRGB ابزاری برای پیشنمایش نیز هست، در هنگام ذخیره تصویر بایستی مطمئن شویم که gamma 2.2 را به پیکسلهای آن اعمال کردهایم. در غیر این صورت، وقتی تصویر ذخیره شده را مرور میکنید، دوباره یک حالت تاریک خواهد داشت؛ زیرا gamma 2.2 به صورت واقعی به آن وارد نشده است.
از اینجاست که مشکلات آغاز میشوند. دکمه sRGB یک منحنی برای نمایش صحیح تصویر وارد میکند؛ ولی آیا این همان منحنی است که 3ds Max نیز برای ذخیرهکردن تصاویر به کار میبرد؟ جواب این سؤال منفی است. با این که تفاوت این دو بسیار اندک است، ولی نمیتوان گفت که ۱۰۰ درصد با یکدیگر مطابقت دارند.
دو تصویر زیر را ببینید:
.
.
تصویر ذخیرهشده توسط 3ds Max با خروجی 2.2
.
.
.
.
اسکرینشات گرفتهشده از فریم بافر Vray
.
همانطور که ملاحظه میکنید، تصویر ذخیره شده در مجموع دارای روشنایی نسبی بیشتری است. یعنی میتوان نتیجه گرفت که منحنی sRGB معادل منحنی gamma 2.2 در 3ds Max نیست.
.
.
.
.
در یک linear workflow کامل، شما قادرید تصاویر خود را به صورت ۳۲ بیتی تحت فرمت exr ذخیره کنید. منظور از یک linear workflow کامل، تنظیم کردن تمام برنامهها برای نمایش صحیح این تصاویر خطی است. بنابراین در تصاویر شما هیچوقت منحنی gamma یا sRGB وارد نمیشود و این منحنیها تنها در بستههای نرمافزاری شما (مانند افتر افکتز یا فتوشاپ) نمایش داده خواهد شد.
وقتی یک فایل EXR را ذخیره میکنید، خروجی گاما نیز به فایل وارد نمیشود. البته در این رابطه، ممکن است نتایج مختلفی به دست آید. شاید گاهی اوقات یک فایل exr را در فتوشاپ باز کنید و این فایل دوباره تصحیح روشنایی شود و گاهی نیز به شکل مناسب نمایش داده میشود.
در شرایطی که در شکل زیر نمایش داده است، فتوشاپ تصویر را بهدرستی نشان میدهد. همچنین این تصویر کاملاً با اسکرینشات VFB درون برنامه 3ds Max مطابقت دارد.
.
.
.
.
.
.
.
شاید برای شما این سؤال پیش بیایید که اگر بخواهیم همیشه تصاویر خود را با فرمت full float ذخیره کنیم، چه اقدامی باید انجام دهیم؟ یکlinear workflow کامل میتواند برای افرادی که بعداً میخواهند از ظرفیتهای کامل این تصاویر استفاده کنند و یا برای مقاصد ترکیبی به کار ببرند، بسیار مفید واقع شود.
با این حال، بسیاری از کاربران با تصاویر ذخیره شدهای که در آنها منحنی گاما به صورت مستقیم وارد شده و سپس رندر انجام شده است، کار میکنند و مشکل چندانی نیز با آن ندارند. بنابراین نیازی به نگرانی در مورد تطابق کامل منحنی گامای خروجی در تصویر ذخیره شده نیست.
برای رسیدن به این مقصود، باید به سراغ تنظیمات دیگری بنام color mapping در Vray بروید که میتواند گاما را به صورت کامل کنترل کند.
در همین حال، میبایست به حالت “expert” بروید تا بتوانید تمام این تنظیمات را ببینید (در vray نسخه 3 و بالاتر). همانطور که مشاهده میکنید، گاما به درستی به مقدار 2.2 تنظیم شده است.
در مورد حالت (mode) باید گفت که به صورت پیشفرض به صورت “(color mapping only(no gamma” تنظیم شده است؛ به این معنا که هیچ منحنی گامایی به تصویر اعمال نمیشود و مقادیر مربوط به پیکسلها در هنگام رندرینگ هیچ تغییری نمیکنند. همان طور که دیدیم، به خاطر دکمه sRGB، تصویر به درستی نمایش داده شد.
ولی اگر gamma 2.2 در این جا استفاده نشده بود، در این حالت چه اتفاقی برای تصویر ما میافتاد؟
در زیر، خلاصهای از تنظیمات را میبینید که برای رندرینگ همراه با گاما لازم خواهید داشت:
.
.
اگر بخواهیم کمی موضوع را پیچیدهتر کنیم، میتوانیم مقایسهای بین دو تصویر EXR، یکی با منحنی گاما و یکی بدون گاما انجام بدهیم؛ (تصویر زیر)همانطور که ملاحظه میکنید، تصویری که گاما به آن وارد شده است، اندکی روشنتر است.
نتیجه اینکه، منحنی sRGB با منحنی gamma 2.2 تفاوت دارد. ولی زمانی که گاما وارد color mapping شده باشد، این موضوع اهمیت چندانی نخواهد داشت؛ چرا که شما هیچوقت از دکمه sRGB استفاده نمیکنید. تصویری که در VFB میبینید، دقیقاً همان تصویری است که ذخیره خواهید کرد.
.
.
تنظیمات linear workflow یا gamma 2.2، در حال حاضر برای Vray و 3ds Max به صورت پیشفرض استفاده میشوند. تمام رندرکنندههای جدید، هر یک با روش خود از این رویکرد استفاده میکنند. اگر به تازگی شروع به کار با Vray کردهاید، احتمالاً از این موضع چندان آگاهی نداشته باشید؛ مگر زمانی که تصویر را به حالتی غیر از full float ذخیره کنید؛ که در این صورت منحنی به کار رفته برای تصویری که ذخیره کردهاید با منحنی در تصویر قابل مشاهده در Vray VFB مطابقت نخواهد داشت و تصویر ذخیره شده، متفاوت خواهد بود.
بهترین راهحل که حرفهایترین آنها نیز هست، ذخیرهکردن تصاویر با فرمت EXR است. با کمک این فایلها، میتوانید بیشترین کنترل را بر روی اصلاح بیشتر رنگها یا ترکیب داشته باشید. از این طریق، میتوانید در فضای خطی کامل کار کنید.
به عنوان یک راهحل دوم، میتوانید gamma 2.2 را از طریق color mapping اعمال کنید. در این حالت، دکمه sRGB را غیرفعال کرده و تصویر را بدون تصحیح گامای اضافی ذخیره کنید.
البته توصیه میشود که هیچ راهی را درست یا غلط مطلق ندانید و هر کاری را که فکر میکنید درست است انجام دهید. در ادامه، تنظیمات برای هر دو روش ارائه شده است.
_______________________________________________________________________________________________________
.
.
.
.
.
با توجه به توضیحات داده شده در متون بالا ، ابتدا باید دانست که خروجی منحنی گاما در ورژن فعلی مکس شما روی چه عددی تنظیم شده است. برای این منظور حتی اسکریپتی هم ساخته شده است که بسادگی می توان عدد دلخواه را در تنظیمات مکس اعمال نمود.این اسکریپت را می توانید از اینجا دانلود و راه اندازی نمایید.
ولی راه حلهای دستی ای هم وجود دارد که در اینجا آنها را هم توضیح می دهیم:
ابتدا در قسمت MaxScript Listener (مطابق شکل زیر) عبارت زیر را تایپ کرده و اینتر را بزنید:
fileoutgamma
عددی که در زیر آن نوشته خواهد شد در واقع خروجی گامای پیش فرض مکس شما می باشد. بعنوان مثال برای تنظیمات فعلی من عدد 2.2 نوشته شده است. این بدان معنی است که خروجی گاما برای سیستم من روی 2.2 ذخیره شده است.
.
.
راه بعدی : ابتدا لازم می باشد که در تنظیمات ویندوز فایلهای سیستم آنهاید (unhide) گردد. اگر نیاز به آموزش نشان دادن فایل های سیستمی ویندوز دارید می توانید از این لینک کمک بگیرید. سپس به مسیر زیر بروید:
C:\Users\Reza\AppData\Local\Autodesk\3dsMax\2014 - 64bit\ENU\en-US\defaults\MAX
نکته: اسم یوزر خود را دنبال کنید. در اینجا نام یوزر رضا می باشد. همچنین ورژن مکس من 2014 می باشد.لذا در صورتیکه ورژن مکس شما مثلا 2016 است ،آنرا دنبال کنید.
در این فولدر، فایلی با نام CurrentDefaults.ini هست که با یک ویرایشگر مثل نوت پد باز کنید.
سپس در قسمت [Gamma] ببینید که روبروی عبارت OutputGamma چه عددی آورده شده است. بعنوان مثال برای من این عبارت قید شده است:
OutputGamma=2.200000
پس خروجی من با مقدار 2.2 ذخیره خواهد شد. برای تغییر مقدار کافیست عدد آنرا تغییر دهیم. بعنوان مثال برای خروجی گاما به 1.75 این مقدار را به 1.750000 تغییر می دهیم. سپس آنرا ذخیره کرده و پنجره مربوطه را می بندیم. بنابراین از این ببعد پیش فروض خروجی گاما به مقدار 1.75 می باشد.
.
.
.
.
بعد از این آموش مقدماتی نوبت به تنظیمات دیگر می رسد که بصورت عملیاتی آنها را توضیح می دهیم.
بطور خلاصه، تصحیح درست گاما در تری دی مکس از دو راه ممکن خواهد شد:
.
راه حل نخست : Gamma 1.0
که البته به صورت پیشفرض در Vray و 3ds Max استفاده میشوند:
.
.
سپس خروجی آنرا با پسوند exr. گذاشته و در نرم افزارهای پست پروداکشن همچون فوتوشاپ و افترافکت تغییرات لازم را اعمال کنید. همچنین مطابق آنچه که در تصویر زیر مشاهده می شود (جهت طبیعی به نظر رسیدن مقدار نور و رنگها) می توانید مقدار ورودی گاما (input Gamma) را به عدد 2.2 تغییر دهید.
.
.
.
.
.
.
.
راه حل دوم: Gamma 2.2
در این راه ، در هنگام ذخیره خروجی ، مقدار گامای لازم به فایل اعمال می گردد:
.
.
.
خروجی این تنظیمات می تواند با پسوندهایی همچون jpg. ذخیره گردد. مطابق با توضیحات بالا منحنی 2.2 در هنگام ذخیره اعمال خواهد شد. همچنین مطابق آنچه که در تصویر زیر مشاهده می شود (جهت طبیعی به نظر رسیدن مقدار نور و رنگها) می توانید مقدار ورودی گاما (input Gamma) را به عدد 2.2 تغییر دهید.
.
.
.
.
استفاده از مقادیر RGB از منابع دیگر:
تنها یک مسئله دیگر باقی میماند و آن زمانی است که میخواهیم رنگی از یک «لوگو» را به آبجکتی مشخص در صحنه وارد کنیم. به عنوان مثال، میخواهیم که آبجکت قوری همان قرمزی را داشته باشد که در پسزمینه لوگوی شرکت فِراری است. بنابراین این تصویر را به محیط فتوشاپ برده و با استفاده از ابزار قطرهچکان از رنگ قرمز نمونهگیری میکنید و مقدار RGB رنگ را یادداشت میکنید: 229,28,36.
حالا به محیط 3ds Max برمیگردید و برای رنگ قرمز آبجکت قوری، این مقادیر را به صورت دقیق وارد میکنید. همانطور که در color selector ملاحظه میکنید، این رنگ بیشتر شبیه به «صورتی» است تا قرمز. رندر نیز تصویر یک قوری صورتی را نشان میدهد.
.
.
مشکل اینجاست که 3ds Max به گونهای تنظیم شده که رنگها را طوری انتخاب میکند که در هنگام رندرینگ با منحنی gamma 2.2 به خوبی نمایش داده شوند، ولی در فتوشاپ چنین چیزی نیست و شما نمیتوانید به این صورت مقادیر RGB را کپی کنید.
یکی از روشها برای حل این مسئله این است از بخش کوچکی از تصویر لوگو را بردارید و به عنوان یک تکسچر ذخیره کنید. سپس این تکسچر کوچک را به قسمت “diffuse channel” در متریال اضافه کنید:
.
.
راه دیگر این است که تکسچر را در یک جای خالی در material editor وارد کنید. سپس دو بار روی آن کلیک کرده تا باز شود و سپس برای رنگ پخش متریال قوری از گزینه قطرهچکان (eyedropper) برای برداشتن نمونه رنگ از لوگو استفاده کنید.
.
.
.
.
.
منابع:
تنظیمات Gamma 2.2 یا linear workflow
تنظیمات Gamma و LUT در 3ds Max
Gamma 1.0 for output in Max 2014
gamma settings for 3ds max/design 2014
عالی بود