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

Вариант взаимодействия( кнопки двери лифты и тд)
http://uengine.ru/forum/viewtopic.php?f=17&t=2569
Страница 1 из 1

Автор:  Miha15z [ 10 мар 2016, 12:37 ]
Заголовок сообщения:  Вариант взаимодействия( кнопки двери лифты и тд)

Есть достаточно большое количество способов организовать взаимодействие между персонажем и окружающими его объектами. Предлагаю посмотреть один из вариантов.

Суть метода такова:

В классе персонажа создается Event Dispatcher. Закрепляем его вызов к примеру за клавишей "Q".
Изображение


Во все классы с которым будет происходить взаимодействие добавляем Box Collision и настраиваем его на overlap event. Event Graph на OnComponentBeginOverlap(Box Collision) делаем каст на нашего персонажа и биндим события на Event Dispatcher , которые мы хотим что бы выполнялись по нажатию клавиши "Q".

Изображение

На OnComponentEndOverlap(Box Collision) также делаем каст на нашего персонажа, и снимаем все бинды( ну или ток те что закрепили тут) с Event Dispatcher.

Изображение

Все готово.

Можно сделать отдельный класс так и наследовать от него все объекты, в которых будет взаимодействие, но настраивать думаю придется box для каждого, да и события могут отличаться, которые будем биндить.

Автор:  Flakky [ 10 мар 2016, 14:25 ]
Заголовок сообщения: 

Если честно, не ахти способ.. Более того, он не очень удобный.
Все таки Интерфейсы для этого лучше подходят, так как для этого и созданы.

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