
언리얼엔진4 게임플레이 파이프라인
2021. 3. 1. 18:15
DevLog/Unreal Engine
게임플레이 파이프라인 여기서 보여드리는 방법은 크게 두 가지, 에디터 방법과 독립형 방법입니다. 일반적인 이벤트 순서는, 엔진을 초기화시키고, GameInstance를 생성 및 초기화한 뒤, 레벨을 로드하고, 마지막으로 플레이를 시작합니다. 하지만 독립형 모드와 에디터 모드 사이의 차이점이 있는데, 일부 함수가 호출되는 정확한 순서와, 어떤 함수가 호출되는지가 다릅니다. 아래 플로우 차트는 두 방법으로 병렬 실행했을 때 게임 시작 전 수렴할 때까지의 흐름을 보여줍니다. 독립형(StandAlone) 독립형 모드는, 에디터 외부에서 플레이하는 게임 모드로, 시작시 엔진 초기화에 이어 바로 게임 플레이에 필요한 오브젝트가 생성 및 초기화됩니다. GameInstance와 같은 오브젝트는 (Engine 생성 및 ..

UE4 UMG, HUD, Slate
2021. 2. 21. 15:24
DevLog/Unreal Engine
UE4에서의 UI를 구성하기 위한 프레임워크 UMG(Unreal Motion Graphic) HUD(Head Up Display) Sloat Framework UI(User Inteface)란? 유저 인터페이스는 메뉴와 상호작용형 요소를 말합니다. 이러한 요소는 보통 HUD와 매우 흡사하게 화면상에서 그려지지만, 특정 상황에서는 월드의 표면위에 랜더링되는 게임 월드 자체의 일부가 되기도 합니다. UI의 가장 명확한 예는 게임 시작시 표시되는 메인 메뉴나, 플레이어가 게임을 일시정지시킬 때 뜨는 메뉴입니다. 그 외에도 플레이 도중 다른 UI가 표시 될 수도 있습니다. 이를 통해 게임 내 캐릭터간의 대화를 표시할 수도 있고, RTS나 RPG처럼 좀 더 복잡한 상황에서는 플레이어의 무기, 갑옷, 빌드할 유닛 ..
UE4 인터페이스(Interface)
2021. 1. 23. 14:11
DevLog/Unreal Engine
UE4 인터페이스(Interface)란? 인터페이스 클래스는 (잠재적으로) 무관한 클래스 세트가 공통의 함수 세트를 구현할 수 있도록 하는 데 쓰입니다. 그대로라면 유사성이 없었을 크고 복잡한 클래스들에 어떤 게임 함수 기능을 공유시키고자 하는 경우 매우 좋습니다. 예를 들어 트리거 볼륨에 들어서면 함정이 발동되거나, 적에게 경보가 울리거나, 플레이어에게 점수를 주는 시스템을 가진 가게임이 있다 칩시다. 함정, 적, 점수에서 ReactToTirgger(트리거에 반응) 함수를 구현하면 될 것입니다. 하지만 함정은 AActor에서 파생될 수도, 적은 특수 APawn 또는 ACharacter 서브클래스일 수도, 점수는 UDataAsset 일 수도 있습니다. 이 모든 클래스에 공유 함수 기능이 필요하지만, UO..

UE4 C++ FORCEINLINE을 활용한 Enum 클래스 디버깅
2021. 1. 18. 23:08
DevLog/Unreal Engine
Enum Class란? (사용자정의 열거형) 열거형은 정수형 상수를 사람이 알아보기 쉬운 형태로 만들어줍니다. 이러한 열거형은 코드 내부에서만 사용이 가능하고, 언리얼 에디터의 디테일 패널이나, 블루프린트에서 사용이 불가능하다는 문제가 있습니다. 이 문제는 언리얼 전용 열거형을 만들어주시면 해결할 수 있습니다. UEnum 레퍼런스 코드 UENUM(BlueprintType) enum class EViewMode : uint8 { ThirdPerson UMETA(DisplayName = "ThirdPerson"), FirstPerson UMETA(DisplayName = "FirstPerson") }; 위 열거형은 ViewMode를 의미하는 예제 열거형이며 3인칭과 1인칭 타입이 존재합니다. DisplayN..

UE4 컨트롤러 입력이 안먹는경우(미세먼지 팁)
2021. 1. 10. 21:09
DevLog/Unreal Engine
UE4 컨트롤러 입력이 안먹는경우 Player Controller 클래스에서 Tick Event 활성화 여부 확인해볼 것 Tick Event 비활성화시 컨트롤러 입력 불가