Make Unreal REAL.
article thumbnail
인간형 폰 제작에 고려할 요소

이득우의 언리얼 C++ 게임 개발의 정석 시각적 요소 애니메이션 재생을 위해 리깅이 된 메시인 스켈레탈 메시가 필요하다. 충돌 요소 스켈레탈 메시는 애니메이션에 따라 가변적이므로 캡슐 등의 별도의 Collision을 담당하는 컴포넌트가 필요하다. 움직임 요소 움직임을 담당하는 Pawn Movement 컴포넌트가 필요하다. 내비게이션 폰은 언리얼 엔진의 내비게이션 시스템과 연동되어 있고 길 찾기 기능을 갖고 있다. 카메라 출력 언리얼 엔진은 폰에 빙의할 때 자동으로 폰에 부착된 카메라 컴포넌트의 뷰를 화면으로 전송한다.

article thumbnail
폰과 플레이어 컨트롤러

이득우의 언리얼 C++ 게임 개발의 정석 폰 플레이어 컨트롤러에게 조종당하는 액터이며 플레이어의 꼭두각시이다. 움직이는 액터에 조종 당하는 기능이 추가된 액터다. 월드의 물리적인 상황을 고려한 처리를 담당한다. - Velocity 등 플레이어 컨트롤러 플레이어의 두뇌이다. 플레이어가 입장할 때 배정되며 변경할 수 없다. 현재 폰을 버리고 다른 폰에 빙의(Possess)해 조종할 수 있다. 사용자 입력과 화면 출력을 담당한다. 월드의 물리적인 요소를 고려하지 않은 플레이어의 의지에 관련된 처리를 담당한다. - Control Rotation 등 ConstructorHelpers::FClassFinder() 함수를 이용해 블루프린트 에셋을 가져올 수 있다. 블루프린트 에셋을 가져올 때는 마지막 에셋 이름에 _..

article thumbnail
게임 모드(Game Mode)

이득우의 언리얼 C++ 게임 개발의 정석 게임 모드 게임의 규칙을 정하고 게임의 틀을 잡아주는 역할을 한다. 멀티 플레이 게임에서 방장 역할을 하며, 게임에서 중요한 데이터를 인증하는 권한을 가진다. C++ 게임 모드로 설정하면 World Settings에서 기본 값들을 수정할 수 없게 된다. 플레이가 시작되면 게임 모드에 의해 다음과 같은 순서로 설정이 갖춰진다. 플레이어 컨트롤러 생성 플레이어 폰 생성 플레이어 컨트롤러가 폰에 빙의 게임 시작 게임 모드, 플레이어 컨트롤러, 폰의 이벤트 함수를 오버라이딩하여 로그를 찍어 확인해본다. 게임 모드의 PostLogin 함수를 오버라이딩한다. 플레이어가 게임에 입장하는 것은 Login이라고 한다. PostLogin에서는 폰을 생성하고 컨트롤러가 폰에 빙의하는..

article thumbnail
C++ 클래스를 삭제하는 방법

이득우의 언리얼 C++ 게임 개발의 정석 언리얼 에디터는 C++ 클래스의 삭제를 지원하지 않는다. Fountain C++ 액터 클래스를 수동으로 삭제해보겠다. 우선 레벨에 배치된 해당 액터를 제거해주어야 한다. 언리얼 에디터를 종료시킨 후 프로젝트 폴더로 이동해 Fountain.h, Fountain.cpp 파일을 제거한다. .vs, Binaries, Intermediate, 프로젝트.sln 파일을 제거한다. 프로젝트.uproject 파일을 우클릭한 후 Generate Visual Studio project files를 선택해 VS 솔루션 파일들을 새로 생성한다. 언리얼 빌드 툴은 C++ 소스들이 모여 있는 Source 폴더를 분석하면서 프로젝트.sln 솔루션 파일을 생성하고 솔루션에서 참조할 파일들은 I..

article thumbnail
액터 컴포넌트와 씬 컴포넌트

이득우의 언리얼 C++ 게임 개발의 정석 액터 컴포넌트(Actor Component) 모든 컴포넌트의 부모 클래스이다. 루트 컴포넌트가 아니라 독립적으로 액터에 직접 부착된다. Character Movement Component, ... 씬 컴포넌트(Scene Component) Transform 정보를 필수적으로 갖는다. 실제로는 액터 컴포넌트를 상속 받아 Transform을 추가한 클래스이다. Static Mesh Component, ...

article thumbnail
Movement 컴포넌트의 종류

이득우의 언리얼 C++ 게임 개발의 정석 PawnMovement Pawn의 움직임을 제어한다. FloatingPawnMovement 중력의 영향을 받지 않는 액터의 움직임을 제공하며 입력에 따라 자유롭게 움직인다. CharacterMovement Character의 움직임을 제어한다. RotatingMovement 지정한 속도로 액터를 회전시킨다. InterpMovement 지정한 위치로 액터를 이동시킨다. ProjectileMovement 중력의 영향을 받아 포물선을 그리는 발사체의 움직임을 제공한다.

검색 태그