bake کردن مپ ها از جسم highpoly به lowpoly در مایا

mehdidante

New Member
سلام
توی این آموزش می خوام نحوه bake کردن normal map و ambient occlusion از روی highpoly به lowpoly رو در نرم افزار مایا آموزش بدم .
همینطور که می دونید امروزه اکثر آبجکت ها برای بازی به همین روش ساخته می شن . یعنی جسم highpoly ساخته می شه با استفاده از نرم افزارهای سه بعدی و یا اسکالپت کردن سپس جزئیاتش با استفاده از bake کردن مپ های نرمال و ambient occlusion به جسم lowpoly منتقل میشه .

trans.gif

پس بیایید شروع کنیم :
من ابتدا یک جسم اولیه و ساده ایجاد کردم و از اونجایی که قابلیت آیینه شدن داره ، نصف اونو فقط درست کردم و بعد هم mirror کردم .
Capture.JPG

سپس این جسم رو توی zbrush باز کردم و جزئیات زیادی در اون ایجاد کردم . و بعد هم با استفاده از decimation master پلیگون هاشو کم کردم تا بتونم وارد مایاش کنم .
zbrush_high.JPG

در این مرحله با کمک اون جسم اولیه ، جسم lowpoly رو روی جسم highpoly ساختم . این مرحله به تجربه نیاز داره و باید بین نزدیک شدن مدل به highpoly و تعداد پلیگون ها یک تناسب خوب ایجاد کنید .
low1.JPG

low2.JPG

باید این جسم فاقد n-gon باشه و فقط از quad و tri در اون استفاده شده باشه . ( نحوه پیدا کردن N-gon ها در مایا رو در آموزشی دیگه در CGNet.ir قرار دادم ) .
مرحله بعدی ساخت UV برای جسم lowpoly هستش . جسم highpoly نیاز به uv نداره .
uv.JPG

بعد از bake کردن دیگه نمیشه uv رو تغییر داد بنابراین uv رو نهایی کنید قبل از bake کردن .
حالا در مرحله ای قرار داریم که جسم highpoly و lowpoly در مایا لودن و جسم lowpoly هم uv کردیم .
high_low.JPG

چیزی که در عکس بالا می بینید ، دو تا جسم low و high هستن که آماده مرحله بعدی هستن .
در این مرحله به قسمت rendering در مایا میریم .
renerinh.JPG

و از منوی lighting/shading گزینه transfer maps رو انتخاب می کنیم .
حالا در قسمت target meshes جسم lowpoly رو انتخاب میکنم و دکمه add selected رو می زنم .
در قسمت source meshes هم جسم highpoly رو انتخاب می کنم و add selected رو می زنم .
نکته 1 : اگر جسم هام از قسمت های مختلف تشکیل شدن هم می تونم همه اونها رو انتخاب کنم و به همین دلیله که جملات هم به صورت جمع هستن (target meshes) .
نکته 2 : از اونجا که جسم lowpoly باید جسم highpoly رو کامل پوشش بده و همونطور که میبینید مال من نداده ، من display رو به حالت envelop بردم و با دادن عدد به اون کاری کردم که جسم highpoly کاملا پوشش داده بشه . به اون جسم قرمز رنگ که در عکس پایین می بینید ، cage گفته میشه که اشاره به همین موضوعه که جسم highpoly باید کاملا درونش قرار گرفته باشه .
حالا در قسمت output maps باید مپ هایی که می خوام انتخاب کنم . من normal map و ambient occlusion رو انتخاب کردم .
تنظیمات اونها هم سادست . مسیری که میخواید قرار بگیره رو تعیین کنید و همچنین فرمت مورد نظرتون .
گزینه مهم map space رو حتما در حالت tangent space قرار بدید . انجین های بازی فقط از این حالت پشتیبانی می کنند .
اگر Use maya commo setting رو تیک دار کنید می تونید در tab مربوط به اون با همین نام که کمی پایین تر قرار گرفته ، تنظیمات کاملی رو برای مپ خروجی انجام بدید که در اینجا من همین کار رو کردم .
در قسمت maya common setting مانند شکل عمل کنید فقط اینکه map width و map height اندازه فایل نهاییتونن پس اونها رو به دلخواه تنظیم کنید . مثلا اگر جسمتون بزرگه و اهمیت داره ، سایز 2049 در 2049 رو براش بذارید . یادتون باشه که این اندازه در مدت زمان bake کردن نتیجه مستقیم داره و هر چقدر بیشتر کنید اندازه رو ، مدت زمانی که طول می کشه تا مپ ساخته بشه زیاد تر می شه . اندازه ای که اینجا تعیین می کنید اندازه مپ نرمال و diffuse ( اگر جسم highpoly تکسچر داره و می خواید اون رو به lowpoly منتقل کنید این مپ رو انتخاب کنید ) رو تعیین می کنه .
در قسمت mentalray common setting هم مثل شکل عمل کنید . سایزی که اینجا تعیین می کنید ، اندازه مپ ambient occlusin نهایی شماست .
گزینه های مهم اینجا tranfer in که باید روی world space قرار بگیره و normal direction که روی surface front قرار می گیره هستن .
t1.JPG

t2.JPG

t3.JPG

cage.JPG

خب حالا همه چیز آمادست پس دکمه bake and close یا bake رو می زنم و منتظر میشم تا مپ هام ایجاد بشن .
Untitled-1.jpg

خب اینم مپ های نهایی و نتیجه نهایی کار :
Untitled-2.jpg

mmm.jpg

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

موفق باشید .
نوشته شده توسط : مهدی کاظمی
استفاده از آموزش با ذکر CGNet.ir امکان پذیر است
 
آخرین ویرایش:

sidsid

Well-Known Member
سلام
واقعا حرکت شایسته ای انجام دادین خیلی ممنون
موفق باشین
یا علی
 

mehdidante

New Member
خواهش .
امیدوارم که همه دوستان با هم همکاری کنن تا بتون کارها عالی تهیه کنن و به سطح بین المللی برسیم .
 

جدیدترین ارسال ها

بالا