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.
Пример иерархии может выглядеть так:
- Root – SceneComponent: Базовый компонент в котором установлена местоположение объекта
- StaticMeshComponent – сетка представляющая золотую руду
- ParticleSystemComponent игристый излучатель исходящий из золотой руды
- AudioComponent – цикл мелодий звона металлического звучания
- BoxComponent – окно коллизии использующее для сбора золотопри определённом событии.
- StaticMeshComponent – сетка представляющая золотую руду
Ticking (циклически повторяющееся событие)
Ticking – это событие которое повторяется каждый кадр и необходимое для проведения расчётов по отношению к объекту для изменения действия.
Все актёры имеют возможность вызывать TickActor()
ActorComponents имеют возможность обновления по умолчанию
Lifecycle (жизненный цикл)
Смотреть здесь:
Replication (Репликация)
Репликация необходима для поддержки сети, например при сетевом взаимодействии клиентов в многопользовательской игре.
Ссылка на оригинал статьи docs.unrealengine.com