В level блюпринте спавню character на transform от статик мэша без коллизии, расположенного на уровне, после чего пытаюсь запустить в нем behavior tree. Пытаюсь несколькими способами, в частности:
1. через вызов специального custom ивента, который заранее прописан в блюпринте чарактера.
Код спавна и вызова ивента:
Код ивента:
2. через приведение к контроллеру и вызова behavior tree из него (каст всегда выдает fail, хотя выполнен правильно и при его выполнении в блюпринте персонажа выдает true. При подключении к пину cast failed ноды run behavior tree ничего также не происходит, а после выхода из игры появляется ошибка (см.снизу)).
Код приведения:
Ошибка:
Помимо этих способов в самом контроллере прописана логика запуска behavior tree на event begin play.
Также пробовал логику с запуском по set timer by event и на event tick.
Так или иначе, behavior tree не запускается ни одним из методов.
у АИ своя нода спавна
https://docs.unrealengine.com/4.26/en-US/BlueprintAPI/AI/SpawnAIFromClass/
TommYMoonlight
перед вызовом RunBehaviorTree вызывай UseBlackboard
edit: но это только внутри AI контроллера можно
begin play -> use blackboard -> run behavior tree
Oleg Linkov
У меня работает AI если его просто добавить в левел, причём без запуска блэкборда. Не работает только тот AI, который спавниться по триггеру. Думаю проблема не в блэкборде, а в том, что behavior tree запускается в начале игры, а AI спавниться позже.
ну если у тебя других вариантов нет, то возьми и попробуй, чего тебе терять то? а если заработает то будешь бонусом разбираться почему да как :)
TommYMoonlight
Тебе Sn_a_ke ответ написал.
TommYMoonlight
> спавню character...
> Так или иначе, behavior tree не запускается ни одним из методов.
ну вроде как тут уже написали. контроллер надо тоже спавнить вроде бы.
Спасибо всем за помощь, проблема решена благодаря совету Sn_a_ke.
Тема в архиве.