ساخت تکسچر اطلس در بلندر

ساخت تکسچر اطلس (Texture Atlas) : همان طورکه در پست قبلی توضیح دادم استفاده از تکسچر اطلس در بهینه سازی مدل های سه بعدی برای استفاده در توسعه ی بازی ها، به طور قابل توجهی تاثیر گذاره.

ساخت تکسچر اطلس در بلندر: 

من از این مدل و از بلندر نسخه ی ۲٫۷۹ برای اینکار استفاده کرده ام.

ساخت تکسچر اطلس در بلندر

۱- اول اینکه دو شی پنگوئن و سخره رو با هم انتخاب میکنیم بعد در پنجره ی properties گزینه ی رندر رو انتخاب میکنیم {همان که در تصویر پایین با عدد دو مشخص شده و آیکون دوربین داره}. و از قمست تکسچر اطلس روی علامت بعلاوه کلیک میکنیم {نکتش اینه که  ابزار ساخت تکسچر اطلس فقط زمانی قابل استفاده و فعال است که از موتور Blender Render  استفاده کنید}. بعد یک اسم براش تعیین و تایید میکنیم ، این نام برای تصویر و uv-map هم استفاده میشه. بعد گزینه ی No_Unwrap  رو انتخاب میکنیم (جایی که روی تصویر با شماره ۴ مشخص کردم ) و بعد روی کلید (StartManualUnwrap) کلیک میکنیم.

ساخت تکسچر اطلس در بلندر

 

۲-صفحه رو به دو نیم افقی یا عمودی تقسیم میکنیم و یک قسمت رو ابزار UV map رو باز میکنیم و در طرف دیگه هر دو شکل که از قسمت قبل انتخاب شده اند رو به ادیت مد (Edit Mode) تغییر وضعیت میدیم. و با انتخاب همه و زدن کلید U روی صفحه کلید یک منو کنار موس باز میشه و گزینه اول رو انتخاب میکنیم و شکل باز شده در سمت ابزار UV Map  باز میشه مثل شکل زیر {یک شی توسط همین ابزار به لیست اشیاء اضافه میشه به نام TexureAtlas_mergedObject که کاری باهاش نداریم}.

ساخت تکسچر اطلس در بلندر

 

۳- بعد کلید های کنترل و A و بعد کنترل p رو وقتی موس داخل قسمت UV map و در سمت راست وجود داره میزنیم تا به ترتیب جزیره ها به اندازه میانگین تنظیم و داخل تصویر پک(محدود) شوند {بعضی وقت ها این کافی نیست و لازمه یکم اندازه ها رو تغییر بدیم تا با بزرگ تر کردن قسمت های مهم اندازه تصویر تکسچر بزرگتر و در نتیجه کیفیت بهتری داشته باشه اون قسمت ها}.

ساخت تکسچر اطلس در بلندر

۴-  رو دکمه ی (FinishManualUnwrap) کلیک میکنیم. و همون طور که در تصویر زیر با اعداد ۲-۳ مشخصه، اشیاء پنگوئن و سخره باقی مانده اند و آن شی ای که به صورت خودکار توسط ابزار تکسچر اطلس ساخته شده بود پاک شده است.

ساخت تکسچر اطلس در بلندر

۵- لازمه تکسچر های فعلی روی یک تصویر به صورت اطلس bake شود، پس در همان تب رندر گزینه ی Bake را انتخاب میکنیم و برای Bake mode گزینه ی تکسچر رو انتخاب میکنیم و یک شئ رو از لیست مثلا پنگوئن رو انتخاب میکنیم و روی دکمه ی پختن کلیک میکنیم {بسته به رزولوشنی که انتخاب کرده ایم مقداری طول میکشه تا تصویر ساخته بشه} .تیک Clear رو من یک بار و فقط برای اولین شی استفاده میکنم تا اون صفحه ی شطرنجی به رنگ مشکی تغییر کنه. وبعد شئ دوم رو انتخاب میکنیم و تیک Clear رو برمیداریم و دوباره کلید پختن رو می فشاریم.
ساخت تکسچر اطلس در بلندر

۶-بعد از اینکه تصویر به طور کامل پخته شداز منوی پایین صفحه گزینه ی image و بعد ذخیره روی دیسک رو انتخاب میکنیم.
ساخت تکسچر اطلس در بلندر

۷- از تب تکسچر اطلس گزینه ی selectGroup و بعد حذف بقیه ی UV ها رو میزنیم.
ساخت تکسچر اطلس در بلندر

۸- در آخر تکسچر های قبلی رو حذف میکنیم و از فایل تکسچر اطلس بجاش استفاده میکنیم و UV-mapping  رو هم یو وی مپِ تکسچر اطلس و انتخاب مکنیم و تمام.
ساخت تکسچر اطلس در بلندر

و این مدل (https://jgeek.ir/disk/post2/PenguinBaseMesh-completed.zip) بعد از تغییرات است.

بهینه سازی مدل های سه بعدی با استفاده از اصلاح کننده ی decimate در بلندر

بهینه سازی مدل های سه بعدی با استفاده از اصلاح کننده ی decimate در بلندر: مدلی بهینه است که بدون تغییر در ظاهر با چند ضلعی های کمتری ساخته شده باشه یا اصطلاحاً (low poly) باشه. گاهی اوقات لازمه برای کم کردن وقت و هزینه از مدل های آماده در وب استفاده کنیم که خب بعضی هایشان (high poly) هستند و برای استفاده در محیط بازی بهنیه نیستند و پردازش بسیار بیشتری به سیستم کاربر تحمیل میشه.

یک از راه های بهنیه کردن مدل های سه بعدی استفاده از اصلاح کننده (modifier) {“اصلاح کننده” با توجه به ترجمه ی مترجم گوگل} است که در حالت (object Mode) انجام میشه.

برای اینکار لازم است :

۱- از مدل Audi R8 برای اینکار استفاده میکنم و بلندر نسخه ی ۲٫۷۹ .

بهینه سازی مدل های سه بعدی با استفاده از اصلاح کننده ی decimate در بلندر

اگر مدل رو در بلندر باز کنید در بالای صفحه مشخصه که این مدل چند صد هزار وجه و راس داره که به همین صورت اگر بخواهیم در بازی ایمپورت کنیم هم تبدیل به فرمت بومی موتور بازی مورد استفاده زمانگیرخواهد بود و هم رندر شدندش در محیط بازی منابع بسیار بیشتری لازم داره…

۲-پس در حالت (object Mode) و در قسمت (properties) {برای من در سمت راست و پایین صفحه قرار داره} روی آیکون آچارفرانسه کلیک کنید و بعد از لیست گزینه ی decimate رو انتخاب کنید:

بهینه سازی مدل های سه بعدی با استفاده از اصلاح کننده ی decimate در بلندر

۳- با تغییر مقدار نسبت (Ratio) که عددی اعشاری و بین ۰ تا یک است به همان نسبت تعدادی از ضلع ها ی اضافه حذف میشه و باعث میشه وجه های کمتری داشته باشیم که در نهایت روی تعداد راس ها هم تاثیر میذاره و مدل چندین برابر بهینه تر میشه.

بهینه سازی مدل های سه بعدی با استفاده از اصلاح کننده ی decimate در بلندر

۴- در اینجا من اون رو به یک دهم تغییر میدم و تعداد وجه ها تغییر میکنه:

بهینه سازی مدل های سه بعدی با استفاده از اصلاح کننده ی decimate در بلندر

۵-و در آخر لازمه کلید (Apply) رو بزنید تا تغییرات اعمال بشه. و اگر در حالت (Edit Mode) دو مدل رو پیش و پس از اینکار مقایسه کنیم به وضوح تغییرات قابل تشخیص است:

بهینه سازی مدل های سه بعدی با استفاده از اصلاح کننده ی decimate در بلندر
بهینه سازی مدل های سه بعدی با استفاده از اصلاح کننده ی decimate در بلندر

Blender has stopped working (حل شده)

خرابی بلندر در ویندوز ده Blender has stopped working:

از بلندر ۲٫۷۸ استفاده میکنم ، و چند ماه بدون مشکل کار میکرد. امروز موقع اجرا و قبل از اینکه برنامه شروع بشه متوقف شد و پیام Blender has stopped working رو نشون داد.

خب برای حل این مشکل مثل همیشه اولین کار و سریع ترین راه گوگل کردن بود و نتیجه این بود که در نسخه های قبل هم کاربران بعضی وقت ها این مشکل رو داشتند و در غیر منتظره ترین حالت یکی فقط با نصب QuickTime Player مکشلش حل شده بود! و پیشنهاد های همیشگی و کلیشه ای مثل آپدیت ویندوز و آپدیت درایور گرافیک سیستم و چیز هایی شبیه این که خب من همه اش رو تست کردم و حتی بلندر رو آنیستال کردم و دوباره نصب کردم شاید مشکل حل بشه و نشد و دوباره نسخه ی جدیدی رو نصب کردم یعنی آخرین نسخه رو دانلود کردم با یه اینترنت خیلی خیلی کند و آزار دهنده ۲۷ دقیقه معطل شدم و در عین حال نتیجه مثبتی وجود نداشت….

میدونید اینقدر که در این ویندوز ده وقت من برای حل مشکلات تلف شده هیچ وقت در هفت و یا لینوکس اینطور نبوده (البته ابونتو ۱۴٫۰۴ و در چند سال قبل هم یکمی ازیت میکرد وقتی که با جنی موشن و دستگاه های مجازی ور میرفتم خیلی ازیت شدم و وقت زیادی صرف عیب یابی و رفع مشکلات فقط پیش نیاز ها میشد).

در یک جایی یک دوستی در مورد متغییر محیطی مسیر (PYTHONPATH) چیز هایی نوشته بودند و باعث شد سرنخ هایی به دست بیرام:

If the problem is related to having a PYTHONPATH environment variable set, you can do the following so you don’t have to modify your PYTHONPATH variable. I am running 2.75a and this fixed my problem.

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

-GitStack will not work if a python environment is already installed on your machine.

و دقیقا مشکل از همین جا بود ولی درک نمیکنم چرا اون درست کار میکرد ولی بلندر با مشکل برخورد؟ بهتر بود هشدار رو به این صورت تغییر میدادند :”نصب این برنامه تغییراتی در متغییر  محیطی پایتون به وجود می آورد و ممکن است اجرای بعضی از برنامه ها به این دلیل به مشکل بخورند”.

حذفش کردم چون بلندر برای من مهم تر بود و همچنین نمونه های رایگانی از همین برنامه ای که نیاز داشتم وجود داشت و این اشتباه مسخره باعث شد برچسب GitStack ابزاری بدرد نخور است دریافت کند.

خرابی بلندر در ویندوز ده Blender has stopped working

باگ ها و روش حل.