Вытянуть из Asset Bundle нужный объект(Mesh) [РЕШЕНО]

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

Вытянуть из Asset Bundle нужный объект(Mesh) [РЕШЕНО]

Сообщение Nolex 16 окт 2011, 21:47

Скачиваю Бандль, потом такой код:

Синтаксис:
Используется csharp
                               
UnityEngine.Object[] objs = myBundle.LoadAll();
                               
for (int i=0; i < objs.Length; i++) {
Debug.Log(objs[i]); //Смотрим содержимое бандля, и убеждаемся что там присутствует наш d1part1 (UnityEngine.Mesh)
}

        Debug.Log((Mesh)myBundle.Load("d1part1", typeof(Mesh)));  // ВЫВОДИТ NULL
 


В комментариях все расписано. Я не могу вытянуть нужный меш(d1part1) из бандля, хотя он там есть.
У вас нет доступа для просмотра вложений в этом сообщении.
Последний раз редактировалось Nolex 16 окт 2011, 23:03, всего редактировалось 1 раз.
Разработка игр в студии Brinemedia .
Аватара пользователя
Nolex
UNIверсал
 
Сообщения: 483
Зарегистрирован: 17 окт 2010, 12:26
Откуда: Украина
Skype: exlumen
  • Сайт
  • ICQ

Re: Вытянуть из Asset Bundle нужный объект(в моем случае Mesh)

Сообщение Nolex 16 окт 2011, 23:02

Разобрался вообщем, точнее нашел альтернативное решение.
Load не хочет работать с типом Mesh:

print((Mesh)bbb.Load("имя", typeof(Mesh))); // NULL
print((Texture2D)bbb.Load("имя", typeof(Texture2D))); // УСПЕХ

Вот альтернативный вариант:

Синтаксис:
Используется csharp
    UnityEngine.Object[] objs = myBundle.LoadAll();
    for (int i=0; i < objs.Length; i++) {
     if (objs[i].name == "d1part1") testmesh = (Mesh)objs[i];
    }
 
Разработка игр в студии Brinemedia .
Аватара пользователя
Nolex
UNIверсал
 
Сообщения: 483
Зарегистрирован: 17 окт 2010, 12:26
Откуда: Украина
Skype: exlumen
  • Сайт
  • ICQ


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

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

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