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

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

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

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


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


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

Комментарии

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

Привет миру из Unreal Engine 4 на C++. Часть 1.

Почему С++, а не Blueprint? Просмотрел и прочитал много статей про программирование на блупринтах, чтобы выяснить их место в создании игр на движке Unreal Engine 4 и в чем их преимущество перед традиционным программирование на языке программирования С++. Как оказалось это не конкурирующие подходы, а дополняющие один другой, при том в продакшене используется большей частью С++. Сами разработчики движка из Epic для своих игр используют эти две составляющие на разных этапах разработки игры. Сначала на блупринтах геймдизайнеры создают прототип игры, затем передают его программистам, которые для продакшена переписывают игру уже на С++. А раз сами разработчики движка предпочитают выпускать игры на С++, а не на чистых блупринтах, то значит и другие должны поступать также. Само собой писать всё на С++ будет не правильно и нужно находить баланс между блупринтами и С++. Думаю это самый сложный момент, потому что по сути нет инструкций, когда надо использовать С++, а когда блупринты....

Привет миру из Unreal Engine 4 на C++. Часть 2.

В прошлой части был создан класс актера для представления в игровом мире шара и надписи, в него добавлены  компоненты коллизии и меша. В этой части к классу актера будет добавлены компонент с эффектом огня и компонент для вывода текста. Также будут реализован делегат и события, чтобы добавить интерактивности огненному шару. А для того, чтобы шар выглядел как металлический, ему будет назначен соответствующий материал. Все эти шаги будет проделаны на С++. Добавление компонента с эффектом огня  UParticleSystemComponent . Добавления этого компонента происходит подобно  UStaticMeshComponent . Запишу в конструктор моего объекта следующий код: // Create the fire particle system UParticleSystemComponent* FireParticles = CreateDefaultSubobject<UParticleSystemComponent>(TEXT("FireParticles")); FireParticles->SetupAttachment(SphereVisual); FireParticles->bAutoActivate = true; // Assign fire particle system to component ConstructorHelpers::FObjectFinder<UPartic...