차이

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

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
unity:instantiatingprefabs [2015/08/22 11:41] V_Lunity:instantiatingprefabs [2022/10/09 11:07] (현재) V_L
줄 1: 줄 1:
 +{{tag>유니티 unity 프리팹 인스턴스화}}
  
 ======실시간으로 프리팹을 인스턴스화 하기 (Instantiating Prefabs at runtime)====== ======실시간으로 프리팹을 인스턴스화 하기 (Instantiating Prefabs at runtime)======
  
-이 시점에서 사용자는 ''프리팹 Prefabs'' 에 관한 기초적인 개념을 이해하고 있어야 한다. 프리팹은 사용자의게임을 통털어 재사용이 가능한 미리 설정된 ''게임오브젝트 GameObjects''들과 ''컴포넌트 Components''들의 집합이다. 프리팹이 무엇인지 모를 경우, 기초 지식을 위해  [[unity:Prefabs]]  페이지를 읽어보시길 권유한다.+이 시점에서 사용자는 ''프리팹 Prefabs'' 에 관한 기초적인 개념을 이해하고 있어야 한다. 프리팹은 사용자의게임을 통털어 재사용이 가능한 미리 설정된 ''게임오브젝트 GameObjects''들과 ''컴포넌트 Components''들의 집합이다. 프리팹이 무엇인지 모를 경우, 기초 지식을 위해  [[unity:prefabs]]  페이지를 읽어보시길 권유한다.
  
 프리팹은 복잡한 게임오브젝트를 실행 도중에 인스턴스화(instantiate) 시키길 원하는 경우 매우 유용하다.  프리팹을 인스턴스화 하는 것 외에 다른 방안은 코드를 사용해 처음부터 여러 게임오브젝트를 만드는 것이다. 프리팹 인스턴스화는 이런 대안에 비하여 더 많은 장점들을 가지고 있으며, 다음과 같다. 프리팹은 복잡한 게임오브젝트를 실행 도중에 인스턴스화(instantiate) 시키길 원하는 경우 매우 유용하다.  프리팹을 인스턴스화 하는 것 외에 다른 방안은 코드를 사용해 처음부터 여러 게임오브젝트를 만드는 것이다. 프리팹 인스턴스화는 이런 대안에 비하여 더 많은 장점들을 가지고 있으며, 다음과 같다.
줄 108: 줄 109:
 } </file> } </file>
  
-====캐릭터를 랙돌 ragdoll 이나 망가진 것으로 교체하기 (Replacing a character with a ragdoll or wreck)====+====캐릭터를 랙돌 (ragdoll이나 망가진 것으로 교체하기 (Replacing a character with a ragdoll or wreck)====
  
 만약 사용자가 완전히 리깅된 적 캐릭터를 가지고 있는데 그가 죽었다고 가정해 보라. 이 경우 사용자는 단순히 캐릭터에 죽음 애니메이션이 작동하게 하고 그 적 캐릭터의 로직을 다루는 모든 스크립트를 사용불가 disable 상태로 만들수도 있다. 이때 사용자는 몇몇 스크립트들을 제거하고, 다른 아무도 죽은 적을 더 이상 공격하지 않는 몇몇 커스텀 로직을 더해야 하는 등등의 여러가지 청소 작업에 신경 써야 할 것이다. 만약 사용자가 완전히 리깅된 적 캐릭터를 가지고 있는데 그가 죽었다고 가정해 보라. 이 경우 사용자는 단순히 캐릭터에 죽음 애니메이션이 작동하게 하고 그 적 캐릭터의 로직을 다루는 모든 스크립트를 사용불가 disable 상태로 만들수도 있다. 이때 사용자는 몇몇 스크립트들을 제거하고, 다른 아무도 죽은 적을 더 이상 공격하지 않는 몇몇 커스텀 로직을 더해야 하는 등등의 여러가지 청소 작업에 신경 써야 할 것이다.
줄 156: 줄 157:
 사용자가 다양한 오브젝트들을 그리드나 원형의 패턴에 놓고 싶어한다고 합시다. 예전에는 이것들을 다음과 같은 방법들로 실현했다: 사용자가 다양한 오브젝트들을 그리드나 원형의 패턴에 놓고 싶어한다고 합시다. 예전에는 이것들을 다음과 같은 방법들로 실현했다:
  
-  - 완전히 코드만으로 객체를 만듭니다. 이는 굉장히 지루다. 한 스크립트에 값들을 넣는 것은 작업속도가  느려질 뿐만 아니라 직관적이지도 않아 힘만 들게 된다.+  - 완전히 코드만으로 객체를 만듭니다. 이는 굉장히 지루다. 한 스크립트에 값들을 넣는 것은 작업속도가  느려질 뿐만 아니라 직관적이지도 않아 힘만 들게 된다.
   - 완전히 리깅된 오브젝트를 만들고, 그것을 복제해서 씬 Scene 의 여러 곳에 배치하는 방법이다. 이 또한 지루한 작업이며, 객체들을 그리드 (좌표) grid 에 정확하게 놓는 것은 어렵다.   - 완전히 리깅된 오브젝트를 만들고, 그것을 복제해서 씬 Scene 의 여러 곳에 배치하는 방법이다. 이 또한 지루한 작업이며, 객체들을 그리드 (좌표) grid 에 정확하게 놓는 것은 어렵다.
  
-그러므로, 프리팹과 //Instantiate()// 를 이용하라! 이러한 시나리오들에서 왜 프리팹들이 유용한지 이제는 이해가 되실 것이다. 이 시나리오들을 위해 필요한 코드는 다음과 같다:+그러므로, 프리팹과 //Instantiate()// 를 이용하라! 이러한 시나리오들에서 왜 프리팹들이 유용한지 이제는 이해가 될 것이다. 이 시나리오들을 위해 필요한 코드는 다음과 같다:
  
 <file csharp>// 원 안에서 프리팹 인스턴스들 만들기 <file csharp>// 원 안에서 프리팹 인스턴스들 만들기
줄 191: 줄 192:
 } </file> } </file>
  
-{{tag>유니티 unity}} 
    * 출처: [[http://unitykoreawiki.com/index.php?n=KrMain.InstantiatingPrefabs|유니티코리아위키]] (CC BY-NC-SA 2.0)    * 출처: [[http://unitykoreawiki.com/index.php?n=KrMain.InstantiatingPrefabs|유니티코리아위키]] (CC BY-NC-SA 2.0)
 +
 +
 +https://angliss.cc/random-gameobject-created/
 +
  

CC Attribution-Noncommercial-Share Alike 4.0 International 별도로 명시하지 않을 경우, 이 페이지의 내용은 다음 라이선스에 따라 사용할 수 있습니다: CC Attribution-Noncommercial-Share Alike 4.0 International
unity/instantiatingprefabs.1440243682.txt.gz · 마지막으로 수정됨 (바깥 편집)