본문 바로가기

공부/이득우의 언리얼 프로그래밍

[Study] Part1 - 헬로 언리얼! (1/15)

728x90
반응형

 

 

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

 

 

 

  • 해당 강의에서는 Visual Studio 2022를 사용

C++를 사용한 게임 개발 체크

 

  • 게임 개발하는 회사라면 Visual assistant라는 플러그인을 사용하는 회사가 많다고 한다.
    • Visual 유료 플러그인
  • 디버깅보다도 빠른 개발을 위해서는 Rider도 추천
  • 해당 강의에서는 언리얼 C++에 대한 동작 원리를 알 수 있도록 체험

 

  • Visual Studio 2022 셋팅시 유용한 Extension
 

Visual Commander - Modern alternative to Visual Studio macros

Visual Commander The freemium Visual Commander extension lets you automate repetitive tasks in Visual Studio 2022/2019/2017 and SSMS 17/2016. You can reuse existing Visual Studio macros from previous versions of the IDE and create new commands and extensio

vlasovstudio.com

 

GitHub - hackalyze/ue4-vs-extensions: Useful UE4 Visual Studio extensions.

Useful UE4 Visual Studio extensions. Contribute to hackalyze/ue4-vs-extensions development by creating an account on GitHub.

github.com

 

 

  • 언리얼 코드 컴파일 방법
    • 헤더 파일에 변경이 발생하면
      • 에디터를 끄고 비주얼 스튜디오에서 컴파일한다.
      • 에디터가 켜져있으면, 빌드 불가능함
    • 소스 파일에만 변경이 발생하면
      • 라이브 코딩으로 컴파일한다. (Ctrl+Alt+F11 단축키)
    • 비주얼 스튜디오에서 수동으로 클래스를 추가하지 말 것 (주의)

 

 

  • 언리얼 엔진이 제공하는 부모 클래스를 내가 상속 받아서 가상 함수를 오버라이드해서 재구현하는 경우, 거의 대부분은 언리얼 엔진이 미리 작업해둔 코드를 실행해줘야한다. (중요)
    • 해당 코드자체가 전체 엔진 플로우가 동작할 수 있게 이미 에픽게임즈 엔지니어들이 다 만들어 놓은 것이기 때문, 그걸 무시하고 우리가 초기화 하는 순간 어떤 상황의 문제가 발생할지 모른다.
    • 언리얼에 익숙하지 않을때 해당 상위 클래스의 가상 함수를 실행하는 것을 깜빡하는 경우가 종종 생긴다. 예기치 못한 문제가 엔진 전체적인 플로우에 발생을 함

 

 

  • 일반적인 C++ 문법의 경우 (예시)GameInstance 부모 클래스의 Init 함수를 명시적으로 지정해 주면 되는데, 언리얼 엔진 같은 경우에는 자체적으로 이 클래스 구조를 파악하고 있다.
    • 컴파일하면서 클래스 구조를 파악할 수 있는 그런 프레임웍이 내장되어 있다.
    • 매크로들이 있는 이유가 바로 그런 이유다.

 

GENERATED_BODY().. 같은 매크로
SUPER::INIT();

 

  • 그렇기 때문에 부모 클래스 이름을 다 입력할 필요 없이 Super라고 입력하면 부모 클래스를 가리키게 된다.
  • 부모 클래스로부터 상속을 받을 때는 Super::함수이름 을 써주는 게 언리얼 엔진 코딩에서의 기본이 된다.

 

 

  • 문자열을 다룰때는 웬만하면 TEXT("") 매크로를 사용해서 적어준다. 2Byte문자를 사용하는 특정 국가들의 문자를 통일되게 표현하기 위해 필요한 매크로

UE_LOG매크로를 사용해서 로그 남기기

 

  • 에디터 실행

Start Without Debugging (Ctrl+F5)

 

 

Edit>ProjectSettings>Project>Map&Modes>Game Instance

 

 

Filters를 통해 원하는 로그 종류만 볼 수 있다.

 

 

 

 

해당 포스트는 인프런의 <이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해>
강의를 수강하고 정리한 내용입니다.
 

이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해 | 이득우 - 인프런

이득우 | 대기업 현업자들이 수강하는 언리얼 C++ 프로그래밍 전문 과정입니다. 언리얼 엔진 프로그래머라면 게임 개발전에 반드시 알아야 하는 언리얼 C++ 기초에 대해 알려드립니다., [사진] 언

www.inflearn.com

 

 

 

728x90