[Unreal] 이득우 Part 1. 1강 헬로 언리얼

Kim Dongil·2024년 3월 15일
0

언리얼엔진

목록 보기
6/18

앞으로의 여정

Part 1에서는 언리얼에서 C++과 하이레벨 OOP(C#, JAVA)의 장점을 모두 지원하는 언리얼 프로그래밍을 배운다.
Part 2에서는 게임을 제작하기 위한 프레임워크 설계 강의

시작

  • 언리얼 엔진 설치와 프로그래밍 환경 구축
  • 언리얼 에디터에서의 클래스 추가
  • 언리얼 C++의 클래스 상속 및 오버라이딩 구현
  • 언리얼 엔진의 문자열 처리의 이해
  • 게임인스턴스 클래스의 적용과 카테고리를 활용한 로그 확인

UE5 환경설정

[Unreal Engine] Unreal Engine 5 / Visual Studio C++ 개발 환경 설정 언리얼 엔진 5 개발 환경 설정 세팅

매크로 정렬하기

매크로 구문 이후 엔터를 누르면 정렬이 제대로 되지 않는다.
편의를 위해 아래 확장자들을 설치해준다면 매크로 구문 후에도 정렬이 이쁘게 잘 된다.
한 번만 해두면 계속 적용 가능

  1. Visual Commander 다운받고 확장자 적용

  2. ue4-vs-extensions 다운받고

    확장 -> VCmd -> Import


    해당 파일 선택

Extensions 를 눌렀을 때, 빨간 원 처럼 되어있다면 성공

컴파일 - 빌드 방법

헤더파일 변경 -> 에디터를 끄고 컴파일
소스파일 변경 -> 라이브 코딩 컴파일 Ctrl + Alt + F11

가상함수 재정의 주의

가상 함수를 호출하는 경우 언리얼 엔진 내부적으로 부모의 가상 함수가 구현되어 있고 동작할 필요가 있는 경우가 있기 때문에 항상 부모의 함수를 호출해주도록 한다.
이 때 우리가 부모 클래스 이름을 다 칠 필요가 없이 Super 키워드를 사용하면 된다.

void UMyGameInstance::Init()
{
	Super::Init();
}

언리얼엔진 로그 남기기

UE_LOG(CategoryName, Verbosity, Format)

  • CategoryName
    로그들을 분류할 때 분류 별로 볼 수 있다.
    직접 지정할 수도 있고, 에픽 엔지니어들인 만든 카테고리들이 있다.

  • Verbosity
    로그 수준으로 구별 (Log, Warning, Error 등으로 분류)

  • Format
    TEXT("") 매크로를 이용하여 string 가능 (printf처럼 사용)

통일된 문자열을 다루기 위해서 TEXT 매크로를 사용한다.

UE_LOG(LogTemp, Log, TEXT("%s"), TEXT("Hello Unreal!"));

로드 시간을 줄이기 위해 그래픽스 관련된 부분 None으로 설정하고 새롭게 만든 MyGameInstance로 바꿔준다.

실행 후 log 확인

0개의 댓글