양쪽 이전 판이전 판다음 판 | 이전 판 |
unity:prefabs [2015/08/22 19:55] – V_L | unity:prefab [2024/03/23 01:16] (현재) – [상속] V_L |
---|
| {{tag>유니티 unity 프리팹 prefab}} |
| |
| ======프리팹(Prefab)====== |
| |
| ''프리팹(Prefab; premade fabrication)''은 에셋(asset)으로서 저장되어 있는 재사용 가능한 ''게임오브젝트''로써 게임내 어디에서나 재사용될 수 있다. 프리팹은 여러 개의 씬에 추가될 수 있으며 씬당 여러 번 추가되어질 수 있다. |
| [[learning_the_interface| |
| 프로젝트 윈도우]]에 현재 프로젝트의 모든 프리펩이 표시된다. |
| |
| 프리팹을 씬에 삽입할 때 그것의 ''instance''가 생성되어 진다. 모든 프리팹 인스턴스들은 본래의 프리팹에 연결되어지며 근본적으로 본래의 프리팹의 복제가 되는 것이다. 프로젝트에 몇 개의 인스턴스가 있는지에 상관없이 프리팹이 수정되면 모든 인스턴스들에 그 변화가 적용된다. |
| |
======프리팹(Prefabs)====== | |
| |
''프리팹(Prefab)''은 하나의 에셋(asset)으로 ''프로젝트 뷰''에 저장되어 있는 재사용 가능한''게임오브젝트''로써 프리팹은 여러 개의 씬에 추가될 수 있으며 씬당 여러 번 추가되어질 수 있다. 프리팹을 씬에 삽입할 때 그것의 ''instance''가 생성되어 진다. 모든 프리팹 인스턴스들은 본래의 프리팹에 연결되어지며 근본적으로 본래의 프리팹의 복제가 되는 것이다. 프로젝트에 몇 개의 인스턴스가 있는지에 상관없이 프리팹이 수정되면 모든 인스턴스들에 그 변화가 적용된다. | [[unity:instantiatingprefabs]]도 참고한다. |
| |
=====프리팹(Prefabs) 생성===== | =====프리팹(Prefabs) 생성===== |
- 메뉴바에서 **Assets->Create->Prefab** 을 선택하고 새로운 프리팹의 이름을 정한다. | - 메뉴바에서 **Assets->Create->Prefab** 을 선택하고 새로운 프리팹의 이름을 정한다. |
- ''Hierarchy View''에서 프리팹에 만들어 넣고 싶은 게임오브젝트를 선택한다. | - ''Hierarchy View''에서 프리팹에 만들어 넣고 싶은 게임오브젝트를 선택한다. |
- Hierarchy로 부터 게임오브젝트를 ProjectView안에 새로운 프리팹으로 끌어 놓기(Drag & drop)를 한다. | - 게임오브젝트를 Hierarchy로부터 ProjectView안으로 끌어 놓기(Drag & drop)를 한다. |
| |
위 과정을 수행한 후에 게임오브젝트와 모든 자식 객체들은 프리팹 데이타 안에 복사되어 진다. 이제 프리팹은 여러 개의 인스턴스에서 재사용될 수 있다. Hierarchy안의 본래 게임오브젝트는 이제 프리팹의 인스턴스가 된다. | 위 과정을 수행한 후에 게임오브젝트와 모든 자식 객체들은 프리팹 데이타 안에 복사되어 진다. 이제 프리팹은 여러 개의 인스턴스에서 재사용될 수 있다. Hierarchy안의 본래 게임오브젝트는 이제 프리팹의 인스턴스가 된다. |
| |
* 하나의 프리팹 인스턴스가 선택되어 있고 모든 인스턴스에게 영향을 미치는 변화를 주고자 한다면, 소스 프리팹(source Prefab)을 선택하기 위해 인스펙터에 있는 **Select** 버튼을 클릭한다. | * 하나의 프리팹 인스턴스가 선택되어 있고 모든 인스턴스에게 영향을 미치는 변화를 주고자 한다면, 소스 프리팹(source Prefab)을 선택하기 위해 인스펙터에 있는 **Select** 버튼을 클릭한다. |
* 스크립트로 부터 프리팹들을 인스턴스화 하는 것에 대한 정보는 [[unity3d:Instantiating Prefabs]] 페이지에서 찾아 볼 수 있다. | * 스크립트로 부터 프리팹들을 인스턴스화 하는 것에 대한 정보는 [[unity:instantiatingprefabs|]] 페이지에서 찾아 볼 수 있다. |
| |
====상속==== | ====상속==== |
| |
상속(Inheritance)은 소스 프리팹(source Prefab)이 변할 때마다 이러한 변화가 모든 연결된 게임오브젝트들에게도 영항을 미친다는 것을 의미한다. 예를 들어, 프리팹에 새로운 스크립트를 추가하면, 모든 연결된 게임오브젝트에게도 즉시 그 스크립트가 포함 되어질 것이다. 그러나 모든 연결 관계를 온전히 유지하면서 하나의 인스턴스의 특성을 변화시킬 수 있다. 하나의 프리팹 인스턴스의 어떠한 특성을 변화시키면 그 변수의 이름이 굵은 글꼴로 표현되는 것을 보게될 것이다. 그 변수는 이제 덮어 씌여(override) 진것이다. 모든 덮어 씌여진(override) 특성은 소스 프리팹(source Prefab)에서의 변화에 영향받지 않을 것이다. | [[unity:Inheritance|상속(Inheritance)]]은 소스 프리팹(source Prefab)이 변할 때마다 이러한 변화가 모든 연결된 게임오브젝트들에게도 영항을 미친다는 것을 의미한다. 예를 들어, 프리팹에 새로운 스크립트를 추가하면, 모든 연결된 게임오브젝트에게도 즉시 그 스크립트가 포함 되어질 것이다. 그러나 모든 연결 관계를 온전히 유지하면서 하나의 인스턴스의 특성을 변화시킬 수 있다. 하나의 프리팹 인스턴스의 어떠한 특성을 변화시키면 그 변수의 이름이 굵은 글꼴로 표현되는 것을 보게될 것이다. 그 변수는 이제 덮어 씌여(override) 진것이다. 모든 덮어 씌여진(override) 특성은 소스 프리팹(source Prefab)에서의 변화에 영향받지 않을 것이다. |
| |
이것은 프리팹 링크를 깨뜨리지 않으면서 그들의 소스 프리팹들로 부터 그들을 고유하게 만들기 위해 프리팹 인스턴스들을 변경시키는 것을 가능하게 한다. | 이것은 프리팹 링크를 깨뜨리지 않으면서 그들의 소스 프리팹들로 부터 그들을 고유하게 만들기 위해 프리팹 인스턴스들을 변경시키는 것을 가능하게 한다. |
* 하나의 에셋의 인스턴스를 선택했다면, 그 인스펙터의 **Apply** 버튼은 **Edit** 버튼으로 대체되어 진다. 이 버튼을 클릭하면 에셋을 위한 편집 어플리케이션을 시작할 수 있다. (Maya 또는 Max) | * 하나의 에셋의 인스턴스를 선택했다면, 그 인스펙터의 **Apply** 버튼은 **Edit** 버튼으로 대체되어 진다. 이 버튼을 클릭하면 에셋을 위한 편집 어플리케이션을 시작할 수 있다. (Maya 또는 Max) |
| |
{{tag>유니티 unity 프리팹 prefab}} | |
| |
* 출처: [[http://unitykoreawiki.com/index.php?n=KrMain.Prefabs|유니티코리아위키]] (CC BY-NC-SA 2.0) | * 출처: [[http://unitykoreawiki.com/index.php?n=KrMain.Prefabs|유니티코리아위키]] (CC BY-NC-SA 2.0) |
| |