آشنایی با UDIM Texturing

یکی از مشکلات همیشگی در بخش طراحی و مدلسازی سه بعدی، اختصاص روش درست و مناسب Mapping بروی مدلهاست. اینکه چگونه یک تکسچر بروی سطح یک مدل سه بعدی قرار بگیرید تا بتواند بهترین موقعیت را داشته باشد، سخت ترین بخش کار خواهد بود.

خوب در تمامی روشهای اولیه استفاده از UV Mapping یک اصل ابتدایی می باشد که همه با آن آشنا هستند. اما با پیشرفت های سالهای اخیر و افزایش کیفیت تصاویر رندر شده در فضای سه بعدی، محدودیت های روش UV بسیار آزار دهنده شد. برای اینکه یک مدل با texture مناسب داشته باشید باید کیفیت آن را در روش UV تا حد ممکن افزایش دهید. هر چه کیفیت و رزولوشن تکسچر شما بالاتر باشد، رندر نهایی بهتری خواهید داشت. اما افزایش اندازه UV هم محدودیت هایی دارد که در نتیجه شرکت های پیشگام در عرصه Animation  و فیلم سازی را بر آن داشت که راهکارهای جدیدی را در نظر داشته باشند.

udim ptex uv mapping texture render material تکسچر یو وی یو دی ای ام بافت متریال رندر dfmrendering renderway dfm 02

 

همانطور که قبلا در سایت ذکر کرده بودم، شرکت والت دیزنی برای پروژه های خود با مشکلات زیادی در بخش UV mapping همراه بود تا اینکه بالاخره در سال 2008 و برای پروژه Bolt  این شرکت، روشی را که حدود یکسال بروی آن کار میکردند را به نام Ptex نامگذاری کرده و استفاده نمودند. روشی بی نظیر که تقریبا همه محدودیت های UV را مرتفع کرده و دنیای تکسچرینگ را متحول نمود. قبلا به تفصیل در مورد Ptex صحبت کردیم و میتوانید از این لینک به آن دسترسی داشته باشید.

udim ptex uv mapping texture render material تکسچر یو وی یو دی ای ام بافت متریال رندر dfmrendering renderway dfm 03

 

اما وقتی Ptex توسط این شرکت مطرح شد، خود مشکلات دیگری را پدید آورد. در پروژه های بزرگ فایلهای Ptex که مملو از هزاران فایل در یک Pack بودند ، با حجم های بسیار زیادی مواجه شدند. این پک ها که شامل تکسچرهای تولید شده برای هر face در روش Ptex بود آنقدر بزرگ بود که نیاز به سخت افزارهای بسیار قدرتمند برای تغییر و ویرایش و بارگذاری داشت. همچنین Ptex فرمت فایل رده پایینی داشت که کار با آن را برای ویرایش بسیار سخت میکرد.

از دیگر ایرادهای Ptex این بود که با همه نرم افزارها و موتورهای رندرینگ سازگاری کامل نداشت و بیشتر برای موتورهای رندرینگ RenderMan , Mantra , Vray , …. در دسترس بود و از همه مهمتر اینکه نسخه های اولیه Ptex بشدت کند بود و از همه توان سخت افزار برای پردازش استفاده نمیکرد. البته در نسخه های تکمیل شده افزایش بازده بهتری را شاهد بودیم اما باز هم کند و سنگین بود.

udim ptex uv mapping texture render material تکسچر یو وی یو دی ای ام بافت متریال رندر dfmrendering renderway dfm 04

 

تا اینکه Richard Addison-Wood از شرکت  Weta Digital روشی را ابداع کرد که به UDIM معروف شد. این کلمه از U-Dimension  می آید که اشاره به نوع چیدمان و روش ابداعی می باشد. قبل از اینکه این روش را توضیح دهم، حتما به مطلبی که قبلا در مورد Ptex در سایت مازستا نوشته ام مراجعه نمایید تا تفاوت این دو روش را متوجه شوید.

حتما میدانید که در روش متداول UV Mapping ، UV  ها بازه ای بین 0 تا 1 هستند که بروی یک تکسچر تعریف می شوند. در حالی که در روش UDIM این بازه به صورت یک توالی ماتریسی می باشد که کاملا سفارشی خواهد بود. این توالی از عدد 1001 شروع شده و ادامه می یابد. مثلا یک UDIM با بازه 2 شامل1001 و 1002 می باشد. که هر کدام از این اعداد به یک بخش از تصویر اشاره خواهند کرد. در نتیجه هر بخش از Mesh شما میتوانید شامل یکی از بخش های UDIM شود. اگر متوجه این موضوع نشدید اجازه دهید تا کمی بحث را ساده تر کنیم.

در روش UV  عادی، شما یک تکسچر دارید که به Mesh خود نسبت میدهید. حال با توجه به UV نسبت داده شده به Mesh شما، متوجه می شوید که کدام بخش از تصویر texture شما بروی کدام بخش از Mesh شما قرار گرفته است. خوب در این روش هر چه بخواهیم کیفیت تصویر یا تکسچر ما بیشتر شود باید رزولوشن آن texture را افزایش دهیم. همانطور که در تصویر زیر مشاهده میفرمایید، در نهایت کل صورت بروی یک تکسچر قرار میگیرید تا بتوانیم عملیات texture Painting  و rendering را به خوبی مدیریت کنیم.

udim ptex uv mapping texture render material تکسچر یو وی یو دی ای ام بافت متریال رندر dfmrendering renderway dfm 05

 

اما در روش UDIM با یک تکسچر سروکار نداریم. بلکه با مجموعه ای تکسچرها سرکار داریم . در حقیقت ما در این روش بروی mesh خود UV تعریف نمیکنیم. بلکه مجموعه ای از آنها را برای بخش های مختلف Mesh خود در نظر میگیریم. با اینکار میتوانیم به هر بخش از Mesh خود یک UV مجزا نسبت دهیم و یک texture مجزا. به عنوان مثال برای یک صورت انسان، نیازی نیست که مانند گذشته یک تکسچر کامل برای کل صورت در نظر بگیریم. میتوانیم هر بخش از صورت را جداگانه UV داده و به یک تکسچر مجزا نسبت دهیم. توجه کنید که دیگر به این روش UV mapping نمی گویند  و نام آن UDIM است.

udim ptex uv mapping texture render material تکسچر یو وی یو دی ای ام بافت متریال رندر dfmrendering renderway dfm 06

 

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

udim ptex uv mapping texture render material تکسچر یو وی یو دی ای ام بافت متریال رندر dfmrendering renderway dfm 07

 

همانطور که مشاهده میکنید، دیگر نیاز نیست به کل مدل خود یک تکسچر را نسبت دهید. این تکسچرها درست است که در روش UDIM به صورت جداگانه هستند، اما نرم افزارهای شما به راحتی آنها را به صورت یکپارچه در نظر میگیرند. در نتیجه کار Painting و اصلاح متریال بروی آنها همانند یک تکسچر یکپارچه صورت میگیرد. اما در حقیقت شما به هر بخش از مدل خود یک تکسچر جداگانه با رزولوشن متفاوت ( یا یکسان ) نسبت میدهید. مثلا میتوانید بخشی از مدل را که به دقت بالاتری نیاز دارد با یک تکسچر 8k و بخشی را که دقت خاصی نیاز ندارد با یک تکسچر 2k مدیریت کنید. شاید حالا متوجه شوید که پروژه های بزرگ فیلم و انیمیشن دنیا چگونه اینچنین کیفیت مدلها را در بالاترین حالت ممکن حفظ میکنند.

برای اینکه این روش در همه نرم افزارها یکسان باشد، UDIM هم قواعد خود را دارد. اینجاست که متوجه میشود اعداد 1001 و 1002 به چه دردی میخورند.  برای این موضوع باید قوانین UDIM را با هم مرور کنیم.

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

در این استاندارد خانه اول از سطر اول 1001 ، خانه دوم از سطر اول 1002 و ... و خانه اول از سطر دوم 1011 و ... . در نتیجه حتی اگر شما میخواهید از چهار بخش استفاده نمایید می بایست یا آنها را در خانه های 1001 تا 1004 بگذارید یا حتی میتوانید در خانه های 1001 و 1002 و 1011 و 1012 به صورت یک چهارتایی قرار دهید.

هر خانه معرف یک تکسچر مجزا و یک UV  مجزا می باشد که به هر بخش از مدل که میخواهید میتوانید نسبت دهید.

udim ptex uv mapping texture render material تکسچر یو وی یو دی ای ام بافت متریال رندر dfmrendering renderway dfm 08

 

در نرم افزارهای مختلف این روش به نام UDIM یا Tile Texture شناخته می شود و تقریبا تمام نرم افزارهای مهم دنیا آن را ساپورت میکنند. در بخشی از نرم افزارها، می توانید تعداد ستون ها را از 10 به هر عددی تغییر دهید که اینکار توصیه نمی شود. زیرا این قانون در تمام نرم افزارها به صورت تقریبا یکسان رعایت میشود و تغییر آن باعث میشود که مشکلاتی را به همراه داشته باشید و در هر کاری نیاز به تغییر شرایط پیش فرض باشد.

این مهم نیست که شما از چند خانه استفاده میکنید، حتی اگر از 2 خانه هم بخواهید استفاده کنید اجازه دهید شرایط همچنان به صورت پیش فرض باقی بماند.

udim ptex uv mapping texture render material تکسچر یو وی یو دی ای ام بافت متریال رندر dfmrendering renderway dfm 09

 

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

مدل سه بعدی Chappie ، شامل حدود 4 میلیون Polygon  و بالغ بر 2740 زیر مدل می باشد. این مدل شامل 528 UDIM tile  بوده است که هر کدام از تکسچر ها از رزولوشن 256 تا 4096 بوده اند. یعنی بزرگترین اندازه تکسچر 4k و کوچکترین آنها 256  پیکسل بوده است. کل فضایی که برای ذخیره تکسچرهای این مدل استفاده شده است 152 گیگابایت بوده است.

udim ptex uv mapping texture render material تکسچر یو وی یو دی ای ام بافت متریال رندر dfmrendering renderway dfm 10

 

امروزه اکثریت نرم افزارهای مطرح دنیا مخصوصا در بخش Painting از UDIM پشتیبانی میکنند. به دلیل محدودیت ها و سختی های Ptex بیشتر پروژه ها سعی دارند که از UDIM استفاده کنند تا سازوکار راحتتری را تجربه نمایند.

udim ptex uv mapping texture render material تکسچر یو وی یو دی ای ام بافت متریال رندر dfmrendering renderway dfm 11

 

 

 

 

نظرات (0)

امتیاز 0 خارج از 5 بر اساس 0 رای
هیچ نظری در اینجا وجود ندارد

Related Articles