유니티 vs 언리얼

  • 언리얼 공식문서에서 "유니티 개발자를 위한 언리얼 엔진4"라는 탭을 만들어 유니티 개발자들이 유니티에서 사용하던 개념들을 언리얼에 있는 개념과 매핑할 수 있도록 친절하게 만든 문서가 있습니다. 일단 여기에서 설명된 표를 따르면 다음과 같습니다.
카테고리 유니티 언리얼 엔진4 비고
게임 플레이 유형 Component Component  
Game Object Actor / Pawn 1 : 2
Prefab Blueprint Class  
메시 Mesh Static Mesh  
Skinned Mesh Skeletal Mesh  
머티리얼 Shader Material / Material Editor 1 : 2
Material Material Instance  
이펙트 Particle Effect Effect / Particle / Cascade 1 : 3
Shuriken Cascade  
게임 UI UI(uGUI) UMG  
프로그래밍 C# C++  
피직스 Raycast Line Trace / Shape Trace 1 : 2
Rigid Body Collision / Physics 1 : 2
  • 표를 보면 알겟지만, 상당히 많은 부분이 닮아있지만 용어가 조금씩 다르고 유니티 측에서는 1개인것이 언리얼에서는 2개 3개인 것이 있다. 오늘은 그중에 GameObject 쪽을 한번 살펴보도록합시다.

Actor

  • 액터는 언리얼 엔진의 레벨에 배치할 수 있는 오브젝트를 의미합니다. 그야말로 GameObject처럼 레벨에 배치할 수 있는 모든 오브젝트를 의미하며 여기에 컴포넌트들을 붙여서 액터가 어떻게 행동할지 결정해준다는 느낌이다.

그런데 GameObject와 비슷하다면 Pawn은 뭘까?

Pawn

  • 폰은 플레이어나 AI가 제어할 수 있는 모든 액터의 베이스 클래스입니다.
  • 게임을 하게되면 내가 조작할 수 있는 오브젝들이 있습니다. 대표적으로 내가 키보드를 통해 움직임을 명령하는 캐릭터와 같은 플레이어(혹은 AI)가 명령을 내리고 그것에 따라서 움직이는 액터들을 Pawn이라고 합니다. 따라서 Actor보다 더 구체적으로 정의된 오브젝트 클래스라는 것이다. 그럼 소스에서 한번 APawn의 정의 타고 들어가보자.

[그림 1] APawn C++

  • 위와 같이 Pawn 클래스를 생성하면 자동으로 상속받아지는 APawn이라는 클래스를 타고 들어가보면, AActor클래스를 상속받는 다는 것을 알 수 있다. AActor는 모든 액터 클래스의 베이스 클래스 이므로 Pawn은 '조금 더 구체적인 액터'인 것이다.
  • 이 외에도 Character라는 클래스가 있는데 이 클래스의 경우 APawn에서 좀 더 복잡한 애니메이션을 위해 파생된 클래스라고 보면 된다. 예를들어 점프, 수영, 앉기, 하늘을 날아다닌다는 등의 애니메이션들과 그 애니메이션들을 블렌딩하는 작업 등등 복잡한 애니메이션을 처리할 수 있도록 고안되어있는 클래스라고 생각하면된다.
복사했습니다!