К основному контенту

Blueprints и C++. Часть 3.

После того как в прошлых частях, с помощью языка программирования С++, был создан класс актера с задуманным внешним видом и функционалом, настала пора разобраться как его использовать в блупринтах Unreal Engine 4.

Создам класс блупринта, который будет расширять мой ранее созданный С++ класс. Назову его BrokenBP.


Так как я не добавлял никакие функции или свойства, через которые в блупритах можно было бы изменять объект, то доступ к настройкам закрыть. Зато в панели компонентов есть список всех добавленных в С++ компонентов. Они с пометкой (Inherited), что означает, что они были созданы в С++, а не добавлены через редактор в движке.


В целом лучше и быстрее будет создавать указатели на компоненты в классе С++, и назначать их в редакторе или блупринтах. Т.е. не искать меш по строке в конструкторе класса, а выбрать его вручную в редакторе из специального списка. Но весь проект был создан только на С++ для того чтобы научиться работать с игровым движком через код.

Комментарии

Популярные сообщения из этого блога

Создание делегата, который связан с UFUNCTION.

Делегаты позволяют нам вызывать функцию не знаю какая именно назначена функция. Они являются безопасной версией указателя на функцию. Здесь будет разобрано как ассоциировать UFUNCTION с делегатом, чтобы она вызывалась, когда он выполняется. Чтобы получился этот пример, необходимо использовать проект с классом TriggerVolume из прошлой статьи . Как это сделать... Внутри заголовочного файла  GameMode объявить делегат с помощью специального макроса, который нужно написать над  UCLASS() : DECLARE_DELEGATE(FStandardDelegateSignature) UCLASS() class EVENT_API AEventGameModeBase : public AGameModeBase Добавить новый член класса в GameMode : FStandardDelegateSignature MyStandardDelegate; Создать в редакторе движка новый класс Actor , назвав его  DelegateListener . И добавить в заголовочный файл нового класса следующие объявления: UFUNCTION() void EnableLight(); UPROPERTY() UPointLightComponent* PointLight; В конструктор класса, надо добавить код для создания ...