Войти
Unreal EngineФорумBlueprints

UDK4 blueprints нужна помощь

Страницы: 1 2 3 Следующая »
#0
16:28, 21 дек. 2019

Сразу к делу
создаю компонент актора, устанавливаю значение в max slots(10), но в самом компоненте при событии beginplay значение дефолтное(5)

111 | UDK4 blueprints нужна помощь

верcия udk 4.23.1

Кто знает как получить значение которое устанавливаю при создании, не прибегая к костылям с лейтинитом?


#1
16:49, 21 дек. 2019

Разгадка простая оказалась
установка значения идет после бегинплея, без костылей не порешать)

#2
22:28, 21 дек. 2019

UDK?

#3
22:31, 21 дек. 2019

Mephistopheles
> без костылей не порешать)
SpawnActorDeferred - не костыль.

#4
12:30, 22 дек. 2019

@!!ex
> SpawnActorDeferred - не костыль.
Насколько я понял это сишная функа и в блюпринтах ее нету, да и  она спавнит актора, а мне нужно компонент к актору прицепить, предварительно создав этот компонент.

#5
(Правка: 12:36) 12:35, 22 дек. 2019

Mephistopheles
> сишная функа
Кто в здравом уме делает проекты blueprint only?
Не хочешь сам проект таскать с сишкой - сделай плагин с нужными функциями и один раз его скомпили.
в blueprint only проектах регулярно будешь натыкаться на ограничения.

Mephistopheles
> мне нужно компонент к актору прицепить, предварительно создав этот компонент.
Если актор еще не делал BeginPlay то в компонентах не вызовется BeginPlay при создании.
Как ты вообще компонент создаешь? По идее у него BeginPlay не вызывается, пока в акторе не зарегистрируешь компонент.
Плюс динамическое создание компонентов звучит как не очень хорошая идея, но тут надо контекст знать, чтобы вывод сделать.

#6
(Правка: 13:04) 13:03, 22 дек. 2019

@!!ex
> Кто в здравом уме делает проекты blueprint only?
А кто сказал что я в здравом уме?) На самом деле проект легко на блюпринты натягивается, там ничего нету такого что потребовало бы допиливать в сорцах.
С++ я не люблю и без реальной необходимости туда залезать не хочу.

@!!ex
> в blueprint only проектах регулярно будешь натыкаться на ограничения.
Ну это первое на что я наткнулся и то обходится тупо лейтинитом, но мне не нравится такой подход


@!!ex
> Как ты вообще компонент создаешь? По идее у него BeginPlay не вызывается, пока
> в акторе не зарегистрируешь компонент.
Функция Add Bp Inventory, она создает и регистрирует в акторе компонент. Это функция идет из коробки и добавляет компоненты в акторов
Изображение
Она просто называется по имени компонента который добавляет.

@!!ex
> Плюс динамическое создание компонентов звучит как не очень хорошая идея, но тут
> надо контекст знать, чтобы вывод сделать.
Конечно можно обойтись и без этого, привычка в "конструктор" передавать данные чтобы создание и инициализация была одним действием.

#7
13:06, 22 дек. 2019

Mephistopheles
> Это функция идет из коробки и добавляет компоненты в акторов
Чёт первый раз слышу про эту функцию.
Она точно не из какого-то плагина?

#8
(Правка: 13:17) 13:13, 22 дек. 2019

@!!ex
> Чёт первый раз слышу про эту функцию.
> Она точно не из какого-то плагина?
точно, у меня голый анрил без каких либо сторонних плагинов, только то что идет из коробки
Изображение
введи в поиске add и твой префикс для компонент
Изображение
это работает только из акторов, что в общем то логично:)

#9
(Правка: 15:54) 14:52, 22 дек. 2019

Mephistopheles
Нет такого. Ты что-то кастомное используешь. Какой-то аддон на инвентарь. Это понятно даже по названию метода - не в стиле UE кода.

#10
(Правка: 17:03) 16:58, 22 дек. 2019

@!!ex
> Какой-то аддон на инвентарь. Это понятно даже по названию метода - не в стиле
> UE кода.
Обычный компонент который я сам сделал


#11
17:01, 22 дек. 2019

Всё, спасибо. Метод то Add а дальше название твоего компонента.

#12
(Правка: 17:19) 17:18, 22 дек. 2019

@!!ex
> Метод то Add а дальше название твоего компонента.
да я так и сказал ранее:)
Mephistopheles
> Она просто называется по имени компонента который добавляет.

Спасибо что уделил время моему вопросу:)

#13
18:35, 22 дек. 2019

Mephistopheles
Да, извини, протупил.

#14
19:50, 22 дек. 2019

По идее надо выставить bManualAttachment у AddComponent функции, тогда компонент сам не приаттачится, а значит BeginPlay не вызовется. После этого настраивем компонент и аттачим, тогда уже вызовется BeginPlay:
https://docs.unrealengine.com/en-US/API/Runtime/Engine/GameFramew… nt/index.html

Страницы: 1 2 3 Следующая »
Unreal EngineФорумBlueprints