درود مهمان گرامی! ثبت نام

امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
سوال در مورد جایگزین کردن ابجکت ها در یونیتی
#1
سلام
دوستان من 3D Infinite Runner Toolkit 1.3 رو برای یونیتی دانلود کردم.حالا میخوام مثلا مدل سکه هاشو عوض کنم و به شکل الماس در بیارم.مدلی که تو مایا ساختم رو چجوری باید جایگزین مدل پیشفرض سکه بکنم؟(با فرمت های mb - fbx - obj سیو گرفتم و درگ کردم تو پروژه ولی مدل رو نمیشناخت.اسمش هم همون اسم اصلی پیشفرض یعنی Coin گذاشتم ولی بی فایده بود)

در کل چجوری میتونم یه مدل و تکسچرش رو جایگزین مدل و تکسچر پیشفرض بکنم؟
پیشاپیش ممنون از پاسخگوییتون
پاسخ
#2
این پلاگین باگ زیاد داره.من قبلا باهاش کار کردم زد یونیتیمو به هم ریخت.یکی از دوستای دیگه هم همین مشکل براش پیش اومده بود.
به نظرم تجزیه تحلیل کن و خودت فکر کن بهتره.اگه عجله داری دیگه باید با همون بسازی و دنبال رفع اشکال باشی.
پاسخ
 سپاس شده توسط hamidrezasaeedi
#3
(8/10/1394، 03:01 صبح)sajjad3011 نوشته است: این پلاگین باگ زیاد داره.من قبلا باهاش کار کردم زد یونیتیمو به هم ریخت.یکی از دوستای دیگه هم همین مشکل براش پیش اومده بود.
به نظرم تجزیه تحلیل کن و خودت فکر کن بهتره.اگه عجله داری دیگه باید با همون بسازی و دنبال رفع اشکال باشی.

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

اگر راهی داره برای جایگزین کردن مدل خودم با مدل پیشفرض پروژه ممنون میشم راهنمایی کنی
پاسخ
#4
سلام
من با این پکیجی ک شما میگید کار نکردم.. اما بر اساس اصول اگ باشه باید ی prefab رو ب عنوان ورودی بگیره
نباید این مدل جدید رو ببرین و روی اون مدل اصلی جایگزین کنین... بلکه باید اونجایی ک کدتون سکه میگیره بجاش الماس خودتونو بدین (با همون شرایط .. مثلن اگ سکه کد coin داره.. باید الماسم همونو داشته باشه.. یا اگ coliider داره .. باید الماسم داشته باشه)
بعد الماس رو ک تو scene هست بکشین و بندازین تو پنجره project با این کار خودش ی prefab میسازه... حالا اینو به عنوان ورودی اون کد بدین به جای سکه
خوشی نیست آنچه آخرش سختیست
و سختی نیست آنچه آخرش خوشیست
امام علی (ع)
-----------------------------------
آی دی تلگرام: miladkeramatloo@
پاسخ
 سپاس شده توسط hamidrezasaeedi
#5
(8/10/1394، 01:36 عصر)miladkeramatloo نوشته است: سلام
من با این پکیجی ک شما میگید کار نکردم.. اما بر اساس اصول اگ باشه باید ی prefab رو ب عنوان ورودی بگیره
نباید این مدل جدید رو ببرین و روی اون مدل اصلی جایگزین کنین... بلکه باید اونجایی ک کدتون سکه میگیره بجاش الماس خودتونو بدین (با همون شرایط .. مثلن اگ سکه کد coin داره.. باید الماسم همونو داشته باشه.. یا اگ coliider داره .. باید الماسم داشته باشه)
بعد الماس رو ک تو scene هست بکشین و بندازین تو پنجره project با این کار خودش ی prefab میسازه... حالا اینو به عنوان ورودی اون کد بدین به جای سکه

ممنون از پاسختون smiley
راه حلشو پیدا کردم که برای افرادی مثل من که اشنایی زیاد با یونیتی و کد نویسی ندارن خیلی راحت تره .اینجا مینویسم که اگر کسی همچین مشکلی داشت راحت بتونه مشکلشو رفع کنه.
برای جایگزین کردن یه مدل به جای یه مدل دیگه باید فرمت دوتا فایل یکی باشه(مثلا مدلای توی پروژه یونیتی fbx هستش خروجی ای هم که میگیرین باید fbx باشه که تو مایا ۲۰۱۶ یه قسمت اضافه شده به نام Game Export که کار رو خیلی راحت میکنه)
بعد باید نام فایلتون هم نام اون فایلی باشه که قراره به جاش بزارین(تو این پروژه نام فایل سکه ها Coin بود که من اسم فایلمو Coin قرار دادم)



و اما مهمترین مرحله که من اصلا یادم بهش نبود:
اونم اینه که تو مایا بعد اینکه مدلتونو ساختین باید نام اون مدل رو هم نام مدلی که قراره جایگزینش کنین بزارین.در واقع نام اون Mesh باید همنام Mesh مدل اصلی باشه.برای تغییر دادن نام مدلتون هم از پنجره Outliner تو مایا باید استفاده کنید(از منو Windows میتونین پیداش کنید).آوت لاینر که باز شد روی مدلتون کلیک کنید و از تو آوت لاینر اسمشو هم نام اون مدل اصلی قرار بدین(یادتون نره قبلش اگه مدلتون تیکه تیکس کامباینش کنید (برای اینکار کل مدل رو انتخاب کنید و از پنجره Mesh روی Combine کلیک کنید) و همچنین Mesh مدلتون نباید تو پوشه باشه.اگر تو پوشه بود تو همون آوت لاینر درگش کنید بیرون از پوشه و اسمشو به مدل اصلی تغییر بدین )
بعد از اتمام این کار و اکسپورت گرفتن میتونید راحت کپی پیستش کنید همون مکانی که فایل مدل اصلی قرار داره و جایگزین اون مدل کنید.
پاسخ
#6
من که از این راه حلت چیزی دستگیرم نشد :- P ولی برای ایجاد بازی دونده معمولا با تابع instantiate پریفب زمین رو یکی یکی کپی کرده و به حکت در میاریم و وقتی از صحنه خارج شد یا طبق lifeTime ای که توی invoke یا ... بهش می دیم بعد از چند ثانیه پریفب خارج شده از صحنه رو می حذفیم. انیمیشن دویدن رو هم برای player اجرا می کنیم که بیننده فکر کنه داره واقعا می دوه. توی صحنه هم اشیای مختلف رو رندوم instantiate می کنیم.mwah
پاسخ
#7
(13/10/1394، 02:51 عصر)sajjad3011 نوشته است: من که از این راه حلت چیزی دستگیرم نشد :- P ولی برای ایجاد بازی دونده معمولا با تابع instantiate پریفب زمین رو یکی یکی کپی کرده و به حکت در میاریم و وقتی از صحنه خارج شد یا طبق lifeTime ای که توی invoke یا ... بهش می دیم بعد از چند ثانیه پریفب خارج شده از صحنه رو می حذفیم. انیمیشن دویدن رو هم برای player اجرا می کنیم که بیننده فکر کنه داره واقعا می دوه. توی صحنه هم اشیای مختلف رو رندوم instantiate می کنیم.mwah

من یه راه حلی برای ساخت این بازی های دونده به ذهنم رسیده

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

بازی ها و نمونه کارهای من:


بازی قلب پرنده
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  برابر کردن مختصات شی یوای با یک شی اسپرایت ebraeim75 3 94 9/7/1398، 07:40 عصر
آخرین ارسال: ebraeim75
Question چند سوال درباره بهینه سازی حجم پروژه های یونیتی Dark_Phoenix 1 44 25/6/1398، 10:00 عصر
آخرین ارسال: aminblog76
  سوال مهم در مورد یونیتی stdio_MG 1 36 25/6/1398، 09:57 عصر
آخرین ارسال: aminblog76
Sad سوال زمان در یونیتی A Person 4 112 21/6/1398، 07:08 عصر
آخرین ارسال: siberia
  فعال کردن کلمات احتمالی برای MonoDevelop fahimi 3 128 25/5/1398، 10:24 عصر
آخرین ارسال: qwerty13



کاربرانِ درحال بازدید از این موضوع: 1 مهمان