Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/55: Рейтинг темы: голосов - 55, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 30.05.2019
Сообщений: 7

Как создать объект из префаба с начальными параметрами?

09.10.2019, 17:46. Показов 11641. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер. Вопрос по Unity3D. При создании объекта (префаб) как проще сразу занести в скрипт некоторые поля, что-то наподобие конструктора с параметрами? По-хорошему это легко решается, если объекты сложены в пуле, но вопрос остается вопросом - можно ли сразу в Instantiate как-нибудь красиво передать параметры без перегрузки и заморочек?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.10.2019, 17:46
Ответы с готовыми решениями:

Как создать объект класса с двумя параметрами?
#include <iostream> using namespace std; class rational{ public: rational(int numerator = 0, int denominator =...

Как правильно создать объект Command при помощи мастера с параметрами
Здравствуйте. Делаю программу демонстрирующую объекты Command с использованием именованных параметров на примере простой авторизации. ...

Как создать элемент GUI на основе префаба?
Необходимо динамически создать N элементов интерфейса (в данном случае кнопок). Создаю префаб кнопки, вешаю его на скрип, НО как теперь...

4
399 / 308 / 104
Регистрация: 07.05.2017
Сообщений: 2,217
09.10.2019, 20:42
берешь и передаешь как обычно, присваивая его полям нужные значения. в чем проблема ?
можешь загнать его при создании в локальную переменную, задать параметры и обнулить ячейку локального Go

Добавлено через 4 минуты
а чем собственно конструкторы не подходят ?
0
250 / 186 / 68
Регистрация: 04.03.2019
Сообщений: 1,010
10.10.2019, 18:37
Nikita1302, в создаваемом обьекте скорее всего есть скрипт.
вот в нем и создайте метод Init() с параметрами.
а в нем уже присваивайте все что вам нужно.

второй вариант это напрямую обращаться к открытым полям обьекта.
1
296 / 259 / 107
Регистрация: 26.10.2012
Сообщений: 809
14.10.2019, 07:54
Например так
C#
1
2
3
4
5
6
7
8
9
10
11
12
class MyComponent : MonoBehaiviour
{
        private static GameObject _prefab;
        public static MyComponent Create(params object[] args)
        {
               var gameObject = Instantiate(_prefab ?? (_prefab = Resources.Load<GameObject>("prefabPath")));
               var myComp = gameObject.GetComponent<MyComponent>();
               myComp.par1 = args[0];
               // ...
               return myComp;
        }
}
1
0 / 0 / 0
Регистрация: 30.05.2019
Сообщений: 7
14.10.2019, 13:56  [ТС]
Вопрос был решен в самом начале, просто я неправильно понял ошибку. Я ссылался на сам префаб, а не объект, который создал с помощью префаба, а параметры в несуществующий объект занести невозможно. То есть я написал:
C#
1
2
Instantiate(prefab);
prefab.GetComponent<Component>().Property = Something; // Exception
Вместо
C#
1
2
GameObject obj = Instantiate(prefab);
obj.GetComponent<Component>().Property = Something;
Второй код работает успешно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.10.2019, 13:56
Помогаю со студенческими работами здесь

Созданный из префаба объект не движется (velocity)
Написала скрипт для создания пулек. Но почему-то работает некорректно. Пули создаются, стоят и уничтожаются, а вот лететь не хотят....

Ссылка на объект присутствующий в сцене из префаба
Персонаж перемещается по тайлам. На нем висит скрипт, который проверяет - в каком тайле находится персонаж и в какой собирается шагнуть....

Почему я не могу создать объект класса с параметрами, которые я считала из бинарного файла?
#include &lt;string&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &quot;windows.h&quot; #include &lt;fstream&gt; using namespace std; ...

Создать объект "Прямоугольник" с параметрами: длины сторон, цвет
Объект — прямоугольник с параметрами: длины сторон, цвет. Пусть методами будет а) порождение прямоугольника; б) изменение его...

Как создать объект оператором new, если имеется только тип указателя на объект, переданный через шаблон?
Есть шаблон. Точно известно, что его параметр Т это указатель. Как с помощью new создать переменную типа *T ? Код приведенный ниже дает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru