Не удаётся загрузить префаб(РЕШЕНО)

Программирование на Юнити.

Не удаётся загрузить префаб(РЕШЕНО)

Сообщение MetosFate 26 апр 2010, 14:20

Сделал префаб имя Arm_R. Загружаю и инстансирую его вот так:
Синтаксис:
Используется csharp
GameObject inst =(GameObject)Object.Instantiate(Resources.Load("Arm_R"), new Vector3(-0.3210452f, -1.117587f, 1.862645f), Quaternion.identity);
//не грузится - попробовал по-другому:
GameObject inst =Instantiate(Resources.Load("Arm_R"), new Vector3(-0.3210452f, -1.117587f, 1.862645f), Quaternion.identity) as GameObject;
 

пробовал даже в аргументах Load писать GameObject.
ни то, ни то не вышло говорит prefab мол null. А он лежит в корне, нормально инстансируется, если в публичных переменных класса прописать и перетащить в инспектор. Это моя первая загрузка, и кажется я что-то не понимаю, нужна помощь. AssetBundles смотрел. Справку по Resources.Load прочитал; на форуме поискал, но может плохо... :-\
Завернул тестовую сцену в пакадж, тут объект попроще вместо Arm_R называется arrow
У вас нет доступа для просмотра вложений в этом сообщении.
Последний раз редактировалось MetosFate 26 апр 2010, 16:01, всего редактировалось 1 раз.
Добавить masterofself в Skype
Стена это таже ступенька, просто надо вырасти, чтобы это увидеть...
Аватара пользователя
MetosFate
UNIт
 
Сообщения: 76
Зарегистрирован: 05 янв 2010, 21:14
Откуда: Нижний Новгород

Re: Не удаётся загрузить префаб

Сообщение Neodrop 26 апр 2010, 14:52

А если объект загрузить из ресурсов до инстансирования ? Всё нормально получается? :-?
Дело в том, что загрузка из ресурсов и есть инстансирование. Так что в вашем варианте, у вас через пятницу суббота выходит.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Не удаётся загрузить префаб

Сообщение MetosFate 26 апр 2010, 15:04

Ошибка звучит так: prefab you wnt instantiate is null.
Поэтому и загрузка и Инстансирование происходят после дождичка в четверг)
Если я вас правильно понял, вы имеете в виду нечто подобное такому коду?:
Синтаксис:
Используется csharp
Object arrow=Resources.Load("arrow");
        GameObject inst =Instantiate(arrow, transform.position, Quaternion.identity) as GameObject;
 

он тоже не сработал(
Добавить masterofself в Skype
Стена это таже ступенька, просто надо вырасти, чтобы это увидеть...
Аватара пользователя
MetosFate
UNIт
 
Сообщения: 76
Зарегистрирован: 05 янв 2010, 21:14
Откуда: Нижний Новгород

Re: Не удаётся загрузить префаб

Сообщение Kann 26 апр 2010, 15:40

вы пытаетесь загрузить то что уже загружено.
напишите так и все будет работать
Синтаксис:
Используется csharp
public GameObject go;
GameObject inst =Instantiate(go, transform.position, Quaternion.identity) as GameObject;
 
Kann
Старожил
 
Сообщения: 553
Зарегистрирован: 05 ноя 2009, 14:06

Re: Не удаётся загрузить префаб

Сообщение MetosFate 26 апр 2010, 15:45

эээ... работать будет это точно) Но как мне в Game Object go засунуть именно мой префаб arrow, не используя инспектор и перетаскивание, а прямо в рантайме?
Добавить masterofself в Skype
Стена это таже ступенька, просто надо вырасти, чтобы это увидеть...
Аватара пользователя
MetosFate
UNIт
 
Сообщения: 76
Зарегистрирован: 05 янв 2010, 21:14
Откуда: Нижний Новгород

Re: Не удаётся загрузить префаб

Сообщение Neodrop 26 апр 2010, 15:49

Проверьте свой объект на null после загрузки из ресурсов. Кажется у вас нифига не загружается.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Не удаётся загрузить префаб

Сообщение Kann 26 апр 2010, 15:57

да, сорри я ошибся, оно должно инстанироватся, ваша ошибка заключается в том что ваш ресурс лежит не в том месте, создайте папку Assets/Resources/ положите в нее свой префаб и все заработает
Kann
Старожил
 
Сообщения: 553
Зарегистрирован: 05 ноя 2009, 14:06

Re: Не удаётся загрузить префаб

Сообщение MetosFate 26 апр 2010, 15:59

Спасибо большое! вот где я был невнимателен! Теперь всё отлично :-bd :ymparty:
Добавить masterofself в Skype
Стена это таже ступенька, просто надо вырасти, чтобы это увидеть...
Аватара пользователя
MetosFate
UNIт
 
Сообщения: 76
Зарегистрирован: 05 янв 2010, 21:14
Откуда: Нижний Новгород

Re: Не удаётся загрузить префаб(РЕШЕНО)

Сообщение MetosFate 26 апр 2010, 16:13

Для того, чтобы загрузить ассет из корневой папки я должен был использовать Resources.LoadAssetAtPath, теперь я понял для чего они все нужны. UnloadUnusedAssets - освобождает память от неиспользуемых объектов;
LoadAll - позволяет загрузить сразу все объекты из папки Resources. :-B
Добавить masterofself в Skype
Стена это таже ступенька, просто надо вырасти, чтобы это увидеть...
Аватара пользователя
MetosFate
UNIт
 
Сообщения: 76
Зарегистрирован: 05 янв 2010, 21:14
Откуда: Нижний Новгород

Re: Не удаётся загрузить префаб(РЕШЕНО)

Сообщение Neodrop 26 апр 2010, 16:23

Resources.LoadAssetAtPath не для рантайма. Это будет работать только в Редакторе [unity 3D]
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Не удаётся загрузить префаб(РЕШЕНО)

Сообщение MetosFate 26 апр 2010, 21:13

Да, в редакторе, не подходит, странно что с ней запустилось... Есть ещё AssetDatabase.LoadAssetAtPath из специального для редактора класса AssetDatabase. Разница получается в том, что Resource.LoadAssetAtPath даёт быстрый доступ к конкретному ассету, а его тёска из AssetDatabase... ...кажется делает тоже самое... :-?
Добавить masterofself в Skype
Стена это таже ступенька, просто надо вырасти, чтобы это увидеть...
Аватара пользователя
MetosFate
UNIт
 
Сообщения: 76
Зарегистрирован: 05 янв 2010, 21:14
Откуда: Нижний Новгород

Re: Не удаётся загрузить префаб(РЕШЕНО)

Сообщение Neodrop 26 апр 2010, 21:18

И оба для Редактора only
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12