Actors в Unreal Engine программирование на C++

By | November 17, 2015

Actors – Это элемент который можно разместить на уровне. Являясь основным классом предметов, он поддерживает различные преобразования, такие как:перемещение, масштабирование и вращение. AActor является базовым классом который можно создать как через блюпринты и программный код, так и и уничтожить таким же способом.

Есть несколько видов актёров, включающие в себя StaticMeshActor, CameraActor, и PlayerStartActor.

Actors не хранит в  корневом элементе метод и своиства трансформации, такие как:  (местоположение, вращение и масштабирование).

 Создание Actor

Создание нового экземляра Actor происходит методом наследования вызова spawning

AActor* UWorld::SpawnActor
(
    UClass*         Class,
    FName           InName,
    FVector const*  Location,
    FRotator const* Rotation,
    AActor*         Template,
    bool            bNoCollisionFail,
    bool            bRemoteOwned,
    AActor*         Owner,
    APawn*          Instigator,
    bool            bNoFail,
    ULevel*         OverrideLevel,
    bool            bDeferConstruction
)

 

Components(Компоненты)

Actor можно рассматривать как объект содержащий в себе вызова различных компонентов. Различные типы компонентов можно использовать для передвижения и манипуляции объектом. Основной функцией компонентов является репликация и сетевой вызов во время игры.

Некоторые из ключевых компонентов:

UActorComponent – базовый компонент. Его можно вызвать в методе Tick

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

UPrimitiveComponent – Этот компонент предназначен больше для взаимодейтсвия с другими объектами. большинство физики и взаимодействия создаётся здесь.

Actor поддерживает иерархию в SceneComponents. Каждый компонент поддерживате корневой элемент который является в своём роде основным компонентом. Актёры сами по себе не могут быть преобразованными и не могут изменить свой вес, местоположение или повернуться. Для этого этим управляют через компоненты, если быть точнее из корневого компонента. Этим компонентом является SceneComponent.

Пример иерархии может выглядеть так:

GoldPickupExampleActor

  • Root – SceneComponent: Базовый компонент в котором установлена местоположение объекта
    • StaticMeshComponent – сетка представляющая золотую руду
      • ParticleSystemComponent игристый излучатель исходящий из золотой руды
      • AudioComponent – цикл мелодий звона металлического звучания
      • BoxComponent – окно коллизии использующее для сбора золотопри определённом событии.

Ticking (циклически повторяющееся событие)

Ticking – это событие которое повторяется каждый кадр и необходимое для проведения расчётов по отношению к объекту для изменения действия.

Все актёры имеют возможность вызывать TickActor()

ActorComponents имеют возможность обновления по умолчанию

Lifecycle (жизненный цикл)

Смотреть здесь:

Replication (Репликация)

Репликация необходима для поддержки сети, например при сетевом взаимодействии клиентов в многопользовательской игре.

 

Ссылка на оригинал статьи docs.unrealengine.com

 

Category: Uncategorized