Unreal Engine 5 23

레벨 위에 Character 클래스 생성

⊙ Pawn과 Character 클래스의 차이를 이해한다.⊙ Character 클래스를 생성하는 방법을 안다. ⊙ Character 클래스의 컴포넌트를 조절하는 방법을 안다. ⊙ Character 클래스를 등록하여 스폰하는 방법을 안다.더보기코드스니펫[SpartaCharacter.h]// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "GameFramework/Character.h"#include "SpartaCharacter.generated.h"class USpringArmComponent;class UCameraComponent;UC..

Unreal Engine의 GameMode

⊙ Unreal Engine의 GameMode가 무엇인지 이해한다. ⊙ GameMode 클래스를 생성하는 방법에 대해 안다. ⊙ 생성한 GameMode 클래스를 적용하는 방법을 안다. GameMode란?게임을 제작하다보면 가장 큰 컨트롤 타워 하나는 꼭 필요하다. Unity의 경우 GameManager을 만들어서 싱글톤으로 만들고 모든 씬에 존재하게 하여 게임을 컨트롤 했었다. 언리얼에서는 그런 컨트롤 타워를 GameMode 라는 이름으로 제공하고 있다. GameMode는 게임의 총괄 관리자라고 생각할 수 있다. 게임의 전반적인 규칙과 흐름을 총괄 관리하는 클래스인 GameMode는 그래서 게임 전반적으로 상당히 많은 부분을 관리하고 있다. 어떤 플레이어로 스폰할건지, 어떤 PlayerController..

Actor의 생명 주기(Life Cycle)

⊙ Actor의 생명주기 학습의 필요성을 이해한다. ⊙ Actor의 생명주기와 차이를 이해한다.더보기코드스니펫[Item.h]// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "GameFramework/Actor.h"#include "Item.generated.h"DECLARE_LOG_CATEGORY_EXTERN(LogSparta, Warning, All);UCLASS()class CH3_UNREAL3DGAME_API AItem : public AActor{ GENERATED_BODY() public: // Sets default val..

OutputLog에 로그 출력

⊙ OutputLog에 로그를 찍는 방법을 안다.⊙ OutputLog에 커스텀 카테고리로 로그를 찍는 방법을 안다.⊙ 원하는 카테고리만 설정하여 로그를 보는 방법을 안다.더보기코드스니펫 [Item.h]// Fill out your copyright notice in the Description page of Project Settings.#pragma once // : 헤더 파일 중복 컴파일 방지#include "CoreMinimal.h"#include "GameFramework/Actor.h"#include "Item.generated.h"DECLARE_LOG_CATEGORY_EXTERN(LogSparta, Warning, All);UCLASS()class CH3_UNREAL3DGAME_API AIte..

Actor 클래스의 코드 구조

⊙ Actor 클래스의 헤더 파일 코드를 이해한다. ⊙ Actor 클래스의 구현 파일 코드를 이해한다. Actor 클래스의 헤더 파일 구조헤더 파일을 열어보면 C++ 프로그래밍에서는 볼 수 없었던 신기한 것들을 많이 볼 수 있다. 이제부터 아래 코드를 하나씩 뜯어가면 무엇을 의미하는지 알아보려고 한다.// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "GameFramework/Actor.h"#include "Item.generated.h"UCLASS()class CH3_UNREAL3DGAME_API AItem : public AActor..

프로젝트 이주(Migrate) 하기

⊙ 프로젝트나 프로젝트 내 파일을 Migration 하는 방법을 알고 그 필요성을 이해한다. 프로젝트 이주(Migrate)언리얼의 리소스들은 서로 긴밀하게 연결되어 있는 경우가 많기 때문에 그냥 파일을 드래그 앤 드롭하여 옮기거나 복사 붙여넣기 하면 깨질 위험이 있다. 특히 애니메이션이나 스켈레탈 메시 등은 조심해야 한다. 따라서 이런 위험이 있는 리소스들을 Migrate으로 가져올 수 있다. 그게 아니더라도 다른 프로젝트의 특정 부분을 가져오려면 Migrate을 이용하는 것이 안전하다. 가져오고 싶은 리소스가 있는 프로젝트를 연다. 그리고 가져오고 싶은 리소스나 그 리소스들이 포함된 폴더를 우클릭한 후 Migrate을 선택한다.Migrate을 선택하면 창이 하나 더 뜨게 된다. 해당 창에서 Migrat..

기본 레벨 지정하기

⊙ 기본 레벨을 설정하는 방법을 안다.  기본 레벨 지정프로젝트를 처음 켜면 내가 지정한 맵도 아니고 만든 맵도 아닌 사막 한가운데에 던져지게 된다. 만약 프로젝트를 켰을 때, 또는 나중에 빌드 후 실행파일을 실행했을 때 원하는 레벨에서 시작하게 할 수는 없을까? 언리얼 에디터에는 기본 레벨을 지정할 수 있는 기능을 제공하고 있다.기본 레벨을 지정해 두면, 에디터나 게임 실행 시 항상 같은 맵에서 시작하게 된다. 에디터 상단 메뉴에서 Edit → Project Settings를 열어준다.그리고 왼쪽 목록들 중 Project 카테고리의 Maps & Modes를 클릭한다. 그러면 맵과 모드에 관련된 설정들을 조정할 수 있는 창이 뜨게 되는데 이 중 Editor Startup Map과 Game Default ..

C++ Actor 클래스 생성 및 삭제하기

⊙ Actor와 Object의 차이를 이해한다. ⊙ 새로운 Actor 클래스를 생성하는 방법을 안다. ⊙ 생성한 Actor 클래스를 삭제하는 방법을 안다. Actor(AActor)와 Object(UObject)의 차이Actor는 지금까지 학습하면서 정말 많이 들어본 단어이다. 그리고 Object는 들어본적은 있지만 그렇게 친숙하게 다가오는 단어는 아니다. 두리뭉실하게 Actor와 비슷한 말인가? 아니면 그냥 물체 처럼 보이는 모든게 Object인가? 라고 생각했을 뿐이다. 하지만 이 둘엔 엄밀한 차이가 있고 관계가 있다. Object(UObject)란?UObject는 언리얼 엔진에서 모든 클래스의 최상위 부모다. 그말인 즉슨 Actor도 UObject의 자식이라는 말이 된다. 둘의 관계가 첫 문장부터 아..

솔루션 폴더 구조 및 기능

⊙ Visual Studio의 솔루션 폴더의 구조와 기능을 이해한다. ⊙ 프로젝트 루트 폴더와 그 구조를 이해한다. Visual Studio 솔루션 폴더 구조Visual Studio를 열면 오른쪽 옆에 솔루션 폴더가 보인다. 솔루션 폴더는 실제 폴더 구조와는 다른 가상의 폴더다. 이는 비주얼 스튜디오가 빌드와 관리를 편하게 하기 위해 재구성한 것이다. 물론 완던 허상은 아니고 실제 폴더에서 찾아보면 다 있는 폴더고 파일이긴 하다.폴더 구조와 기능엄청난 양의 파일들이 오른쪽에 뜨게 되는게 결국 모든 폴더를 닫게 되면 딱 5개의 폴더만 남게 된다. 이 다섯개의 폴더에 무엇이 들어있는 것인지, 우리는 어떤 것을 건드려야 하는지 알아보자.폴더명설명Engine언리얼 엔진 자체 소스 코드와 리소스가 담긴 곳에디터 ..

Unreal 프로젝트 폴더 구조 및 기능

⊙ Unreal 프로젝트 폴더의 구조를 이해한다. ⊙ Unreal 프로젝트 폴더에 담긴 파일들의 기능을 안다. Unreal 프로젝트 폴더의 구조언리얼 C++ 프로젝트를 생성하면 실제 폴더는 어떻게 생성되는지 보도록 하자. 프로젝트 폴더 찾기폴더는 프로젝트를 만든 후 만든 곳에 가서 직접 찾는 방법도 있지만 어디다 만들었는지 기억이 나지 않는다면 에픽 게임즈 런처에서 프로젝트 폴더를 열 수도 있다.내 프로젝트 목록들에서 프로젝트를 우클릭하여 폴더보기를 누르면 폴더를 확인할 수 있다. 프로젝트 폴더 구조프로젝트 폴더가 열리면 아마 이런 구조로 되어 있을 것이다.프로젝트 생성 한 번에 8개의 폴더와 이상한 파일 하나... 그리고 솔루션 파일 하나, 언리얼 프로젝트 파일이 하나 생성되었다.  프로젝트 폴더별 기..