Game Programming/Unreal Engine 4

Lyra와 모듈형 게임플레이

https://dev.epicgames.com/documentation/ko-kr/unreal-engine/game-features-and-modular-gameplay-in-unreal-engineGame Feature와 ExperienceLyra는 여러가지 모드가 존재하고, 이를 Experience라는 단위로 나누어 구분한다.이때, 필요없는 종속성과 인터랙션을 방지하기 위해 Game Feature로 여러 기능을 Plugin화 한 뒤, Experience를 로드할 때 필요한 Game Feature만 동적으로 추가하는 방식으로 작동한다.Experience는 ULyraExperienceDefinition라는 데이터 에셋으로 저장되어 이 Experience를 로드할 때 수행해야할 Action, 사용할 Def..

Lyra의 스킬 발동

Lyra는 GameplayAbilitySystem를 기반으로 스킬을 처리한다.Move, Look, Crouch, AutoRun은 별도의 C++ 구현을 두고, Dash, Heal, Grenade, Emote 등 다른 스킬은 모두 Gameplay Ability로 구현되어 있다.먼저, LyraHeroComponent에서 InputAction을 바인드 한다.void ULyraHeroComponent::InitializePlayerInput(UInputComponent* PlayerInputComponent){ ... UEnhancedInputLocalPlayerSubsystem* Subsystem = LP->GetSubsystem(); check(Subsystem); Subsystem->C..

Unreal Engine에서 기본 요소의 초기화 순서 (Host-Client)

각 요소를 초기화하고 의존성을 묶는 시작 지점에서 연결이 안되는 문제가 발생했다.그래서 GameMode, PlayerController, PlayerState, DefaultPawn, HUD 클래스의 초기화 순서에 대해 알아보기로 하였다.실험 방법TEST 클래스를 만든 뒤, 클래스를 상속 받는 BP를 만들고, GameMode에 적용했다.ATESTGameModeBase::ATESTGameModeBase() { NET_LOG(Log, TEXT("GameMode::Constructor")); }TEST 클래스는 NET_LOG 매크로를 구현해 로그를 출력했다.LogNetRole: [PIE0][Standalone][SID=-1] [Server] GameMode::Constructor[PIE0] : P..

UObject에 대해 알아보자

언리얼 엔진에서 C++ 클래스를 생성할 때, 기본이 되는 클래스를 선택할 수 있다. 새로 생성한 클래스는 선택한 클래스를 상속받는다.모든 클래스에서 언리얼 엔진의 모든 클래스의 부모 클래스인 UObject 클래스를 찾을 수 있다.여기서 든 의문점은 "클래스를 만들면 UObject를 상속받아야 하는가?"였다.일단 Object.h에서 UObject를 찾아보았다./*============================================================================= Object.h: Direct base class for all UE objects====================================================================..

반응형