Unreal Engine 5
-
Chapter 10. UI
10.1 Head-Up Display 10.1-1 HUD - HUD 게임 플레이 동안에 플레이어에게 정보(HP, MP, Minimap, ...)를 보여주는 UI - 캐릭터 스탯 UI 새 C++ 클래스 > UserWidget 부모 클래스 > "SCharacterStatWidget" 새 UserInterface 애셋 > Widget Blueprint > SCharacterStatWidget 부모 클래스 > "WBP_CharacterStatWidget" 아래 그림과 같이 Hierachy 구성. [수정필요. Bind 후에 바로 Update를 한 번 해주는 코드가 없음.] // SCharacterStatWidget.h #pragma once #include "CoreMinimal.h" #include "Bluep..
2023.08.31
-
Chapter 09. Game Data
9.1 Game Data 9.1-1 GameInstance - 데이터를 관리할 클래스 게임에 사용될 데이터가 여러 클래스에 저장된다면? 각 클래스 간의 동기화 문제가 생김. A클래스에선 10이라 했는데, B클래스는 7. 따라서 게임 내에서 단 하나의 개체임이 보장되어야 함. 이를 싱글톤 패턴이라 함. 또한 언리얼 싱글톤 클래스는 엔진 초기화 때부터 게임 종료까지 살아남아 있음. 게임에 사용될 데이터도 동일한 라이프 사이클을 가지므로, 언리얼 싱글톤 클래스를 사용. 다만 싱글톤 클래스의 개체를 언리얼 오브젝트 클래스 생성자에서 사용하면 안됨. - 언리얼 엔진에서 제공하는 싱글톤 클래스 게임 인스턴스 애셋 매니저 게임 플레이 관련 액터(게임 모드, 게임 스테이트) 프로젝트에 싱글톤으로 등록한 언리얼 오브젝트..
2023.08.27
-
Chapter 08. AI
8.1 AIController 8.1-1 AIController 생성 - 언리얼 엔진의 폰은 조종당할 수 있게 설계된 액터를 의미함. 지금까지 폰은 플레이어 컨트롤러에 의해 수동적으로 조종당함. 비헤이비어 트리 모델을 사용해 인공지능을 설계하고, 플레이어가 아닌 인공지능이 NPC를 제어하도록 AIController를 활용해보고자 함. 폰은 플레이어 컨트롤러와 동일한 방식으로 AI 컨트롤러에 빙의됨. - NPC(Non-Player Character) 플레이어가 조종하지 않지만 레벨에 배치되어 스스로 행동하는 캐릭터를 NPC라고 함. - 실습 준비 사항 믹사모 > Characters > "Brute" 검색 후 다운로드 Animations > "Standing Idle" 검색 후 다운로드. Standing I..
2023.08.22
-
Chapter 07. Collision
7.1 Collision Setting 7.1-1 언리얼의 충돌 설정 - 언리얼 엔진에서의 충돌체 제작 방법 따라서 하나의 액터에는 아래 세 가지가 모두 들어갈수도 있음에 유의. 보통은 루트 컴포넌트로 설정되는 기본 도형 컴포넌트(캡슐, 박스, ...)에 대한 이야기임. 앞으로 나오는 "충돌체"라는 단어는 충돌을 담당하는 컴포넌트 혹은 그 영역을 의미함. 스태틱매시 컴포넌트 스태틱매시 애셋을 그대로 충돌체로 사용하는 방법. 스태틱매시를 더블클릭하면 열리는 스태틱매시 에디터에서 해당 충돌체 영역을 설정하고 확인할 수 있음. 스태틱매시 애셋에 콜리전을 심으면 스태틱매시 컴포넌트에서 비주얼과 충돌이라는 두 가지 기능을 설정할 수 있어서 관리가 간편해짐. 기본 도형(Primitive) 컴포넌트 구체, 박스, 캡..
2023.08.20
-
Chapter 06. Animation
6.1 Animation Instance 6.1-1 애니메이션 인스턴스 - 실습 준비 이전에 열심히 만든 시점 변환 관련 코드는 모두 지우고자 함. 시점은 고정한 상태로 앞으로의 실습을 진행. 시점 변환 코드가 쓸데없이 너무 많음. 필요한 시점이 있다면 앞서 배운 내용을 토대로 제작해보자. // SPlayerCharacter.h #pragma once #include "CoreMinimal.h" #include "GameFramework/Character.h" #include "InputActionValue.h" #include "SPlayerCharacter.generated.h" UCLASS() class STUDYPROJECT_API ASPlayerCharacter : public ACharacte..
2023.08.20