UI 디자이너를 위한 Unity 3D (4) - Prefab

박창훈 (MERHENNE)·2021년 7월 6일
0

Unity3D.N.Designer

목록 보기
4/4
post-thumbnail

디자이너의 레시피 - Prefab

요리사들은 저마다의 고유한 레시피를 가지고 있다. 이를 이용해서 매번 동일한 양과 맛을 가진 음식들을 만들어 낸다. 엔진을 사용하는 디자이너에게 있어 레시피는 Prefab이다.

단 기간에 배우기 어렵다는 점과 수학이나 기능에 대한 개념이 어려워서 엔진을 다루는 것은 대부분 프로그래머가 해왔다. 하지만, 대부분의 프로그래머는 미적 감각이 부족하거나 배치를 세세하게 하지 않는다. (물론 미적감각이 뛰어나거나 디테일까지 작업을 하는 프로그래머도 있다.)

그래서 디자이너들도 유니티를 다룰 줄 알고, 본인이 디자인한 리소스에 대해서 Prefab 정도는 만들 수 있어야 한다.

1. Prefab 생성

프리팹을 만드는 것은 어려운 일이 아니다. 그저 Scene에서 자신이 만든 리소스들을 잘 배치한 후에 Hierarchy 창에서 Project 창으로 '드래그 앤 드롭' 하기만 하면 된다.

Hierarchy 창

Hierarchy 창, 읽는 대로 쓰면 하이어라키 창이다. Scene에 존재하는 게임 오브젝트들의 목록을 보여주는 창으로 부모, 자식의 관계인 Hierarchy(계층) 구조를 보여주는 곳이다.

위 그림을 기준으로 Demo Scene 오른쪽에 있는 점 세개는 Scene에 대한 옵션이 있다. Scene을 저장하거나 변경사항을 폐기하는 기능(Discard Changes)이 있다.

Project 창

Project 창은 Project 폴더 하위의 Asset 폴더에 포함된 리소스, 스크립트 등을 보여주는 창이다. 플러그인은 물론 Package Manager를 통해 받은 패키지도 함께 보여준다.

Project 창에서 사용되는 옵션 버튼들은 아래와 같다.

2. Prefab 수정

1) Prefab scene을 이용한 수정

Prefab을 더블 클릭하면, Prefab을 수정할 수 있는 Prefab Scene Mode으로 전환된다. 내부에서 수정한 후 Ctrl + S를 눌러 저장하거나 Hierarchy 창의 프리팹 이름 옆 화살표를 눌러 나오면 된다. 저장을 하지 않았다면 저장할 것인지, 변경된 사항을 버릴 것인지 물어보는 팝업이 나타난다.

Prefab Scene Mode 프리팹을 수정하기 위해 변형된 Scene 창이다. 원래 Scene에 있던 오브젝트는 없어지고, Prefab에 있는 오브젝트만 보인다. 이 때, Hierarchy창의 내용도 프리팹의 오브젝트로 구성된다.

변형되면서 추가된 옵션은 다음과 같다. 이전 Scene으로 이동을 누르면 저장 상태에 따라 팝업이 나타난다.

2) Override 기능을 이용한 수정

또 다른 Prefab 수정 방법으로는 현재 작업 중인 Scene에 Prefab을 옮겨 생성한 후, 수정하는 것이다. Scene에 Prefab을 옮겨 작업하는 경우, 주변에 있는 GameObject들을 함께 볼 수 있기 때문에 위치나 크기에 대한 실수를 줄일 수 있다.

Prefab과 연결된 GameObject를 수정하는 경우, Inspector 창에 Prefab에 대한 옵션이 새롭게 추가된다.

3) Prefab 재배치를 통한 수정

Prefab을 수정하는 마지막 방법은 두번째 방법과 비슷하다. 현재 작업 중인 Scene에 Prefab을 옮겨 생성하고 수정하는 것이다. 수정이 끝나면 해당 GameObject를 다시 Prefab 파일 위로 '드래그 앤 드롭'하여 재배치하면 된다. 재배치 시, 작업 수행을 확인하는 팝업이 등장한다.

이 방법을 사용할 때는 Prefab과 Scene에 생성된 GameObject의 연결을 끊는 것이 중요하다. 이 메뉴는 생성된 GameObject에 마우스를 둔 후, 오른쪽 마우스를 누르면 볼 수 있다. 유니티는 'Unpack Package'과 'Unpack Package Completely' 두 가지를 제공한다. 'Unpack Package'는 내부에 존재하는 다른 프리팹에 대한 GameObject는 그대로 둔 채로 현재 Prefab만 Unpack 한다. 'Unpack Package Completely'의 경우, 하위에 존재하는 모든 GameObject에 대해서 Prefab과의 연결을 해제한다.

위 그림과 같이 Unpack 관련 메뉴가 안 보이는 경우 Prefab이라는 메뉴 하위에 포함되어 있다.

3. 삭제

리소스 혹은 스크립트 삭제하는 법과 같다.

참고

  1. Unpack Prefab 메뉴
  2. Prefab 만드는 방법

0개의 댓글