차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
unity:prefabs [2015/08/24 09:46] – [프리팹(Prefabs) 생성] V_Lunity:prefab [2024/03/23 01:16] (현재) – [상속] V_L
줄 1: 줄 1:
 +{{tag>유니티 unity 프리팹 prefab}}
 +
 +======프리팹(Prefab)======
  
-======프리팹(Prefabs)======+''프리팹(Prefab; premade fabrication)''은  에셋(asset)으로서 저장되어 있는 재사용 가능한 ''게임오브젝트''로써 게임내 어디에서나 재사용될 수 있다.  프리팹은 여러 개의 씬에 추가될 수 있으며 씬당 여러 번 추가되어질 수 있다.  
 +[[learning_the_interface| 
 +프로젝트 윈도우]]에 현재 프로젝트의 모든 프리펩이 표시된다. 
  
-''프리팹(Prefab; premade fabrication)''은 하나의 에셋(asset)으로  ''프로젝트 뷰''에 저장되어 있는 재사용 가능한''게임오브젝트''로써 프리팹은 여러 개의 씬에 추가될 수 있으며 씬당 여러 번 추가되어질 수 있다. 프리팹을 씬에 삽입할 때 그것의 ''instance''가 생성되어 진다. 모든 프리팹 인스턴스들은 본래의 프리팹에 연결되어지며 근본적으로 본래의 프리팹의 복제가 되는 것이다. 프로젝트에 몇 개의 인스턴스가 있는지에 상관없이 프리팹이 수정되면 모든 인스턴스들에 그 변화가 적용된다.+프리팹을 씬에 삽입할 때 그것의 ''instance''가 생성되어 진다. 모든 프리팹 인스턴스들은 본래의 프리팹에 연결되어지며 근본적으로 본래의 프리팹의 복제가 되는 것이다. 프로젝트에 몇 개의 인스턴스가 있는지에 상관없이 프리팹이 수정되면 모든 인스턴스들에 그 변화가 적용된다.
  
  
줄 18: 줄 23:
   - 메뉴바에서 **Assets->Create->Prefab** 을 선택하고 새로운 프리팹의 이름을 정한다.   - 메뉴바에서 **Assets->Create->Prefab** 을 선택하고 새로운 프리팹의 이름을 정한다.
   - ''Hierarchy View''에서 프리팹에 만들어 넣고 싶은 게임오브젝트를 선택한다.   - ''Hierarchy View''에서 프리팹에 만들어 넣고 싶은 게임오브젝트를 선택한다.
-  - Hierarchy로 부터 게임오브젝트를 ProjectView안에 새로운 프리팹으로 끌어 놓기(Drag & drop)를 한다.+  - 게임오브젝트를 Hierarchy로부터  ProjectView안으로 끌어 놓기(Drag & drop)를 한다.
  
 위 과정을 수행한 후에 게임오브젝트와 모든 자식 객체들은 프리팹 데이타 안에 복사되어 진다. 이제 프리팹은 여러 개의 인스턴스에서 재사용될 수 있다. Hierarchy안의 본래 게임오브젝트는 이제 프리팹의 인스턴스가 된다. 위 과정을 수행한 후에 게임오브젝트와 모든 자식 객체들은 프리팹 데이타 안에 복사되어 진다. 이제 프리팹은 여러 개의 인스턴스에서 재사용될 수 있다. Hierarchy안의 본래 게임오브젝트는 이제 프리팹의 인스턴스가 된다.
줄 31: 줄 36:
  
   * 하나의 프리팹 인스턴스가 선택되어 있고 모든 인스턴스에게 영향을 미치는 변화를 주고자 한다면, 소스 프리팹(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)에서의 변화에 영향받지 않을 것이다.
  
 이것은 프리팹 링크를 깨뜨리지 않으면서 그들의 소스 프리팹들로 부터 그들을 고유하게 만들기 위해 프리팹 인스턴스들을 변경시키는 것을 가능하게 한다. 이것은 프리팹 링크를 깨뜨리지 않으면서 그들의 소스 프리팹들로 부터 그들을 고유하게 만들기 위해 프리팹 인스턴스들을 변경시키는 것을 가능하게 한다.
줄 74: 줄 79:
   * 하나의 에셋의 인스턴스를 선택했다면, 그 인스펙터의 **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)