Полезное

Мы Вконтакте

Discord канал

#
Аватара пользователя
Пользователь
Сообщения: 46
Здравствуйте. Недавно я скачал android игру "Blocky Cars Online". Меня эта игра заинтересовала своим строительным редактором, который я хотел бы повторить (и возможно улучшить). В этом редакторе есть возможность строить автомобили из различных блоков и после сражаться на них. Во время боя разрушение машины происходит также по одному блоку (у каждого блока получается есть своя переменная, отвечающая за его прочность, и если это активный блок (колёса, орудия, турбины и тому подобное) своя логика, описывающая его поведение, его анимации.).
Вопрос как это организовать?
Как я понимаю, каждая машина/самолёт/корабль/звездолёт это Pawn. Каждый блок - это отдельный компонент. Из этого следующие вопросы:
1) Как добавить в Pawn не только компонент, но и логику (переменные, анимации... Всё отдельно для каждого компонента). Я думал редактировать само транспортное средство с помощью другого Pawn, состоящего только из камеры и перемещающегося вокруг объекта. Из активного курсора мыши получается нужно создавать line trace и от места где он столкнулся с компонентами редактируемого объекта высчитывать координаты добавляемого компонента. Но ещё раз вопрос: как добавить компонент со своей логикой (то есть переменные, какие-то события, с последующими действиями (для каждого вида компонентов логика, получается одинаковая))?
2) Как сделать проверку на наличие объектов, препятствующих размещению этого компонента? Получается у каждого компонента должна быть своя коллизия, но как проверить при установке есть ли коллизии мешающие создать в этом месте данный компонент?
3) Предположим пушка создала снаряд, который столкнулся с каким-то компонентом Pawn. Как после этого сообщить данному компоненту, что произошло столкновение и в зависимости от типа снаряда нужно отнять фиксированное значение от переменной, описывающей количество единиц прочности конкретно этого компонента (и следовательно возвращаясь к первому вопросу - как добавить к каждому компоненту свою логику, чтобы после каждого столкновения (наверное здесь нужен будет интерфейс?), он проверял: изменившееся значение переменной прочности <= 0 или нет (если меньше - компонент разрушается))?
Вроде бы описал все вопросы. Если есть идеи, как решить данную задачу, подскажите пожалуйста.
P.S Желательно для меня найти решение с помощью логики Bluprient, а не с помощью написания кода на других языках программирования.
P.P.S Игра делается на ноутбук с Windows, а не на anroid устройство (пока с android приложениями не работал). Версия Unreal Engine 4.14.3


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

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