UV Mapping و Unwrapping چیست ؟
فهرست مطالب
آخرین به روزرسانی در 21/07/2023
در مقاله ی دیگر کنار شما هستیم تا اینبار دو مفهوم مهم را در مبحث مدل سازی و تکسچرینگ مورد بررسی قرار دهیم.
این دو مفهوم مهم چیزی نیست جز UV Mapping و Unwrapping که بسیار در مدل سازی اهمیت دارد.
تا پایان ما را همراهی کنید تا با مفاهیم آن ها بیشتر آشنا بشیم.
چرا UV mapping اهمیت دارد ؟
بهطور پیشفرض ، بیشتر نرم افزارهای سهبعدی زمانی که مش در ابتدا ایجاد میشود ، یک UV layout خودکار ایجاد میکنند.
با این حال ، به عنوان مثال اگر بخواهید تکسچر سر شخصیت خود را مستقیماً روی مدل سه بعدی بیندازید، این احتمال وجود دارد که نتایج بسیار نامطلوبی را مشاهده کنید.
این امر به این دلیل اتفاق میافتد که در طول فرآیند مدلسازی ، UV ها معمولاً در نظر گرفته نمیشوند و در نتیجه ، تصویر دو بعدی نمیتواند آنطور که انتظار دارید در اطراف یک شیء سه بعدی بپیچد.
هنگامی که مدل شما کامل شد ، برای اینکه مدل خود را به درستی تکسچر کنید، باید فرآیند چیدمان UV ها را آغاز کنید (منظور همان UV mapping است).
این اساساً فرآیند ایجاد یک نمایش دو بعدی از شی 3 بعدی شما است.
تصور کنید که مدل شما باز شده و به صورت یک تصویر دو بعدی مسطح شده است.
- درزهای طبیعی در کجا ایجاد می شوند؟
- در کجای مدل سه بعدی بیشترین جزئیات مورد نیاز است؟
اینها مواردی هستند که باید هنگام ایجاد طرح UV خود در نظر بگیرید.
UV Mapping و Unwrapping چیست ؟
در تعاریف ساده می توان اینطور گفت :
UV map نمایش مسطح سطح یک مدل سه بعدی است که برای wrap textures (سازماندهی تکسچرها) استفاده می شود.
و در نهایت فرآیند ایجاد UV map را unwrapping می گویند.
U و V به محورهای افقی و عمودی فضای دو بعدی اشاره دارد ، زیرا X، Y و Z در حال حاضر در فضای سه بعدی استفاده می شوند.
هنگامی که polygonal mesh ایجاد شد ، مرحله بعدی به اصطلاح “unwrapping ” در یک UV map است.
چیزی به نام تکسچر سه بعدی وجود ندارد ، زیرا آنها همیشه بر اساس یک تصویر دو بعدی هستند.
این جایی است که UV mapping وارد می شود ، زیرا این فرآیند تبدیل مش سه بعدی شما به اطلاعات دو بعدی است به طوری که یک تکسچر دو بعدی می تواند دور آن پیچیده شود.
این ممکن است در ابتدا کمی گیج کننده به نظر برسد ، اما واقعاً بسیار ساده است.
اگر از یک کاغذ متقاطع مکعب درست کرده اید ، اینجا دقیقا برعکس همین فرایند را انجام خواهید داد.
با اینحال ، یک مکعب یک مثال اساسی است و با پیچیدهتر شدن مشها ، نقشههای UV نیز پیچیدهتر میشوند.
این می تواند یک فرآیند کاملا خسته کننده باشد ، اما برای گردش کار سه بعدی ضروری است.
حتی اگر قصد تکسچر کردن یک مدل را ندارید ، بسیاری از موتورهای گیمینگ مانند Unreal Engine یا Unity نیاز دارند که asset های شما برای انجام light baking آن UV باز شوند.
جزئیات Unwrapping
اکنون که مفهوم اصلی UV maps مشخص شده است ، میتوانیم به بخشهای میانیتر برای unwrapping ، یعنی درز ها (seams) ، وارد شویم.
درزها یک بخش اجتناب ناپذیر از صاف کردن هر هندسه سه بعدی هستند.
درز بخشی از مش است که باید برش (split) داده شود تا بتوان مش سه بعدی را به نقشه دو بعدی UV تبدیل کرد.
UV unwrapping همیشه یک compromise برای ایجاد کمترین distortion در wireframe است، در حالی که درز ها را به حداقل می رساند.
Distortion از نظر یک UV map میزان تغییر شکل و اندازه پولیگان ها برای سازگاری با فرآیند صاف کردن (flattening) است.
distortion بیشتر بر نحوه نمایش جزئیات در مدل نهایی تأثیر می گذارد.
در این تصویر نحوه unwrappe مکعب باعث ایجاد distortion در پولیگان ها نشده است.
این را با استفاده از یک تکسچر شطرنجی ساده می توان تشخیص داد.
اگر الگوی chequer کشیده نشده باشد ، این به این معناست که از distortion در unwrap خود استفاده نکرده اید.
با این حال ، نقطه ضعف این روش که فقط همه پولیگان ها را از هم جدا می کند ، تعداد درز هایی است که ایجاد می کند.
مکعب سمت چپ دارای درز های UV است که به رنگ سبز برجسته شده است.
میتوانید ببینید که الگوی حرکتی در لبهها در یک راستا قرار نمیگیرد.
این می تواند در مش های پیچیده تر به مشکل تبدیل شود ، بنابراین باید تمرین کنید و با قرار دادن درز خود هوشمندانه عمل کنید.
این نمونهای از اتفاقی است که اگر پولیگان های خود را در UV unwrap خود به شدت تغییر دهید، اتفاق میافتد.
تکسچر این مکعب هیچ تفاوتی با نمونه قبلی ندارد اما همانطور که می بینید کشیده شده و از حالت استاندارد خود خارج شده است.
با این حال ، نبودن درز به این معنی است که الگو در اطراف لبههای مکعب قرار میگیرد و دنبال میشود.
در این تصویر می بینید که chequer pattern حفظ شده است و لبه های پیوسته خوبی داریم که در اطراف جلوی مکعب جریان دارند.
همانطور که تمرین می کنید و بیشتر unwrapping را انجام می دهید ، یاد می گیرید که بهترین مکان برای “پنهان کردن” درزها کجاست تا آنها را کمتر به چشم ببینید.
قوانین خوب برای درزها که آنها را کمتر آشکار می کند عبارتند از :
- آنها را به دنبال لبه های سخت قرار دهید که معمولاً کمتر قابل توجه هستند
- آنها را پشت سایر قسمت های مدل پنهان کنید.
به عنوان مثال ، اگر یک سر را باز می کنید ، درزهای خود را زیر جایی که مو قرار دارد قرار دهید. - آنها را در زیر یا پشت نقطه کانونی مدل خود پنهان کنید، جایی که کاربران کمتر آنها را می بینند.
UV های همپوشانی (overlapping UV)
یکی دیگر از مواردی که هنگام باز کردن مش سه بعدی باید در نظر بگیرید ، overlapping UV است.
overlapping UV زمانی هستند که شما دو یا چند پولیگان در UV map خود روی هم قرار دهید.
این به این معنی است که این دو قسمت از مدل شما اطلاعات یکسانی از تکسچر را نشان می دهند زیرا هر دو فضای UV یکسانی را اشغال می کنند.
overlapping UV معمولاً چیزی است که می خواهید از آن اجتناب کنید تا بتوانید تکسچر خود را متنوع نگه دارید و به طور تصادفی تکسچر خود را نادرست به نظر نرسانید.
گفته می شود مواقعی وجود دارد که ممکن است عمداً از overlapping UV استفاده کنید.
اگر یک تکسچر کاملاً ابتدایی است ، ممکن است چندین قسمت از مش خود را روی یک فضای UV یکسان برای تکرار تکسچر داشته باشید.
این تکنیک می تواند بسیار مفید باشد زیرا به شما امکان می دهد اندازه تکسچر خود را پایین نگه دارید ، به این معنی که اگر از یک موتور بازی استفاده می کنید، به طور کلی نرم تر کار می کند.
این موضوع در هنگام توسعه برای سخت افزارهای ضعیف تر مانند تلفن های همراه مهم تر است.
UV channels
UV channels به یک شیء اجازه می دهند چندین نقشه UV داشته باشد.
این دوباره برای موتورهای بازی بسیار مهم است.
همانطور که قبلا در مقاله ذکر شد ، موتورهای بازی از نقشه های UV برای پخت اطلاعات نور استفاده می کنند.
این بدان معنی است که مطلقاً هیچ overlapping UVs وجود ندارد زیرا اطلاعات shadow در قسمت های اشتباه مدل قرار می گیرد و معمولاً نوعی پیام خطا دریافت می کنید.
در حال حاضر overlapping UVs گاهی اوقات ایده خوبی در توسعه بازی همانطور که اشاره کردیم می باشد.
بنابراین خوب است که 2 کانال UV داشته باشیم.
یکی با اطلاعات UV برای تکسچر های شما و دیگری با اطلاعات UV برای نورپردازی شما.
هر چه بیشتر این کار را انجام دهید آسان تر می شود ، اما جزئیات زیادی در روند UV mapping وجود دارد.
امیدوارم در حال حاضر درک بهتری برای UV mapping داشته باشید.
این یک فرآیند به اندازه کافی ساده است که در ابتدا می تواند دلهره آور به نظر برسد، اما به راحتی می توان با تمرین از آن استفاده کرد.
اتمام مدل سازی
همانطور که پیش می روید UV های خود را Unwrap کنید تا تنها کاری که باید انجام دهید این است که پس از اتمام فرآیند مدل سازی، UV ها را سازماندهی کنید.
اگر در پایان UVing را امتحان کنید ، این فرآیند می تواند بسیار زیاد و به طور قابل توجهی پیچیده تر باشد.
UV ها را تا جایی که ممکن است محکم و منظم بسته بندی کنید و فضای کافی برای ایجاد تکسچر در درزها ایجاد کنید.
این کمک می کند که متریال های مشابه یا بخش های مرتبط از مدل را نزدیک به یکدیگر روی صفحه UV نگه دارید.
همچنین چرخاندن و چیدن صفجه به گونه ای مفید است که استفاده از آنها را در texture painting دلخواه شما آسان تر کند.
mapping خودکار
در اکثر برنامه های سه بعدی یک ابزار automatic mapping وجود دارد.
Automatic mapping به طور کلی UV ها را برای یافتن بهترین محل قرارگیری ممکن بر روی صفحات تنظیم می کند.
این زمانی مفید است که شما اشکال پیچیده تری دارید که در آن برجستگی های اولیه UV تولید نمی کنند.
ویرایش دستی UV ها معمولا هنوز مورد نیاز است ، اما automatic mapping جای خوبی برای شروع است.
نرم افزارهای کاربردی برای ساخت UV mapping
برای کمک به فرآیند تکسچرینگ و UV layout چند برنامه وجود دارد که می تواند به سرعت بخشیدن به گردش کار شما کمک کند.
UVLayout یک برنامه عالی است که به طور خاص برای چیدمان UV ها برای مدل سه بعدی شما طراحی شده است.
این نرم افزار دارای ویژگی های عالی برای سرعت بخشیدن به این فرآیند است ، بنابراین می توانید زمان بیشتری را صرف تکسچر سازی و زمان کمتری برای تنظیم UV ها کنید.
The Foundry’s MARI یکی دیگر از نرم افزارهای کاربردی است که تنها با هدف رنگ آمیزی تکسچر ها برای مدل سه بعدی شما طراحی شده است و دارای ویژگی های فوق العاده ای است که به طور قابل توجهی روند را هنگام طراحی تکسچر ها سرعت می بخشد.
به عنوان مثال، می توانید مستقیماً روی مدل سه بعدی خود نقاشی کنید که به شما امکان می دهد دقیقاً ببینید که این تکسچرها در کجا قرار می گیرند.
پس از تکمیل ، می توانید به سادگی texture map را خروجی بگیرید.
مهرسا امینی
برنامه نویس ، انیماتور ، سئوکار
رسیدن به رویاها یعنی فداکاری بخشی از زندگی به خاطر بخش بزرگ تری از آن