언리얼 기초 2 언리얼 엔진과 C++

IDE (통합 개발 환경)

대표적인 통합 개발환경 (Integrated Development Enviroment)에는 아래와 같은게 있다.

  • Windows의 Visual Studio
  • Windows의 Visual Studio Code
  • Mac의 Xcode

언리얼 프로젝트와 호환되는 대표적인 IDE(Integrated Development Enviroment)들

기본 텍스트 에디터와 함께, 각종 개발 도구들(컴파일러, 라이브러리, 디버깅 툴등)이 포함되어 있기에 통합 개발환경(IDE) 이라는 정식 명칭이 있지만, 결국 텍스트 에디터와 컴파일러가 주 역할.

입문자에겐 Visual Studio를 추천한다. 5.x 버전 이후 언리얼은 사실상 같이 설치된다.

참고1> 언리얼 설치 직후 비주얼 스튜디오 관련 에러 메시지가 뜬다면, 비주얼 스튜디오에 추가 설치가 필요한 것. 언리얼 UI를 따라 확인버튼 잘 눌러주면 이 역시 해준다.

참고2> 앞으로 말하는 에디터는 텍스트 에디터가 아니라 언리얼 개발툴 자체를 말한다.

C++의 역할

얼리얼 에디터상에서 로직은 블루 프린트를 통해 짜여진다. 이때 각각의 블루 프린트 파일들은 결국 C++클래스가 된다. (언리얼 에디터를 통해 많은 코드들이 추가 되지만)

개발자는 필요에 따라 이 블루프린트 클래스들의 부모 클래스(Parent)를 C++로 만들 수 있다.

이때 만들어지는 C++ 클래스는 언리얼 기본 클래스들(Actor, Pawn, Character등)을 부모 클래스로 삼을 수 있다. 이 기본 클래스들 역시 C++ 클래스이기 때문.

가비지컬렉팅

C++은 자바나, C#, 파이썬 처럼 가비지 컬렉팅 하는 기능이 없다.

가비지 컬렉션(Garbage Collection) 개발자가 변수를 사용하거나 클래스 객체를 사용하기 위해 메모리로부터 임시적으로 할당받은 메모리를 알아서 자동으로 처분해주는 기능

하나의 언어가 이 가비지 컬렉팅 기능을 구현하기 위해서는, 리플렉션 능력을 가지고 있어야 한다.

리플렉션(Reflection)

“나 스스로를 돌아볼 수 있는 능력”, 보통 프로그램은 한번 실행을 시작하면 주어진 코드 루틴을 처음부터 끝까지 순차적으로 실행하고 종료하게 된다.

만약 프로그램이 잘 실행되고있는 와중에 누군가 외부에서 이 프로그램에게 “너 지금 몇개의 int형 변수를 쓰고 있어?”, 지금 몬스터A의 객체는 몇개고 각각의 HP현황은 어떻게 되고있어?”라고 물어본다면 프로그램은 대답할 능력도 없고, 그런 행동을 할 창구(인터페이스)도 없다.

하지만 언리얼은 C++을 통해 이런 것을 알아볼 필요가 있으며 이를 통해 가비지 컬렉팅 기능도 C++에 지원해주고 있다

Leave a Comment