IBL یا Image Based Lighting روشی برای نورپردازی در نرم افزارها و موتورهای رندرینگ سه بعدی می باشد.
IBL یا Image Based Lighting در حقیقت روش و تکنیکی برای نورپردازی و روشنایی صحنه می باشد که از یک تصویر HDR به منظور انتشار Photon ها و پرتوهای نور استفاده میکند. در تمامی موتورهای رندرینگ، میتوانید روش IBL را به راحتی استفاده کرده و از تصویر خروجی لذت ببرید. به عقیده کارشناسان و تمامی کاربران فضای رندرینگ، IBL یکی از طبیعی ترین، راحت ترین و زیبا ترین روش های روشنایی و نورپردازی محسوب می شود. اما به منظور بهره گیری از این تکنیک رعایت چند نکته ساده و پایه الزامی می باشد تا بتوانید حداکثر کیفیت را از در تصویر رندر شده بدست آورید.
در همین جا باید عرض کنم که تمامی موتورهای رندرینگ مطرح دنیا از IBL یا Image Based Lightingپشتیبانی کرده و هر کدام به گونه ای این موضوع را کنترل و مدیریت میکنند. نکته ای که در همین ابتدا باید متذکر شوم این است که شما باید چهار چوب استفاده از از IBL یا Image Based Lighting را بدانید تا بتوانید در هر موتور رندرینگ و یا هر نرم افزار دیگری با دانش خود از آن استفاده نمایید.
IBL یا Image Based Lighting
خوب اجازه بدهید که به سراغ IBL برویم. همانطور که عرض کردم IBL روش روشن نمودن صحنه و موضوعات درون آن توسط پرتوهای نوری است که از یک تصویر واقعی ( موجود در طبیعت ) گرفته شده است. در این حالت به منظور استفاده از روش IBL می بایست از یک تصویر پانوراما (panoramic) به منظور روشنایی موضوعات و انعکاس پرتوهای نور استفاده میکنیم.
همانطور که قبلا مطلب HDR Light Studio به آن اشاره کردم، این تصاویر گسترده با روش خاصی بدست می آیند. این روش بسیار ساده بوده و میتوانید شخصا از تمامی مناظر و صحنه های دلخواه تان تصاویر پانورامیک تهیه فرمایید فقط کافی است با یک جستجوی ساده روش تهیه تصاویر panoramic را بدست آورید.
اما ما در IBL یا Image Based Lightingبه چیزی بیشتر از یک تصویر با زاویه دید بالا احتیاج داریم. ما نیازمند تصویری هستیم که بتوانیم از آن میزان روشنایی بخش های مختلف آن تصویر را بدست آوریم. IBL در این حالت با دریافت روشنایی هر بخش از تصویر، میران انتشار Photon های نور و همچنین خصوصیات آنها را در صحنه را کنترل میکند. در نتیجه ما به تصویری احتیاج داریم که علاوه بر مشخصات Pixel های رنگی در آن، مشخصات میزان روشنایی هر Pixel یا محدوده را نیز در خود ذخیره کند. HDRI یا High Dynamic Range Image ساختاری از تصاویر است که این کار را برای ما انجام می دهد. در حقیقت HDRI ترکیبی از یک تصویر Panoramic ( با دید گسترده ) و خصوصیات روشنایی هر بخش از تصویر می باشد. در صورتی که دوربین در اختیار ندارید و یا نمیتوانید به هر دلیل از صحنه های مورد نظر خود تصاویر HDR را بدست آورید، میتوانید از دهها نرم افزار و محصول آماده برای اینکار استفاده نمایید.
یکی از ساده ترین و کاربردی ترین نرم افزارهای تولید HDRI را قبلا در موضوع HDR Light Studio معرفی کرده ام. در غیر اینصورت میتوانید از صدها Package آماده ای که در بازار وجود دارد استفاده کرده و یا از سایت هایی که این تصاویر را در اختیار شما می گذارند استفاده نمایید. شما میتوانید به راحتی از میان تصاویر HDR آماده و یا ایجاد ان توسط نرم افزارهایی مانند HDR Light Studio ، نزدیک ترین تصویر HDR را به محیط مورد نظرتان تهیه فرمایید. لازم به ذکر است که برای شبیه سازی یک رندر واقعی، نیازمند بدست آوردن یک HDR با کیفیت و بسیار شبیه به صحنه مورد نظر دارید. مطمئن باشید که در موارد حرفه ای، تمام تصاویر HDR توسط کاربران تولید شده تا نتیجه رندر نهایی بدون اشکال باشد.
HDRI و IBL
خوب حال ما یک تصویر HDR در اختیار داریم که علاوه بر تصویر محیط، خصوصیات روشنایی آن محیط را نیز در خود ذخیره کرده است. از این پس موتور رندرینگ ما با استفاده از این HDRI و تنظیمات شما، روش Image Based Lighting را پیاده سازی میکند. بعد از تهیه تصویر HDR، مهمترین نکته کیفیت آن تصویر است. هر چه کیفیت تصویر شما بالاتر باشد، کیفیت نورپردازی و رندرینگ و جزییات بدست آمده به طرز چشم گیری افزایش می یابد. در نتیجه هر چه کیفیت تصویر شما بالاتر باشد، محاسبه روشنایی عمومی (Global Illumination) دقیقتر خواهد بود. خوب نکته دومی که باید به آن اشاره کنیم، معیاری برای روشنایی است و اینکه روشنایی آن محیط به چه میزانی است؟ توجه کنید، ما یک تصویر از یک صحنه طبیعی در دنیای واقعی تهیه کرده ایم. حال نیازمند آن هستیم که میزان روشنایی هر نقطه از آن تصویر را برای موتور رندر مشخص کنیم. به طور مثال در تصویری که تهیه کرده ایم خورشید قرار دارد و یا اینکه تصویر ما یک صحنه داخلی است که دارای چند لامپ روشن می باشد.
آیا میزان روشنایی خورشید و لامپ های یکسان هستند؟ و اینکه چه میزان تفاوتی بین آن ها وجود دارد؟ ما کاربران ،که به تصویر نگاه میکنیم میتوانیم به سادگی این موضوع را درک کنیم. اما این موضوع باید برای موتور رندر هم مشخص شود. هر Render Engine باید با استفاده از اطلاعات بدست آمده از تصویر HDR به این موضوع شناخت پیدا کند تا بتوانید میزان روشنایی هر قسمت از صحنه را به درستی انجام دهد. به منظور شناخت IBL یا Image Based Lighting باید نحوه ایجاد آن را نیز به خوبی بدانید.
در اینجا ما نیازمند روشی برای شناسایی و سنجش روشنایی دنیای واقعی هستیم که در تصویر خود به ثبت رسانده ایم. در به LPI نیاز خواهیم داشت. Light Probe Image ، تصاویری هستند که از دنیای واقعی بدست می آیند. این تصاویر میزان روشنایی هر بخش از تصویر را در خود ذخیره میکنند. شما میتوانید به راحتی Light Probe Image های متنوعی را دانلود کنید و یا خودتان اقدام به تولید آنها نمایید. نرم افزار معرفی شده HDR Light Studio شما را در این کار یاری میدهد. برای هر Light Probe Image دو نکته مهم باید در نظر گرفته شود. اول اینکه هر تصویر LPI همه سویه می باشد ( یعنی یک تصویری است که میتوانید به تمام جهات پرتوهای خود را ارسال نماید که در اینصورت متوجه می شویم که می بایست مانند منابع نوری همه سویه به صورت کروی باشد ) و دوم اینکه هر Pixel از این تصویر دارای خصوصیات ذکر شده برای میزان روشنایی آن نقطه از تصویر می باشد.
Light Probe Image
برای بدست آوردن Light Probe Image روشهای متنوعی وجود دارد که در عمومی ترین آنها استفاده از یک کره آینه ای و یا فلزی از جنس کروم و … به همراه یک دوربین و سه پایه مورد استفاده قرار میگیرد که با یک جستجوی ساده میتوانید از آن استفاده کنید. اما اگر به این موارد دسترسی ندارید باز هم به اینترنت و بسته های موجود رجوع کرده و تصاویر مورد نظرتان را دانلود نمایید. حال با در اختیار داشتن Light Probe Image و تصاویر Panoramic یک تصویر HDR بدست می آید که در ابتدای مطلب به آن اشاره کردیم. حال متوجه خواهید شد که HDR در حقیقت چیست و چگونه ایجاد می شود.
خوب ما نیازمندیهای خود را بدست آوردیم. از این پس می بایست به موتور رندرینگ خود مراجعه کنیم تا ببینیم در هر موتور رندرینگ چگونه میتوانیم از Image Based Lighting استفاده کنیم. اجازه دهید قبل از این موضوع روش استفاده IBL یا Image Based Lightingدر موتورهای رندرینگ را با یکدیگر مرور کنیم. برای شبیه سازی نورپردازی در واقعیت ، موتورهای رندرینگ به یک محیط برای انتشار پرتوها نیاز دارند. در حقیقت تصویر HDR تولید شده باید به گونه ای موضوعات و صحنه ساخته شده را محاط کند تا بتواند پرتوهای گرفته شده از تصویر HDR را بروی موضوعات درون صحنه منتشر کند. خوب پس یکی از راهکارهای استفاده از روش Image Based Lighting استفاده از Environment موجود در نرم افزارها و موتورهای رندرینگ است. در نتیجه ما یک تصویر HDR ساخته شده با موارد ذکر شده را به عنوان یک تصویر در Environment انتخاب کرده و آن را در محاسبه GI شریک میکنیم. این تمام کاری است که می بایست انجام دهیم. اما برای تکمیل و حرفه ای تر شدن کار، رعایت نکات زیادی لازم است. قبل از اینکه Image Based Lighting را از منظر موتورهای رندرینگ بررسی کنم، باید عرض کنم که مهمترین نکته ای که در شروع کار می بایست رعایت کنید،
تعیین واحد اندازه گیری در نرم افزار سه بعدی است. فراموش نکنید که واحد اندازه گیری (Unit) نرم افزار خود را با واحد اندازه گیری نورهای یکسان نمایید. نکته دوم در اینجاست که کاربران حرفه ای از سه تصویر مجزا برای روش IBL یا Image Based Lighting استفاده میکنند. یک تصویر با اندازه بسیار بزرگ ( بزرگترین حالتی که میتوانید ) را برای نگاشت reflection و Specular استفاده میکنند و از از دو تصویر HDR دیگر با اندازه ها و ماتی (Blur) متفاوت برای Diffuse environment و Diffuse Lighting و … که این موضوع جای بحث بسیار دارد و از چهار چوب این مطلب خارج است.