3.1-1 TPS 프로젝트 생성하기
Create - Game - Blank - C++ - 스타터컨텐츠 (ThirdPerson템플릿은 나중에 그래픽만 임포트 할 예정) 선택하고 프로젝트명을 TPSProject로 합니다. 이대로 이름을 만들어야 예제 파일을 수정없이 사용가능합니다.
Source-TPSProject폴더로 이동 Public/Private 폴더를 만들고 TPSProject.Build.cs파일만 빼고 h는 퍼블릭, cpp는 private폴더로 이동시켜줍니다.
파일 구조를 만졌으므로 Visual Studio가 재구성할수 있도록 TPSProject폴더의 프로젝트명 + .uproject위를 우클릭후 Visual Studio 프로젝트 파일을 새로 만듭니다.
만들어진 TPSProject.sin 파일을 더블클릭해서 열어줍니다.
레벨생성하기
Ctrl+N New Level을 만들어 Default(Basic) 레벨을 선택합니다.
Ctrl+S로 TPSMap으로 Maps폴더를 만들어 저장합니다.
Projecting Setting - Maps&Mode에서 StartUp Map, Default Map을 TPSMap으로 설정합니다. 에디터가 로딩되면 자동실행됩니다.
OutLiner에서 Floor를 선택해서 Transform을 다음과 같이 합니다.
유틸리티 매크로 작성하기\
TPSProject.h
#pragma once
#include "CoreMinimal.h"
DECLARE_LOG_CATEGORY_EXTERN(TPS, Log, All);
#define CALLINFO (FString(__FUNCTION__) + TEXT("(") + FString::FromInt(__LINE__) + TEXT(")"))
#define PRINT_CALLINFO() UE_LOG(LogTemp, Warning, TEXT("%s"), *CALLINFO)
#define PRINT_LOG(fmt, ...) UE_LOG(TPS, Warning, TEXT("%s %s"), *CALLINFO, *FString::Printf(fmt, ##__VA_ARGS__))
TPSProject.cpp
#include "TPSProject.h"
#include "Modules/ModuleManager.h"
IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, TPSProject, "TPSProject" );
DEFINE_LOG_CATEGORY(TPS);
TPSProjectGameModeBase.h
생성자를 추가해줍니다.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/GameModeBase.h"
#include "TPSProjectGameModeBase.generated.h"
/**
*
*/
UCLASS()
class TPSPROJECT_API ATPSProjectGameModeBase : public AGameModeBase
{
GENERATED_BODY()
public:
ATPSProjectGameModeBase();
};
TPSProjectGameModeBase.cpp
생성자를 구현해줍니다.
#include "TPSProjectGameModeBase.h"
#include "TPSProject.h"
ATPSProjectGameModeBase::ATPSProjectGameModeBase()
{
PRINT_CALLINFO();
PRINT_LOG(TEXT("My Log : %s"), TEXT("TPS project!!"));
}
생성자를 새로 만들었으니 에디터를 닫고 빌드후 에디터를 열고 OutLog를 클릭해보면 로그가 많은데
SearchLog에 TPS를 입력하면 관련 로그만 볼수 있습니다. 생각보다 필터링이 안되서 전 TPS를 LogTps로 3군데 변경했습니다. 리빌드후에 적용됩니다. 왜 로그 카테고리를 정의하는지 아시겠죠
'인생언리얼TPS' 카테고리의 다른 글
3.1-5 총알 제작하기 (0) | 2023.12.13 |
---|---|
3.1-4 플레이어 이동 처리하기 (1) | 2023.12.12 |
3.1-2 3인칭카메라 붙이기 (0) | 2023.12.12 |
3.1-3 플레이어 메시 적용 (1) | 2023.12.12 |
3.1-2 플레이어 생성하기 - 게임모드 설정 (0) | 2023.12.12 |