[UE/Implement] 미니 프로젝트 회고
·
Unrael/Implement
1. 개요오늘은 구현한 과제를큰 틀에서 시각적으로 살펴보고자 한다. 2. 전체 플로우전체 프로그램의 흐름을 간단히 요약해 보았다. 2.1 게임의 큰 줄기, 게임 스테이트(GameState)GameState는 레벨에 필요한 데이터를 담는 저장소로만 생각했었다. 마치 구조체처럼 데이터를 보관하고필요할 때 전역으로 접근하여 데이터를 가져가는 그러한 클래스로 생각했었으나이번 과제를 진행하면서 전체 로직도 포함할 수 있는 클래스라는 것을 알았다. 가벼운 게임에서많지 않은 게임 규칙 데이터를 담고 있는 GameState에게임 로직을 구현하게 되면 많은 클래스를 거치지 않고데이터를 쉽고 빠르게 접근하는 것이 큰 이점이라고 생각이 든다. 향후 큰 게임을 구현할 때방대한 게임 규칙 데이터가 필요한 경우에는또 어떤 플로우..
[UE/Basic] 치트 매니저 (Cheat Manager)
·
Unrael/Implement
1. 개요오늘은 기능 테스트에 유용한치트 매니저에 대해 정리해보고자 한다. 2. 치트 매니저란?언리얼에는 콘솔 창에서 실행할 수 있는 명령어를 관리하는 클래스이다. 치트 매니저 클래스를 살펴보면 다양한 콘솔 명령어들을 수행하는 함수들이 정의되어 있다.  3. 치트 매니저 활용치트 매니저는 플레이어 컨트롤러에서 설정할 수 있다. 우리가 직접 CheatManger를 상속한 클래스를 만들어플레이어 컨트롤러에 등록하면직접 구현한 콘솔 명령어들을 실행할 수 있다. 4. 치트 매니저 장점치트 매니저는 기능 테스트 목적으로 사용된다. 예를 들어,미션을 달성하지 못했지만 다음 레벨로 바로 넘어가 테스트하고 싶은 경우명령어를 통해 레벨을 넘길 수 있다. 또는 특정 아이템을 테스트해보고 싶지만그것을 얻기 위해서는 일정 플..
[UE/Basic] 객체 생성
·
카테고리 없음
1. 개요언리얼 엔진에는 다양한 객체 생성 방법이 있다.오늘 아래의 생성 함수의 차이에 대해 살펴보았다.CreateDefaultSubobject()NewObject()SpawnActor() 2. 주요 관점위 생성 함수들을 호출할 때 어떤 점을 고려하면 좋을지 나열해 보았다.함수 역할호출 위치객체 생성 시점객체 월드 포함 여부객체 소유권객체 메모리 관리 3. CreateDefaultSubobjectMeshComponent = CreateDefaultSubobject(TEXT("MeshComp"));함수 역할액터의 컴포넌트 또는 서브 오브젝트(UObject의 하위 오브젝트)를 생성할 때 사용한다.호출 위치생성자에서만 함수를 호출한다.객체 생성 시점엔진 초기화시 생성된다. (언리얼 에디터가 실행되는 시점 / ..
[UE/Basic] 캐릭터 회전 (Charctor Rotation)
·
Unrael/Basic
1. 개요캐릭터를 회전하기 위해서는 다양한 요소들이 영향을 줄 수 있다.오늘은 캐릭터 회전에 대해 살펴보자 2. 캐릭터 회전 5가지 요소캐릭터 회전에 영향을 주는 요소들은 아래와 같다.PlayerControllerPawnSpringArmCameraCharacterMovement오늘은 CharacterMovement를 제외한 총 4가지를 살펴본다. 3. 캐릭터 회전 구현1. 회전하고자 하는 값으로 덮어쓴다.간단하게 머리 속으로 캐릭터 회전을 구현해 본다면 아래 2가지 요소가 필요하다.Rotation : 캐릭터의 현재 회전 값Desired Rotation : 회전하고자 하는 값 (원하는 회전 방향)그리고 회전 방법은 간단히 Rotation을 Desired Rotation으로 덮어쓰는 것이다. 하지만 덮어쓰는..
[UE/Basic] GameMode
·
Unrael
1. 개요오늘은 GameMode 클래스에 대해 살펴보았다. 2. GameMode 역할게임 규칙을 관리한다.점수 계산제한 시간승패 결정레벨을 관리한다.플레이어가 현재 레벨의 목표를 달성하면 다음 레벨로 이동하는 로직을 담당한다.필요한 클래스를 생성한다.DefaultPawn ClassPlayerController ClassHUD Class PlayerState ClassSpectator Class 3. GameMode 생성 시점GameMode는 언리얼 에디터에서Play 버튼을 클릭시 월드(World)가 생성된 후 생성된다.이 시점에서 관련된 DefaultPawn, PlayerController, PlayerState 등이 생성된다. 4. GameMode 생성 및 설정컨텐츠 브라우저에서 우클릭 > Bluepr..
[UE/Basic] 캐릭터 클래스 (Character)
·
Unrael/Basic
1. 캐릭터 클래스 2. 속성  3. 기능1. LaunchCharacterUFUNCTION (BlueprintCallable, Category=Character) virtual void LaunchCharacter ( FVector LaunchVelocity, bool bXYOverride, bool bZOverride ) 역할캐릭터를 특정 방향으로 날릴 수 있다. 캐릭터 무브먼트의 상태가 "Falling" 으로 변경된다.  파라미터FVector LaunchVelocity캐릭터에 더해질 속도 값이다.bool bZOverride활성화되어 있다면 LaunchVelocity의 XY값을 캐릭터의 속도 XY값에 덮어쓴다.bool bZOverride활성화되어 있다면 LaunchVel..