Полезное

Мы Вконтакте

Discord канал

#
Модератор: icms
Аватара пользователя
Пользователь
Сообщения: 8
Здравствуйте. У меня вопросы по функции AttachToActor. При использовании данной функции у меня у присоединённых Actor Bluprient исчезает материал и коллизия. Проблему с исчезновением материала я решил с помощью использования SetMaterial уже после AttachToActor. А как решить проблему с исчезновением коллизии? Есть ли функция, которую также нужно вызывать после Attach, или здесь требуется что-то другое?
Уточняю задачу: у меня есть транспортное средство (предположительно космический корабль), собираемое из блоков, которые с помощью функции AttachToActor присоединяются к кабине корабля (Pawn с камерой). У самого Pawn коллизия есть, он не проходит сквозь стены, а у присоединённых Actor коллизия исчезает (хотя у них в характеристиках стоит значение коллизии BlockAllDinamyc) и получается, что фактически корабль сталкивается с объектом только тогда, когда его большая часть уже давно погрузилась в стену и с ней уже столкнулась непосредственно коллизия кабины, то есть они не останавливают движение кабины.
Мне кажется, что задача должна иметь какое-то простое решение, ведь она похожа на ситуацию, когда предмет в руке не должен проходить сквозь стену. Как решается такая задача? Или моя ситуация не похожа на "руку с предметом"? В других темах про коллизию и предмет в руке предлагали создавать дополнительную коллизию, которая будет закрывать предмет в руке, но с помощью какой функции можно добавить ещё один компонент во время игры?
Если кто знает, как решить этот вопрос, то пожалуйста подскажите.
Аватара пользователя
Пользователь
Сообщения: 43
у Actor есть свойство - setActorEnableCollision, так же можно добавить какой либо компонент с коллизией (в т.ч динамически), sphere, box и тд. и у этих компонентов на событие onBeginOverlap можно проверять с кем сталкивается
Аватара пользователя
Пользователь
Сообщения: 8
Пробовал SetActorEnableCollision. Коллизию не восстанавливает. Мне на данный момент нужно, что бы actor, который был присоединён, имел возможность создавать Event Hit. Если я размещу присоединяемый actor на уровне, то он может создавать данное событие (в качестве проверки прикрепил к этому событию PrintString), но после присоединения он уже ни с чем не реагирует.
Я просто думал, что если удастся после присоединения actor включить у него hit, то можно будет у parent actor через cast и Custom Event запустить его реакцию на столкновение (там для parent нужна переменная Hit Normal - её можно как раз взять из event hit у присоединённого actor).


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница