برای حل مشکل بالا چیکار باید کرد؟اصلا چرا چنین مشکلی بعد از import شدن ب وجود میاد؟
سلام،
مشکل قاطی شدن یا پریدن تغییرات objectهای Prefab بعد از import توی Unity معمولاً به خاطر تنظیمات import مدلهای سهبعدیه (مثل scale factor، rotation یا همون جدا کردن متریالها) اتفاق میفته. اینم باعث میشه وقتی مدل رو تبدیل به Prefab میکنی، کلی چیزاش مثل موقعیتها، متریالها یا حتی rig انیمیشن جابهجا بشه یا گم و گور بشه. گاهی هم این داستان از باگهای Unity تو reimport خودکار یا تغییرات assetها میاد، مخصوصاً وقتی از نرمافزاری مثل Blender مدل رو آوردی داخل و scale جهانی درست تنظیم نشده.
راهحلش اینه: اول برو asset رو انتخاب کن، تو Inspector بخش Model رو چک کن و scale factor رو بذار روی 1، بعد Reimport بزن. اگه دیدی بازم اوضاع خرابه، Prefab رو Unpack کن (راست کلیک > Unpack Prefab) تا همه چیز ازش جدا بشه، متریالها رو دوباره دستی وصل کن و یه Prefab تازه از همون بساز. اگه میخوای چند نسخه متفاوت از یه مدل داشته باشی که به نسخه اصلی کاری نداشته باشه، از Prefab Variant استفاده کن. حواست باشه اگه نمیخوای Unity هی خودش reimport کنه، autosave صحنه رو خاموش کن. در آخر هم اگه بازم گیر داره، Unity رو آپدیت کن چون بعضی از این باگها توی نسخههای قدیمیتر مثل 2019 یا 2020 خیلی رایجتر بودن.
محسن موحد۰۳ شهریور ۱۴۰۴، ۱۰:۰۷
خب اگر Material ها هم همین مشکل رو داشته باشن چی؟
Arman۰۴ شهریور ۱۴۰۴، ۰۴:۴۶
سلام، مشکل از prefab نیست، مشکل از متریالها است، مدلها دچار missing material شده اند، چند تا دلیل داره، یا پروژه شما built-in 3D نیست و از نوع urp یا HDRP است که باید حواستون باشه که هنگام ساخت پروژه، پروژه رو روی built-in 3D بگزارید.
یا هنگام وارد کردن مدلها متریالها وارد نشده اند، لطفاً پوشه متریالهای این فایلها رو چک کنید و بهشون متریال خاص خودشون رو بدید، اگر متریال وجود داره نوع متریال رو در قسمت بالای متریال روی standard بگذارید تا درست شوند
اگر هم متریال نیست و فقط تکسچر هست یک متریال جدید بسازید، تکسچرها رو بهش بدید و به مدلها بدید