Size: a a a

2020 August 22

$

$ BЛADIK $ in Unreal Engine
источник

AD

Aleksei DTG in Unreal Engine
во-вторых, в свойствах павна надо убедиться, что AutoPossess AI - Spawned/Placed in World or Spawned
источник

AD

Aleksei DTG in Unreal Engine
вот уже выше скриншот прикладывают, при условии, конечно, что руками не поззессите
источник

IK

Ivan Kurulyuk in Unreal Engine
Aleksei DTG
во-вторых, в свойствах павна надо убедиться, что AutoPossess AI - Spawned/Placed in World or Spawned
Это сделано.
источник

AD

Aleksei DTG in Unreal Engine
понял, но у вас как минимум Enemy = nullptr на BeginPlay
источник

IK

Ivan Kurulyuk in Unreal Engine
Так, то есть каст надо перевесить, это понял. Но на какое событие в таком случае, чтобы каждый раз при появлении врага оно срабатывало?
источник

IK

Ivan Kurulyuk in Unreal Engine
моя логика была такая, что для АИконтроллера событие BeginPlay наступает, когда он собственно начинает работу, то есть появляется подконтрольный ему павн
источник

AD

Aleksei DTG in Unreal Engine
логика в целом верная, жаль, что бездушная машина её не разделяет, ибо в терминах движка BeginPlay контроллера != появление подконтрольного павна :)
источник

IN

Igor Nikolaev in Unreal Engine
Привет. Возможно есть тут, кто работал с GameplayAbilitySystem. Ситуация следующая: хочу запустить пассивную абилку, которая бы запускала асинхронный таск на все время работы игры. Столкнулся с проблемой, при которой я не знаю точного места где я мог бы вызвать свою пассивную абилку, т.к. нет четкой последовательности между инициализации GAS компонента и регистрацией абилок в этот самый компонент. Как решение, на данный момент я добился вызова абилки только на стороне сервера, с помощью OnAvatarSet(...), однако не удается вызвать абилку на стороне клиента, т.к OnAvatarSet вызывается раньше чем GAS компонент успеет проинициализироваться. Так же можно просто поставить задержку сразу после BeginPlay, но чет мне кажется это неудачный вариант. Есть ли те, кто сталкивался с подобной проблемы и может подсказать решение.
источник

СВ

Сэр Гусь Важный... in Unreal Engine
Igor Nikolaev
Привет. Возможно есть тут, кто работал с GameplayAbilitySystem. Ситуация следующая: хочу запустить пассивную абилку, которая бы запускала асинхронный таск на все время работы игры. Столкнулся с проблемой, при которой я не знаю точного места где я мог бы вызвать свою пассивную абилку, т.к. нет четкой последовательности между инициализации GAS компонента и регистрацией абилок в этот самый компонент. Как решение, на данный момент я добился вызова абилки только на стороне сервера, с помощью OnAvatarSet(...), однако не удается вызвать абилку на стороне клиента, т.к OnAvatarSet вызывается раньше чем GAS компонент успеет проинициализироваться. Так же можно просто поставить задержку сразу после BeginPlay, но чет мне кажется это неудачный вариант. Есть ли те, кто сталкивался с подобной проблемы и может подсказать решение.
что делает пассивная абилка?
источник

IN

Igor Nikolaev in Unreal Engine
Сэр Гусь Важный
что делает пассивная абилка?
Пассивная абилка запускает асинхронный таск, который проверяет угол между направлением движения карактера и текущим отклонением стика, и при определённых условиях запускает другую абилку.
источник

IK

Ivan Kurulyuk in Unreal Engine
Aleksei DTG
логика в целом верная, жаль, что бездушная машина её не разделяет, ибо в терминах движка BeginPlay контроллера != появление подконтрольного павна :)
Сделал себе кастом ивент, который делает именно ту логику, что я описал - всё заработало. Спасибо
источник

AD

Aleksei DTG in Unreal Engine
Ivan Kurulyuk
Сделал себе кастом ивент, который делает именно ту логику, что я описал - всё заработало. Спасибо
а что в ивенте, если не секрет? И откуда он вызывается? Потому что, как я сказал, логика-то у вас верная, просто не надо на BeginPlay вызывать ControlledPawn, для этого есть вполне себе конкретное событие
источник

IK

Ivan Kurulyuk in Unreal Engine
Aleksei DTG
а что в ивенте, если не секрет? И откуда он вызывается? Потому что, как я сказал, логика-то у вас верная, просто не надо на BeginPlay вызывать ControlledPawn, для этого есть вполне себе конкретное событие
источник

IK

Ivan Kurulyuk in Unreal Engine
Aleksei DTG
а что в ивенте, если не секрет? И откуда он вызывается? Потому что, как я сказал, логика-то у вас верная, просто не надо на BeginPlay вызывать ControlledPawn, для этого есть вполне себе конкретное событие
Отдельный актор для спавна противников, при коллизии с павном игрока спавнятся противники
источник

IT

Igor Trushkov in Unreal Engine
Ребят, кто-нибудь пытался научить ndi плагин пулять альфу?
источник

AD

Aleksei DTG in Unreal Engine
Ivan Kurulyuk
у вас так будет работать, да, но не нужно так делать, не нужно логику получения Pawn в контроллере вызывать из другого класса (по сути перекладывать ответственность за это на другой класс), просто используйте On Possess event в своём контроллере
источник

IK

Ivan Kurulyuk in Unreal Engine
Aleksei DTG
у вас так будет работать, да, но не нужно так делать, не нужно логику получения Pawn в контроллере вызывать из другого класса (по сути перекладывать ответственность за это на другой класс), просто используйте On Possess event в своём контроллере
И правда работает.
А если коротко, что делает этот эвент? Можно прям в двух словах, если не трудно
источник

AD

Aleksei DTG in Unreal Engine
Ivan Kurulyuk
И правда работает.
А если коротко, что делает этот эвент? Можно прям в двух словах, если не трудно
мне не трудно, но вы лучше посмотрите сами про Possess, чтобы лучше понимать взаимодействие контроллера и павна, просто так сами лучше поймёте суть
источник

AD

Aleksei DTG in Unreal Engine
источник