UnrealEngine 4

UnrealEngine 5 Subsystem

Unreal Engine에서 Subsystem은 엔진의 기능을 확장하고 유연성을 제공하는 중요한 요소입니다. 이번 글에서는 Subsystem의 개념과 사용 방법에 대해 알아보겠습니다. Subsystem이란? Subsystem은 Unreal Engine에서 엔진의 기능을 모듈화하고 확장하기 위한 개념입니다. 각 Subsystem은 특정 기능을 담당하며, 이를 통해 사용자가 엔진 클래스를 수정하거나 오버라이드하지 않고도 기능을 확장할 수 있습니다. 사전적 의미 시스템을 구성하는 요소의 하나로, 그 자체로도 시스템을 형상하고 있는 것 시스템이 커지면 내부를 다시 작은 시스템으로 나누어 생각하도록 하여, 설계나 관리에도 용이할 수 있도록 하는 개념 Subsystem의 구조 Subsystem은 C++ 클래스로 구..

UnrealEngine 2023.08.12

GameplayTag

FGameplayTag GameplayTagManager에 등록되어 있는 계층 구조를 가지는 이름 오브젝트의 상태를 분류하고 설명하는데 유용하게 사용되는 구조체 오브젝트가 어떤 태그를 들고 있는지, 없는지에 따라 현재 상태를 나타낼 수 있음. (ex. stun) 기존에는 캐릭터의 상태를 bool이나 enum으로 처리하던 것을 GameplayTags로 대체할 수 있고, 이로 인해 객체에 특정 GameplayTags가 있는지 여부를 확인하며 논리 구조를 세울 수 있습니다. 오브젝트에 태그를 부여할 때는 GAS와 상호작용을 할 수 있도록 AbilitySystemComponent에 부여하는 것이 일반적입니다. UAbilitySystemComponent는 IGameplayTagAssetInterface를 구현하여..

UnrealEngine 2023.02.06

GameAbilitySystem 기본

GameAbilitySystem 이란? 에픽 게임즈에서 사용하는 게임 개발 프레임워크 Ability(능력)와 Attribute(속성)를 통해 구축할 수 있는 높은 유연성을 가진 프레임워크 게임 내에서 액션과 패시브 능력을 캐릭터를 통해 사용할 수 있습니다. 이러한 능력들을 사용할 때 cooldown이라는 타이머 또는 재료 소모를 구현할 수 있습니다. 여기서 재료란 대체로 Mana, Stamina와 같은 것들을 의미합니다. Ability는 Level의 개념이 존재하여 각 레벨 별로 효과를 달리할 수도 있습니다. 왜 GAS를 사용해야 하는가? 쉽게 확장할 수 있으며, 리플리케이션이 지원 됩니다. 다양한 스킬과 클래스를 가지는 멀티 플레이 RPG에서 유요합니다. 많은 것들이 이미 구현되어 있기 때문에 게임 개..

UnrealEngine 2023.01.01

Actor 개념 정리

액터 : 월드를 꾸며주는 모든 컴포넌트 또는 리플리케이션의 단위 그러므로 액터의 직렬화를 통해서 네트워크 데이터 동기화도 가능 언리얼 엔진은 모든 단위를 액터로 통제한다. 리플리케이션(Replication) : 네트워크 게임에서 서로 동기화하는 작업 월드(레벨) : 게임에서의 맵을 표현하는 언리얼엔진의 단위 스폰 : 월드에 액터를 실시간으로 추가하는 행위 / 월드 상에 액터 클래스를 전달받아서 액터 클래스에 맞는 새로운 오브젝트를 만드는 행위 액터 내부에느 액터의 이동 방법, 렌더링 방법 등을 제어하는 데 사용할 수 있는 ActorComponents Collections가 포함되어 있음. 언리얼에서 컴포넌트의 개념 액터는 기능별로 존재하진 않음. ex. 포인트라이트 액터에는 포인트라이트 컴포넌트만 들어가..

UnrealEngine 2022.12.18