شماره :
169
دوشنبه 1397/11/1 05:01

موتور بازی‌سازی Unity

تجربه‌ی رندر ریل‌تایم و واقعیت مجازی با

هدف این پژوهش، رسیدن به یک مدل سه‌بعدی کم‌حجم معماری و آماده‌سازی آن برای استفاده در موتور Unity بود. Unity یک موتور بازی‌سازی است که می‌توان توسط آن رندرهای ریل‌تایم گرفت و یا بر بستر آن تکنولوژی واقعیت مجازی (VR) را پیاده‌سازی کرد.

یافتن آبجکت‌های مناسب

در ابتدا برای رسیدن به یک طرح کامل معماری، نیاز به مدل‌های مبل‌مان با حجم بسیار کم و تا حد امکان واقعی وجود داشت. از میان گزینه‌‌های موجود، گزینه‌هایی مثل کتاب‌خانه‌ی SketchUp مناسب به نظر نمی‌رسید و در عوض مجموعه‌های Archmodel و CGacxis جواب‌گوی نیاز ما بودند. در ادامه مشخص شد که این دو منبع مدل آخر نیز برای ما چالش‌هایی ایجاد می‌کند. برای مثال مدل‌های این دو وب‌سایت حجم بالایی داشته و در عین حال فرمت‌هایی داشت که برای ورود به نرم‌افزار Cinema 4D مناسب نبودند. متوجه شدیم که بایستی به دنبال فایل‌هایی با پس‌وند Fbx باشیم، فایل‌هایی که در عین حال تکسچرهای مورد نظر ما را هم دارا باشند. پس از جست‌وجو، به لینکی حاوی ۹۰ مجموعه رسیدیم که می‌شد آن‌ها را با همه‌ی فرمت‌های مورد نیاز دانلود کرد و این خبر خوبی برای ما و برای پروژه‌های آینده‌مان بود!

 

 

کم کردن حجم فایل

حالا فایل‌های مناسبی را با فرمت مورد نظر پیدا کرده بودیم، اما کماکان مشکل حجم بالا در فایل‌های‌مان وجود داشت. سعی کردیم که به کمک نرم‌افزارهای ZBrush و Magix حجم فایل‌ها را با حفظ UV آن‌ها انجام دهیم اما تلاش‌مان موفقیت‌آمیز نبود. تا این‌که با بررسی بیش‌تر منابع مربوط به CG، با نرم‌افزار Polygon Cruncher آشنا شدیم و توانستیم به کمک آن حجم فایل‌ها را با حفظ کیفیت آن‌ کاهش دهیم.

 

 

بارگذاری مدل در Unity

در این مرحله طراحی و مدل‌سازی اولیه‌ی ما به اتمام رسید و حالا نوبت به وارد کردن مدل به نرم‌افزار Unity می‌رسید. در ابتدا با بارگذاری تکسچرها در نرم‌افزار مشکل داشتیم و اندکی بعد فهمیدیم که بایستی ابتدا تکسچرها و سپس مدل‌ها را وارد کنیم تا مشکل برطرف شود. پس از رندرگیری با Unity تقریباً به هدف اول خود دست یافتیم اما مسائلی جانبی هم وجود داشت. از عمده‌ چالش‌های دیگر ما در این مرحله نورپردازی و Bake آن و هم‌چنین محاسبه‌ی درست بازتاب‌ها و افکت‌های دوربین بود، چالش‌هایی که کماکان با بعضی از آن‌ها دست‌وپنجه نرم می‌کنیم.

 

مقایسه‌ی موتور Unity و Unreal

اساساً می‌توان گفت که نرم‌افزارهای بازی‌سازی مانند Unity و Unreal ما را تا حدودی وارد چالش‌های برنامه‌نویسی می‌کنند، به‌خصوص در استفاده از صحنه‌ها و کدهای آماده که از این بابت محیطی کاملاً متفاوت با موتورهای رندرگیری  یا نرم‌افزارهای سه‌بعدی معماری دارند. طبق تجربه‌ی ما، نرم‌افزار Unity در ساختن حجم‌های سه‌بعدی خیلی راحت‌تر از Unreal عمل کرده اما در استخراج رندرهای ریل‌تایم، موتور Unreal دارای کیفیت بیش‌تری است. علاوه بر این برای Unreal منابع آموزشی فارسی بسیار خوبی نیز وجود دارد. در ادامه‌ی این پروژه بنا داریم که به کمک دوستان خوب شرکت وایموند واقعیت مجازی را بر بستر HTC Vive پیاده‌سازی کنیم. پست‌های آینده را دنبال کنید.  

افزودن دیدگاه جدید

X