Создание префаба

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

Создание префаба

Сообщение Drakulla 30 сен 2010, 19:32

Подскажите пожалуйста как в функцию Instantiate() передать имя префаба, который я хочу создать. с описанных на форуме примеров не могу понять
GameObject prefab;
GameObject newobj = (GameObject)Instantiate(prefab, new Vector3(0,0,0), new Quaternion(0,0,0,0));
при попытке запуска Used unassigned local variable 'prefab'
Drakulla
UNец
 
Сообщения: 10
Зарегистрирован: 26 июн 2010, 18:21

Re: Создание префаба

Сообщение DbIMok 30 сен 2010, 19:55

чтобы создать prefab, нужно в окне Project щелкнуть Create - Prefab и перетянуть в него объект или группу объектов.
чтобы инстансировать какой либо объект, нужно его иметь (об этом говорит сообщение ошибки)
в вашем случае предполагается, что на поле prefab в инспекторе объекта, на котором висит этот скрипт будет перетянут какой либо prefab или игровой объект
рекомендую ознакомиться с http://docwiki.unity3d.com/uploads/Main ... torial.pdf
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Создание префаба

Сообщение Drakulla 30 сен 2010, 20:04

prefab создан и на нем есть обьект - импортированная модель, но мне нужно на С# создать обьект из этого префаба, так вот как в функцию Instintiate() передать префаб, который я хочу создать в сцене программно.
Drakulla
UNец
 
Сообщения: 10
Зарегистрирован: 26 июн 2010, 18:21

Re: Создание префаба

Сообщение Pyx 30 сен 2010, 20:06

Инстансировать префаб
Предварительно переменной prefab назначаем имеющийся префаб
Синтаксис:
Используется csharp
public GameObject prefab;
public GameObject newobj;
void Awake()
{
newobj=Instantiate(prefab, new Vector3(0, 0, 0), Quaternion.identity);
}
 

Создать префаб можно через EditorUtility.CreateEmptyPrefab,если вы об этом.
Pyx
 

Re: Создание префаба

Сообщение DbIMok 30 сен 2010, 20:38

Код: Выделить всё
GameObject instance = Instantiate(Resources.Load("enemy"));
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Создание префаба

Сообщение Drakulla 30 сен 2010, 21:01

GameObject instance = Instantiate(Resources.Load("enemy"));
Сработало. В этом случае префаб должен обязательно лежать в папке Resources?
Drakulla
UNец
 
Сообщения: 10
Зарегистрирован: 26 июн 2010, 18:21

Re: Создание префаба

Сообщение Fox Rex 01 окт 2010, 02:14

Да.
Never more!
Аватара пользователя
Fox Rex
UNITрон
 
Сообщения: 218
Зарегистрирован: 04 сен 2010, 11:24


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

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

Сейчас этот форум просматривают: Google [Bot] и гости: 7