새소식

Unreal Engine/이론 | 로직 | 연습

[UE4/Theory] 005. C++로 다루는 언리얼

  • -

!!! NOTICE !!!
이 글은 언리얼의 기본 이론 등을 다루고 있습니다!
학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다!
이 점 유의하고 봐주세요!


언리얼은 C++ 언어로 프로젝트를 구현할 수 있다.
기본적인 C++ 문법에서 추가적으로 알아야 할 키워드가 존재하는데,
이 점들을 숙지하면 C++로 할 수 있었던 작업을 똑같이 할 수 있을 것이다.

여담으로 C++을 사용하여 구현하는 방식과
블루프린트를 사용하여 구현하는 방식의 호불호가 갈리며,
각자의 장단점이 서로 대립하여 존재한다.

본인은 C++와 블루프린트를 비교했을때
블루프린트 쪽이 오타율이 적었지만,
개발 속도는 코드 쪽이 빠르던 것을 알 수 있었다.
선택은 자유다.


기존에 언리얼 프로젝트를 만들었던 방식엔
블루프린트 기반으로 생성하였을 것이다.
C++ 문법을 사용하기 위해서는 C++ 기반으로 프로젝트를 생성해주면 된다.

생성 후, 에디터가 화면에 생기면
에디터를 닫고, 프로젝트를 생성했던 폴더에 들어가자.

여기서 .sln 파일이 생성된 것을 볼 수 있는데,
이 파일을 실행시키면 프로젝트를 구성하고 있는 솔루션을 볼 수 있다.

비주얼 스튜디오 상단의 로컬 디버거 실행을 누르면
Visual Studio 와 Unreal Engine Editor를 동시에 실행할 수 있다.

Visual Studio로 접근할 수 있다는 것 뿐,
기본적으로 블루프린트를 사용하여 작업하는 데에는 변함없다.

C++로 함수, 변수를 구현하고자 할 때만
Visual Studio 를 보고 작업하면 된다.

 

Visual Studio에서 사용할 수 있는 키워드 중 하나는
UPROPERTY 이다.

Visual Studio에서 작성한 코드를 언리얼 에디터에서 확인하기 위해서
이런 키워드 들을 변수/함수/클래스 등등에 붙여주어야 한다.

그 중, UPROPERTY 키워드는 언리얼의 디테일 창에서 볼 수 있도록 하는 키워드이다.
변수에 이 키워드를 붙이면 디테일 창에서 확인이 가능하다.

UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true"))

소괄호 안에 VisibleAnyWhere 같은 부가적인 내용이 있는데,
인자로써 들어가는 내용에 따라
언리얼 에디터에서 표시되는 내용이 달라진다.

이를 테면,
Category = Camera 는
해당 변수를 카메라 카테고리에 할당해준다는 의미이다.

 

C++로 프로젝트를 생성하면
콘텐츠 브라우저에 C++ Classes(클래스들) 폴더를 확인할 수 있다.
해당 폴더 안에선 인게임에서 사용되는 소스코드들이 들어있는걸 확인할 수 있다.

 

언리얼 에디터에서 새로운 C++ 클래스를 생성할 수 있다.
클래스를 생성할 때, 해당 클래스가 받을 상속 클래스를 지정할 수 있으며,
사용자가 만든 C++ 클래스를 클래스를 상속받을 수도 있다.

생성하게 되면 잠시후에 컴파일을 진행하고
컴파일이 끝난 후에 비주얼 스튜디오에서도 확인이 가능하다.

기존의 블루프린트에서 확인할 수 있었던
BeginPlay, Tick 등을 확인할 수 있다.

Visual Studio 에서 코드를 수정하면 언리얼 에디터에 반영하기 위해
언리얼에서 컴파일 버튼을 눌러 변경해 줄 필요가 있다.

추가로 다음의 코드는 Tick 함수를 호출할 것인가에 대한 옵션이다.

PrimaryActorTick.bCanEverTick = true;

PrimaryActorTick.bCanEverTick 와 같은 정보들은 디테일에도 존재해서 확인이 가능하다.

콘텐츠 브라우저 내의 어느 폴더에서든 c++ 클래스를 생성하면
c++ 클래스 폴더에 정리된다.

 

이렇게 만든 C++ 클래스들은
나중에 블루프린트 클래스를 만들때 상속받을 클래스로
본인이 만든 클래스를 부모로 해서 블루프린트를 만들 수 있다.

CharacterBase는 본인이 만든 Character 기반 클래스이다.

직접만든 클래스를 상속받아 블루프린트를 만들면 다음과 같이
우측 상단에서 부모클래스를 확인할 수 있다.

표시된 클래스를 클릭하면 비주얼 스튜디오에서 확인할 수 있다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.