목록언리얼 (35)
보키_기록용

Lyra 게임을 하다가 ESC를 누르면 나오는 이 화면. 이 화면은 어떻게 뜨는지 궁금했다. Enhanced Input을 하면서 ESC 바인딩은 나온적이 없어서 더 궁금했다. 일단 저 위젯의 이름은 W_LyraGameMenu. 위젯 리플렉터로 찾아냈다. LyraGameMenu의 레퍼런스 뷰어를 보면 마지막에 인게임 화면 위젯이 있다. (W_ShooterHUDLayout) 이 W_ShooterHUDLayout의 클래스 디폴트탭에 EscapeMenuClass라는 칸이 있다. 해당 칸에 W_LyraGameMenu가 있다. W_ShooterHUDLayout의 부모 클래스로 가보면 // LyraHUDLayout.h #pragma once #include "CoreMinimal.h" #include "Bluepri..
[UE4] Blueprint 프로젝트 C++ 프로젝트로 변환 (tistory.com) [UE4] Blueprint 프로젝트 C++ 프로젝트로 변환 상황 언리얼은 맨처음에 프로젝트를 생성할 때, 블루프린트 전용으로 사용할지, C++ 클래스 로 사용할지 선택하고 진행한다. C++ 용으로 프로젝트를 생성하면 아래와 같이 C++ Classes 라는 폴더가 pi-314.tistory.com

Lyra에서 Input Mapping Context 살펴보기 (1) Lyra에서 Input Mapping Context 살펴보기 (1) 시작하기에 앞서, 기본 클래스들을 만들어야 한다. Enghanced Input 시작하기를 참조. Input Mapping Context : 사용자 입력을 입력 작업에 매핑하며 각 사용자에 대해 동적으로 추가, 제거 또는 우선 순위 bokki0117.tistory.com Lyra에서 Input Mapping Context 살펴보기 (2) Lyra에서 Input Mapping Context 살펴보기 (2) 내용이 너무 길어져서 나눔. Lyra에서 Input Mapping Context 살펴보기 (1) 이전 글에서 PMI 방식 중 GameFeatureData를 사용하는 방식을..

내용이 너무 길어져서 나눔. Lyra에서 Input Mapping Context 살펴보기 (1) 이전 글에서 PMI 방식 중 GameFeatureData를 사용하는 방식을 설명한다. Enhanced Input System을 위한 Game Feature 추가하기 ShooterCore, TopDownArena (UGameFeatureData) : 사실상 방식은 같다. GameFeatureData[ShooterCore] 1. 아래 그림의 빨간줄부분에 들어갈 GameFeatureAction을 상속받은 GameFeatureAction_AddInputConfig를 만든다. GameFeatureAction_AddInputConfig.h //GameFeatureAction_AddInputConfig.h #pragma ..
ACharacter를 상속한 파생클래스의 BeginPlay에서 GetController()는 nullptr를 반환하고 GetPlayerController()는 제대로 반환되어서 둘의 차이를 알아보고자 한다. PlayerController가 Controller의 자식이지만, BeginPlay 시점에서 Controller가 캐릭터의 소유 상태가 아닐 수도 있다. (호출 시점에 따라 다르다.) 처음 게임 시작 시 PlayerContoller와 PlayerState 객체를 얻을때, 이 시점에서 캐릭터는 없지만 PlayerController가 UI를 처리하므로 로그인 위젯 등을 수행할 수 있다. 어느 시점에서 게임 모드가 캐릭터를 생성하고 BeginPlay를 실행하며, 다시 여기에 컨트롤러가 아직 설정되어 있지 ..

해당 방식은 Lyra 프로젝트를 참고했다. 1. 에디터 상단 편집 > 플러그인에서 추가버튼 클릭 2. 게임피처(콘텐츠 전용)으로 플러그인 생성 3. 콘텐츠 브라우저 > Plugins 폴더에 만든 게임피처플러그인 이름으로 콘텐츠가 생성되어있다. 콘텐츠 브라우저에 Plugins 폴더가 안보일 경우 4. 에디터 상단 편집 > 프로젝트 세팅 > 게임 > Game Features에 Game Feature Project Policy Class를 사진처럼 변경해준다.(기존은 None으로 되어있음) 5. 에디터에서 생성한 GameFeatureData를 설정한다. 이후 Enhanced Input 시스템과 연관된 글 C++에서 Enhanced Input System 사용하기 Lyra에서 Input Mapping Conte..

시작하기에 앞서, 기본 클래스들을 만들어야 한다. Enghanced Input 시작하기를 참조. Input Mapping Context : 사용자 입력을 입력 작업에 매핑하며 각 사용자에 대해 동적으로 추가, 제거 또는 우선 순위를 지정할 수 있다. 기존에는 그냥 간단하게 PlayerControllerBP에다 AddMappingContext를 했다. Lyra에서는 어떻게 적용하는지 살펴보려고 한다. Lyra는 기능 간의 종속성을 피하기 위해 GameFeature로 독립형 기능을 만들어서 사용한다. 이 GameFeature의 Actin에서 AddInputConfig를 정의해서 사용한다. 이것을 위해서 GameFeature플러그인을 추가해야한다. 아래 링크는 추가하는 법있는 공식문서 Game Features..