
수업 2.2 - 프리미티브 오브젝트 생성 및 정렬하기
Tutorial
Beginner
+0XP
45 mins
(29)
Unity Technologies

이 수업에서는 몇몇 2D 배경 이미지를 배치한 다음 프리미티브 오브젝트를 사용하여 주변 도시 건물을 배치하는 방식으로 3D에서 2차원 스케치에 활기를 불어넣는 과정을 시작해보겠습니다.
사전 시각화 작업에서 레이아웃 아티스트는 씬의 스케치나 스토리보드를 이용하는 경우가 많습니다. 이 때 아티스트는 단순한 지오메트리를 생성하여 씬의 적절한 뎁스와 크기를 파악할 수 있습니다. 이러한 씬의 첫 번째 반복 과정에서는 다운스트림 부서(주로 세트, 캐릭터, 조명과 같은 사전 시각화 이후 작업을 담당하는 부서)에서 작업 및 확장을 진행하기 위한 토대를 마련합니다.
Resources
Languages available:
1. 수업 개요
2. 비주얼 앵커 생성: 평면과 배경
사전 시각화는 2차원 레퍼런스를 3D로 변환하는 첫 번째 단계입니다. 평면 이미지에 새 차원을 추가하는 일은 쉽지 않을 수 있습니다. 이 과정에 익숙해지기 위해 Unity에서 기본 제공되는 프리미티브 오브젝트 세트를 사용하여 도시 경관 스케치를 대략적으로 추측해보겠습니다.
스케치는 4개의 영역으로 나눌 수 있는데, 기준면, 먼 원경에 있는 건물, 중경에 있는 고층 건물 및 근경에 있는 더 특별하게 정의된 건물입니다(그림 01).
원경의 기준면과 건물을 스케치하면서 시작해보겠습니다. 이들은 스케치의 가장 큰 요소이며 작은 건물들의 상대적 배치를 위한 앵커 역할을 합니다. 2차원 레퍼런스가 제공된 경우 먼저 큰 형태를 스케치한 다음 더 작고 디테일한 오브젝트 작업을 수행하는 것이 좋습니다. 기본 항목으로 시작해보겠습니다.
1. 왼쪽 상단 코너에 있는 메뉴 바에서 GameObject > 3D Object > Plane으로 이동합니다. 새 일반 게임 오브젝트가 계층 구조 창에 추가되고 씬에 배치됩니다(그림 02).
2. 인스펙터 창에서 Transform의 Scale 값을 X:20, Y:1, Z:20으로 설정합니다.
게임 오브젝트는 Unity에서 캐릭터, 프로퍼티 및 씬을 나타내는 기본 오브젝트입니다.
3. 일반 게임 오브젝트는 갈색으로 표시될 수 있습니다. 계층 구조 창에서 Directional Light를 선택합니다. 인스펙터 창의 Light 컴포넌트에서 컬러 피커를 선택하고 흰색으로 변경합니다(그림 03).
4. Light를 선택한 상태에서 인스펙터 창의 Transform 컴포넌트에서 Rotation 값을 X:60, Y:90, Z:90으로 변경합니다. 디렉셔널 라이트는 이 단원의 후반부에서 자세히 살펴보겠습니다.
기본적으로 모든 게임 오브젝트(예: 큐브)는 자동으로 Transform 컴포넌트를 가지고 있습니다. Transform은 게임 오브젝트가 있는 위치와 회전 및 크기 조정 관련 정보를 알려줍니다.
5. 여기에서 CityBackground.zip을 다운로드하여 폴더의 압축을 풉니다.
6. Unity의 프로젝트 창으로 이동하여 Assets > Import Package > Custom Package를 오른쪽 클릭합니다. CityBackground.assetpackage를 선택하고 Import를 선택합니다.
7. 프로젝트 창에서 Assets > Prefabs로 이동하고 CityBackground 프리팹을 프로젝트 창에서 씬 뷰로 드래그합니다.
8. 계층 구조 창에서 CityBackground를 선택하고 인스펙터 창에서 해당 Position 값을 X:45, Y:25, Z:0으로 설정합니다.
9. Move, Orbit, Zoom 툴을 사용하여 씬 뷰를 다음의 씬 뷰와 비슷하게 만듭니다(그림 04). Unity에서 사전 경험이 없거나 다시 확인해야 하는 경우 씬 뷰에 있는 퀵 가이드를 통해 Moving, Orbit, Zoom을 참조하세요.
3. 중경 요소 생성: 고층 건물
이제 고층 건물을 빌드해보겠습니다. 단순한 형태로 인해 여러 개의 큐브 프리미티브 오브젝트를 사용하여 스케치할 수 있습니다. 프리미티브 오브젝트는 Unity 내에서 직접 만들 수 있습니다. Unity에는 프리미티브 오브젝트가 여러 개 있는데, 이 수업에서는 주로 큐브로 작업을 진행할 것입니다. 하지만 스피어, 캡슐, 실린더 등의 다른 옵션도 있습니다.
1. GameObject > 3D Object > Cube로 이동합니다. 새 큐브 게임 오브젝트가 계층 구조 창에 추가되고 씬에 배치됩니다.
2. 마우스 커서를 씬 뷰 위에 올려놓고 큐브를 선택한 다음 키보드의 “F” 키를 누르면 뷰의 포커스가 큐브에 다시 맞춰집니다(그림 05).
이제 씬 뷰 내에서 큐브를 자유롭게 조작할 수 있습니다. Autodesk Maya와 같은 DCC(Digital Content Creation) 패키지와 마찬가지로 Unity의 씬 뷰도 Maya의 뷰포트와 비슷한 기능을 합니다.
Maya에서 사용하는 동일한 단축키를 사용하여 큐브를 변환하고 회전할 수 있습니다. 예를 들어, 단축키는 다음과 같습니다.
W: Move 툴: 씬 주변 큐브 변환
E: Rotate 툴: 축을 따라 큐브 회전
R: Scale 툴: 큐브 크기를 균일하게 또는 개별 축을 따라 조정
3. 큐브를 선택한 상태에서 W, E, R 단축키를 사용하여 큐브 변환, 회전 및 크기 조정 작업을 해봅니다. 단축키에 익숙해지면 과정 내내 매우 유용합니다.
4. 큐브를 평면 왼쪽에 배치해 봅니다. Transform, Rotate, Scale 툴을 사용하여 큐브 상단을 씬에 있는 원경 요소의 상단 중 하나에 맞춰봅니다. 다음 단계에서 정확한 크기 조정이 이루어지므로 지금은 정확성을 기하지는 않아도 됩니다. 하지만 각 툴의 작동 방식은 어느 정도 숙지하는 것이 좋습니다(그림 06).
5. 큐브를 선택한 상태에서 Scale 값을 X:8, Y:42, Z:8로 조정합니다.
Maya 사용이 익숙하다면 기타 단축키를 사용하여 도시 경관을 구성하는 다른 4개의 고층 건물에 대해 이 큐브를 복제할 수 있습니다.
6. 씬 뷰 또는 계층 구조 창에서 큐브를 선택하고 Ctrl/Cmd+D를 눌러 4번 더 복제합니다. 제어를 강화하려면 Ctrl/Cmd 키를 길게 눌러 각 큐브가 이전에 생성된 평면에 스내핑되도록 새 큐브를 변환합니다. 복제가 완료되면 가로 및 세로 크기를 조정하여 높이와 폭을 대체합니다(그림 07).
7. 각 건물을 조금씩 비켜놓거나 또는 아래 그림과 같이 배치합니다(그림 08).
씬을 전개하고 계층 구조 창에서 더 많은 오브젝트를 생성하는 과정에서 정리를 하는 것이 매우 중요합니다. 이 내용도 곧 설명해드리겠습니다.
8. 계층 구조 창에서 Create(+ 기호)를 선택하고 빈 게임 오브젝트를 생성한 다음 게임 오브젝트 이름을 Highrises로 바꿉니다. 다음으로, Highrises 게임 오브젝트 아래에 방금 생성한 5개의 고층 건물을 드래그 앤 드롭하여 놓습니다(그림 09).
Unity에서 Highrises 게임 오브젝트는 이제 부모 게임 오브젝트로 간주하고 그 아래 놓인 큐브는 자식 게임 오브젝트로 간주합니다 (계층 구조 창에 대해 자세히 알아보려면 여기를 클릭). 지금까지 Unity에서 오브젝트를 생성하는 두 가지 방법을 알아보았습니다. 하나는 상단 메뉴 > GameObject로 이동하는 것이고 다른 하나는 계층 구조 창에서 Create(+ 기호)를 이용하는 것입니다.
4. 다층 구조로 된 고층 건물 만들기
각 고층 건물 사이에 다층 구조의 건물이 보일 수 있다는 레퍼런스를 확인합니다. 이를 다층 구조의 고층 건물이라고 하겠습니다(그림 10).
1. 다른 큐브를 생성하고 Scale을 X:4, Y:30, Z:4로 설정한 다음 4번 복제합니다. 각 큐브의 Y 높이는 10-30 사이 값으로 다르게 설정합니다. 아래와 비슷한 셰이프가 만들어질 때까지 각 큐브의 크기를 조정하여 배치합니다(그림 11).
2. 계층 구조 창에서 빈 게임 오브젝트를 생성하고 이름을 Multi-Highrise로 바꿉니다. 다음으로, Multi-Highrise 아래에 5개의 새 큐브를 놓습니다(그림 12).
3. 이제 계층 구조 창에서 이 부모 게임 오브젝트를 4번 복제합니다. 그러면 개별적으로 수정해야 하는 큐브가 아닌 그룹으로 구조의 크기를 조정하여 배치할 수 있습니다.
4. 그림과 같이 각 고층 건물 구조물을 대략적으로 배치합니다(그림 13).
5. 씬에서 건물들이 떨어진 정도를 확인합니다. 건물을 서로 더 가깝게 위치시켜 도시의 밀집도를 높입니다.
6. 이제 고층 건물의 크기를 조정하고 회전합니다. 이러한 새 건물의 크기를 조정하여 회전하면 실제 도시처럼 다양한 층수와 형태를 보여주는 스카이라인을 빠르게 구성할 수 있습니다(그림 14).
7. 작업을 저장합니다. File > Save로 이동합니다.
5. 특별한 건물 식별 및 스케치
고층 건물과 원경을 제자리에 배치하면 근경을 구성하는 나머지 건물의 스케치를 준비할 수 있습니다. 근경 건물을 생성하는 방식을 통해 구성력이 판가름납니다. 오브젝트 위치는 이 수업에서 보여주는 오브젝트 위치와 정확하게 같은 필요는 없지만 큐브 크기는 동일하게 유지해 봅니다.
1. 근경 건물이 너무 많기 때문에 이를 크기별로 정리하려고 합니다. 6개의 빈 게임 오브젝트를 생성하고 다음과 같이 이름을 지정합니다. LargeForegroundBlds, LargeForegroundBlds2, MediumForegroundBlds, MediumForegroundBlds2, SmallForegroundBlds, SmallForegroundBlds2
2. Scale 값이 X:15, Y:16, Z:15인 가장 큰 큐브를 생성합니다. 이 큐브를 3번 복제하고 그림과 같이 대략적으로 배치합니다(그림 16). 부모 게임 오브젝트인 LargeForegroundBlds 안에 3개의 큐브를 놓습니다.
3. Scale 값이 X:7, Y:15, Z:10인 다음으로 큰 큐브를 생성합니다. 이 큐브를 3번 복제하고 그림과 같이 대략적으로 배치합니다(그림 17). 부모 게임 오브젝트인 LargeForegroundBlds2 안에 3개의 큐브를 놓습니다.
4. Scale 값이 X:7, Y:7, Z:14인 중간 크기의 큐브를 생성합니다. 이 큐브를 3번 복제하고 그림과 같이 대략적으로 배치합니다(그림 18). 부모 게임 오브젝트인 MediumForegroundBlds 안에 3개의 큐브를 놓습니다.
5. Scale 값이 X:10, Y:4, Z:17인 그다음 수준의 중간 크기 큐브를 생성합니다. 이 큐브를 3번 복제하고 그림과 같이 대략적으로 배치합니다(그림 19). 부모 게임 오브젝트인 MediumForegroundBlds2 안에 3개의 큐브를 놓습니다.
6. Scale 값이 X:6, Y:8, Z:6인 작은 큐브를 생성합니다. 이 큐브를 4번 복제하고 그림과 같이 대략적으로 배치합니다(그림 20). 부모 게임 오브젝트인 SmallForegroundBlds 안에 5개의 큐브를 놓습니다.
7. Scale 값이 X:7, Y:5, Z:8인 그다음으로 작은 큐브를 생성합니다. 이 큐브를 2번 복제하고 그림과 같이 대략적으로 배치합니다(그림 21). 부모 게임 오브젝트인 SmallForegroundBlds2 안에 2개의 큐브를 놓습니다.
8. 마지막으로 계층 구조 창의 정돈 상태를 확인하는 것이 중요합니다(그림 22).
6. 요약
프리미티브 오브젝트는 더 복잡한 지오메트리의 토대가 됩니다. 지금까지 3D에서 프리미티브 오브젝트를 사용하여 2D 스케치를 변환하는 방법을 배웠습니다. 하지만 아직 부족합니다. 다음 수업에서는 이러한 오브젝트를 수정하여 더 흥미로운 셰이프를 생성하는 방법을 배워보도록 하겠습니다.