Unreal Engine 4
http://uengine.ru/forum/

AttachToActor
http://uengine.ru/forum/viewtopic.php?f=3&t=13853
Страница 1 из 1

Автор:  Alexander2002 [ 14 июн 2018, 14:29 ]
Заголовок сообщения:  AttachToActor

Здравствуйте. У меня вопросы по функции AttachToActor. При использовании данной функции у меня у присоединённых Actor Bluprient исчезает материал и коллизия. Проблему с исчезновением материала я решил с помощью использования SetMaterial уже после AttachToActor. А как решить проблему с исчезновением коллизии? Есть ли функция, которую также нужно вызывать после Attach, или здесь требуется что-то другое?
Уточняю задачу: у меня есть транспортное средство (предположительно космический корабль), собираемое из блоков, которые с помощью функции AttachToActor присоединяются к кабине корабля (Pawn с камерой). У самого Pawn коллизия есть, он не проходит сквозь стены, а у присоединённых Actor коллизия исчезает (хотя у них в характеристиках стоит значение коллизии BlockAllDinamyc) и получается, что фактически корабль сталкивается с объектом только тогда, когда его большая часть уже давно погрузилась в стену и с ней уже столкнулась непосредственно коллизия кабины, то есть они не останавливают движение кабины.
Мне кажется, что задача должна иметь какое-то простое решение, ведь она похожа на ситуацию, когда предмет в руке не должен проходить сквозь стену. Как решается такая задача? Или моя ситуация не похожа на "руку с предметом"? В других темах про коллизию и предмет в руке предлагали создавать дополнительную коллизию, которая будет закрывать предмет в руке, но с помощью какой функции можно добавить ещё один компонент во время игры?
Если кто знает, как решить этот вопрос, то пожалуйста подскажите.

Автор:  adinadin [ 18 июн 2018, 11:33 ]
Заголовок сообщения: 

у Actor есть свойство - setActorEnableCollision, так же можно добавить какой либо компонент с коллизией (в т.ч динамически), sphere, box и тд. и у этих компонентов на событие onBeginOverlap можно проверять с кем сталкивается

Автор:  Alexander2002 [ 18 июн 2018, 14:15 ]
Заголовок сообщения: 

Пробовал SetActorEnableCollision. Коллизию не восстанавливает. Мне на данный момент нужно, что бы actor, который был присоединён, имел возможность создавать Event Hit. Если я размещу присоединяемый actor на уровне, то он может создавать данное событие (в качестве проверки прикрепил к этому событию PrintString), но после присоединения он уже ни с чем не реагирует.
Я просто думал, что если удастся после присоединения actor включить у него hit, то можно будет у parent actor через cast и Custom Event запустить его реакцию на столкновение (там для parent нужна переменная Hit Normal - её можно как раз взять из event hit у присоединённого actor).

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/