Actor는 레벨 안에 놓이는 기본 단위다
언리얼 엔진에서 레벨을 만든다는 것은 결국 Actor를 배치하고 정리하는 일에서 시작한다. Actor는 레벨 안에 놓을 수 있는 모든 대상의 기본 단위다. 바닥, 벽, 조명, 카메라, 캐릭터, 아이템, 트리거 영역도 모두 Actor로 볼 수 있다.
처음에는 이렇게 이해하면 쉽다.
Actor: 레벨에 배치되는 물체의 겉그릇
Static Mesh: 눈에 보이는 3D 모델
Component: Actor 안에 붙어 있는 부품
예를 들어 큐브 하나를 레벨에 놓았다고 해보자. World Outliner에는 하나의 Actor가 생긴다. Details Panel을 보면 그 Actor 안에 여러 Component가 들어 있다. 그중 Static Mesh Component는 큐브 모양을 화면에 보여 주는 부품이다. 즉 큐브 Actor는 "레벨에 놓인 물체"이고, Static Mesh는 "그 물체가 어떤 모양으로 보일지 정하는 3D 모델"이다.
구체도 마찬가지다. 구체 Actor를 배치하면 레벨에는 Actor가 하나 생기고, 그 안의 Static Mesh Component가 구체 모양을 보여 준다. 나중에 블루프린트를 배우면 이 Actor 안에 충돌, 소리, 이펙트, 게임 규칙 같은 Component를 더 붙일 수 있다. 지금은 "Actor는 레벨에 놓이는 단위, Component는 Actor를 구성하는 부품" 정도만 기억하면 충분하다.
AI 생성 이미지
Transform은 위치, 회전, 크기를 정한다
Actor를 선택하면 Details Panel의 위쪽에서 Transform 값을 볼 수 있다. Transform은 Actor가 레벨 안에서 어디에 있고, 어느 방향을 보고 있으며, 얼마나 큰지를 정하는 값이다.
Transform은 세 부분으로 나뉜다.
Location: 위치
Rotation: 회전
Scale: 크기
각 값에는 X, Y, Z 축이 있다. 언리얼 에디터에서 축 색은 보통 다음처럼 표시된다.
X축: 빨간색
Y축: 초록색
Z축: 파란색
Location은 Actor의 위치를 정한다. 언리얼 엔진의 기본 길이 단위는 센티미터다. Location Z 값을 100으로 올리면 Actor의 기준점이 약 1미터 위로 올라간다. 큐브가 바닥에 반쯤 묻혀 있다면 Z 값을 올려 바닥 위에 놓을 수 있다.
Rotation은 Actor의 방향을 정한다. 값은 도 단위로 표시된다. Z Rotation을 90으로 바꾸면 Actor가 위에서 봤을 때 90도 돌아간다. 벽이나 장애물을 직각으로 배치할 때 자주 사용한다.
Scale은 Actor의 크기를 정한다. 기본값은 1이다. X Scale을 2로 바꾸면 X축 방향으로 두 배 길어진다. Z Scale을 0.5로 바꾸면 높이가 절반이 된다. 바닥을 만들 때는 큐브 하나를 크게 늘리고, 벽을 만들 때는 얇고 높게 늘리는 식으로 사용할 수 있다.
초보자가 가장 많이 헷갈리는 부분은 Location과 Scale의 차이다. Location은 물체를 옮기는 값이고, Scale은 물체의 크기를 바꾸는 값이다. 물체가 원하는 곳에 없으면 Location을 바꾸고, 물체의 크기가 맞지 않으면 Scale을 바꾼다.
큐브와 구체를 직접 배치해 보기
이제 Third Person 프로젝트의 기본 레벨에서 간단히 실습해 보자. 실수해도 괜찮다. 원하지 않는 결과가 나오면 Ctrl+Z로 되돌릴 수 있다.
상단의 Add 버튼을 누른다.
Shapes에서 Cube를 선택한다.
Viewport에 큐브가 추가되면 선택한다.
Details Panel에서 Transform 값을 확인한다.
Location Z 값을 조절해 큐브가 바닥 위에 보이도록 만든다.
큐브를 선택하면 Viewport에 빨간색, 초록색, 파란색 화살표가 보인다. 이것이 이동 도구다. 빨간 화살표를 드래그하면 X축 방향으로 움직이고, 초록 화살표를 드래그하면 Y축 방향으로 움직인다. 파란 화살표를 드래그하면 위아래로 움직인다.
이번에는 구체를 배치해 보자.
Add > Shapes > Sphere를 선택한다.
구체를 큐브 옆으로 이동한다.
Details Panel에서 Location 값을 직접 입력해 위치를 맞춰 본다.
Scale 값을 0.5로 줄여 작은 구체를 만든다.
Viewport에서 드래그하는 방식은 빠르고 직관적이다. Details Panel에 숫자를 입력하는 방식은 정확하다. 게임 레벨을 만들 때는 두 방식을 함께 사용한다. 대략적인 위치는 Viewport에서 잡고, 정확한 정렬은 숫자로 맞추면 편하다.
여기서 한 가지를 기억해 두자. 기본 큐브와 구체는 보통 중심점을 기준으로 배치된다. 그래서 Location Z가 0이라고 해서 물체의 바닥면이 정확히 바닥에 닿는 것은 아니다. 물체가 반쯤 묻혀 보이거나 공중에 떠 보이면, 먼저 Location Z 값을 조금씩 조절해 보면 된다.
이동, 회전, 스케일 도구 사용하기
언리얼 에디터에는 Actor를 다루는 세 가지 기본 도구가 있다.
이동 도구:
W회전 도구:
E스케일 도구:
R
W를 누르면 화살표가 나타난다. Actor를 원하는 방향으로 옮길 때 사용한다. E를 누르면 원형 손잡이가 나타난다. Actor를 돌릴 때 사용한다. R을 누르면 작은 박스 손잡이가 나타난다. Actor의 크기를 바꿀 때 사용한다.
스케일 도구를 사용할 때 가운데 흰색 박스를 드래그하면 전체 크기가 함께 바뀐다. 특정 축의 손잡이를 드래그하면 한 방향으로만 늘어난다. 바닥은 X, Y 방향으로 넓게 만들고 Z 방향은 얇게 만든다. 벽은 X 또는 Y 방향은 길게, Z 방향은 높게 만든다.
회전 도구는 벽, 경사로, 장애물을 배치할 때 중요하다. 다만 처음에는 자유롭게 돌리는 것보다 90도 단위로 돌리는 편이 안전하다. 그래야 벽과 바닥이 어긋나지 않고 깔끔하게 맞는다.
스냅으로 가지런히 정렬하기
Actor를 손으로만 움직이면 위치가 조금씩 어긋날 수 있다. 이때 사용하는 기능이 스냅이다. 스냅은 Actor가 일정한 간격이나 각도에 맞춰 움직이도록 도와주는 기능이다.
Viewport 상단에는 이동, 회전, 스케일 스냅 설정이 있다. 예를 들어 이동 스냅을 50이나 100으로 설정하면 Actor가 50cm 또는 100cm 단위로 움직인다. 회전 스냅을 15도나 45도로 설정하면 Actor가 정해진 각도만큼 회전한다.
간단한 테스트 스테이지를 만들 때는 다음 설정이 편하다.
이동 스냅: 50 또는 100
회전 스냅: 15 또는 45
스케일 스냅: 필요할 때만 사용
스냅은 특히 바닥 타일, 벽, 장애물을 정렬할 때 좋다. 큐브를 여러 개 복제해서 발판을 만들거나, 같은 간격으로 장애물을 세울 때 작업 속도가 빨라진다.
Actor를 복제하려면 선택한 뒤 Ctrl+D를 누르거나, Alt를 누른 채 이동 도구로 드래그한다. 같은 모양의 벽이나 장애물을 여러 개 배치할 때 자주 쓰는 방법이다.
간단한 테스트 스테이지 만들기
이제 지금까지 배운 내용을 사용해 작은 3D 수집 게임의 테스트 스테이지를 만들어 보자. 목표는 멋진 배경을 만드는 것이 아니다. 플레이어가 걸어 다니고, 장애물을 피하고, 나중에 아이템을 놓을 수 있는 기본 공간을 만드는 것이다.
먼저 바닥을 만든다.
Cube를 하나 추가한다.
이름을
Floor_Main으로 바꾼다.Location을
X 0, Y 0, Z 0근처로 둔다.Scale을
X 10, Y 10, Z 0.2정도로 설정한다.
큐브가 넓고 얇은 바닥처럼 보일 것이다. 기본 큐브는 중심을 기준으로 커지므로, Scale을 바꾸면 바닥의 일부가 기준점 아래로 내려갈 수 있다. 플레이어가 바닥 위에 잘 서 있는지 Play로 확인해 보자. 필요하면 Location Z 값을 조금 올리거나 내리면 된다.
다음은 벽을 만든다.
Cube를 추가하거나 바닥 큐브를 복제한다.
이름을
Wall_Back으로 바꾼다.Scale을
X 10, Y 0.2, Z 2정도로 설정한다.Location을 바닥 뒤쪽으로 옮긴다.
같은 방식으로 왼쪽 벽과 오른쪽 벽도 만들 수 있다. 벽 이름은 Wall_Left, Wall_Right처럼 붙이면 찾기 쉽다. 벽을 완전히 둘러싸지 않아도 된다. 처음에는 플레이어가 떨어지지 않을 정도의 경계만 만들어도 충분하다.
마지막으로 장애물을 배치한다.
Cube를 몇 개 추가한다.
이름을
Obstacle_Cube_01,Obstacle_Cube_02처럼 바꾼다.바닥 위에 적당히 흩어 놓는다.
크기를 조금씩 다르게 조절한다.
장애물은 플레이어의 이동을 확인하는 용도다. 너무 많이 놓으면 테스트가 어려워진다. 처음에는 3~5개 정도만 놓고, Play로 실행해 캐릭터가 잘 움직이는지 확인하자. 나중에 이 사이에 수집 아이템을 배치하면 작은 게임 공간이 된다.
World Outliner에서 레벨을 정리하는 습관
레벨에 Actor가 많아지면 Viewport만 보고는 무엇이 무엇인지 찾기 어렵다. 이때 World Outliner를 정리해 두면 작업이 훨씬 편해진다.
먼저 이름을 바꾸자. Cube, Cube2, Sphere3 같은 이름이 많아지면 나중에 찾기 어렵다. Actor를 선택하고 World Outliner에서 이름을 천천히 두 번 클릭하면 이름을 바꿀 수 있다. 또는 F2를 눌러 이름 변경을 할 수 있다.
추천하는 이름 규칙은 단순하다.
바닥:
Floor_Main벽:
Wall_Left,Wall_Right,Wall_Back장애물:
Obstacle_Cube_01테스트 아이템 자리:
Pickup_Test_01
숫자는 두 자리로 붙이면 정렬할 때 보기 좋다. 예를 들어 Obstacle_Cube_01, Obstacle_Cube_02, Obstacle_Cube_03처럼 만든다.
Actor가 더 많아지면 폴더를 사용한다. World Outliner에서 Actor를 선택한 뒤 우클릭하고 Move To > Create New Folder를 선택하면 폴더를 만들 수 있다. 다음처럼 나누면 초보자도 관리하기 쉽다.
Environment: 바닥, 벽, 장식물Obstacles: 장애물Lights: 조명Test_Pickups: 나중에 아이템을 놓을 자리
폴더 정리는 게임 실행 결과를 직접 바꾸지는 않는다. 하지만 작업 속도와 실수를 크게 줄여 준다. 특히 잘못된 Actor를 선택해서 움직이는 실수를 줄일 수 있다.
자주 막히는 부분 확인하기
큐브를 배치했는데 보이지 않는다면 먼저 World Outliner에서 선택해 보자. 선택은 되어 있는데 화면에 안 보이면 F를 눌러 초점을 맞춘다. 그래도 보이지 않으면 Location 값이 너무 멀리 가 있거나, Scale 값이 너무 작아졌을 수 있다.
Actor가 바닥에 반쯤 묻혀 보이면 Location Z 값을 올린다. 큐브는 중심점을 기준으로 배치되기 때문에 높이가 있는 물체는 Z 위치를 조절해야 바닥 위에 자연스럽게 놓인다.
이동할 때 이상하게 툭툭 끊겨 움직인다면 스냅이 켜져 있는 상태일 수 있다. 정렬할 때는 좋지만, 섬세하게 움직이고 싶을 때는 스냅 값을 줄이거나 잠시 꺼도 된다.
Scale을 너무 크게 바꾸면 물체의 충돌 크기도 함께 커진다. 플레이어가 보이지 않는 곳에 걸리는 것처럼 느껴질 때는 장애물의 크기와 위치를 다시 확인하자.
마지막으로, 자주 저장하자. 레벨 배치를 조금 진행했다면 Ctrl+S 또는 Save All을 눌러 저장한다. 좋은 레벨 제작 습관은 멋진 기능을 많이 아는 것보다 먼저다. 정확히 배치하고, 이름을 정리하고, 자주 저장하는 것. 이 세 가지가 앞으로 만들 모든 장면의 기본이 된다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.