이 영역을 누르면 첫 페이지로 이동
컴01기 블로그의 첫 페이지로 이동

컴01기

페이지 맨 위로 올라가기

컴01기

힝입니다.

[Unity] Object.Instantiate 정리

  • 2020.05.31 23:22
  • etc/Unity

간단하게 설명하기!

기존의 object를 복제하여 새로운 object를 생성하는 함수이다.

복제할 때 parameter들을 이용하여 parent object, position, rotation 등의 값들을 지정할 수 있다.

 

Object.Instantiate

public static Object Instantiate(Object original);
public static Object Instantiate(Object original, Transform parent);
public static Object Instantiate(Object original, Transform parent, bool instantiateInWorldSpace);
public static Object Instantiate(Object original, Vector3 position, Quaternion rotation);
public static Object Instantiate(Object original, Vector3 position, Quaternion rotation, Transfom parent);

 

Parameters

origianl 복사본을 만들 기존 개체
position 새로운 개체의 위치
rotation 새로운 개체의 방향
parent 새로운 개체에 할당될 parent
instantiateInWorldSpace parent 개체를 할당할 때 전달하는 bool 값
true : 새로운 개체를 월드 공간에 직접 배치하겠다는 뜻
false : 새로운 개체의 위치를 parent에 대해 상대적으로 설정하겠다는 뜻

 

Returns

Object 형태로 리턴.

original object를 Instantiated 시킨 clone을 리턴한다.

이때 Instantiated 되었다는 것은 위의 parameter값들을 적용했다는 뜻으로 이해하면 된다.

 

Description

  • original object를 복제하고 clone을 리턴한다!
  • 이 함수는 editor에서 Duplicate command를 하는 것과 비슷한 방식*으로 object의 복사본을 만든다.
  • * Hierarchy 창에서 object를 선택하고 Duplicate 하는 것. 단축키로는 Ctrl+D
  • GameObject를 복제하는 경우, position과 rotation을 지정할 수 있다.
  • default 값은 original GameObject의 position && rotation과 동일하다.
  • Component를 복제하는 경우, 그 Component가 부착된 GameObject도 복제된다.
  • 지정했다면, position과 rotation 또한 적용되어 복제된다.
  • GameObject 또는 Component를 복제하면, 그것의 모든 child object와 component들도 original object의 properties들이 복제됐던 것처럼 properties들이 설정된 상태로 복제된다.
  • 새로운 object의 default parent는 null이다; original의 "sibling"이 아니다.
  • 그러나, overloadede methods를 사용하여 parent를 설정할 수 있다.
  • parent가 지정되고 position과 rotation이 지정되지 않은 경우, original object의 position과 rotation이 복제된 object의 local position과 rotation으로 사용된다.
  • instantiateInWorldSpace parameter가 true인 경우에는 월드 공간에서의 position과 rotation이 사용된다.
  • position과 rotation이 지정되어 있는 경우에는 그 값들이 월드 공간에서의 object의 position과 roatation으로 사용된다.
  • 복제 시 GameObject의 active status는 유지되므로, originals이 inactive일 경우 복제본도 inactive 한 상태로 생성된다. 또한 hierarchy에 있는 object와 모든 child objcet에 대해, 그들의 각각의 Monobehavious와 Component들은 메소드 호출을 하는 시점에서 hierarchy에서 active 할 경우에만 그들의 Awake와 OnEnable 메서드를 호출한다.
  • 이 방법들은 새로운 인스턴스화 물체에 prefab connection을 만들지 않는다.
  • PrefabUtility.InstantiatePrefab를 사용하면 prefab connection이 있는 object를 만들 수 있다.

 

 

Unity Documentation : https://docs.unity3d.com/ScriptReference/Object.Instantiate.html

'etc > Unity' 카테고리의 다른 글

[Unity] Transform 정리  (0) 2020.06.01
[Unity] Component.CompareTag 정리  (0) 2020.06.01
[Unity] Raycasthit 정리  (0) 2020.06.01
[Unity] Physics.Raycast 정리  (0) 2020.06.01

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [Unity] Transform 정리

    [Unity] Transform 정리

    2020.06.01
  • [Unity] Component.CompareTag 정리

    [Unity] Component.CompareTag 정리

    2020.06.01
  • [Unity] Raycasthit 정리

    [Unity] Raycasthit 정리

    2020.06.01
  • [Unity] Physics.Raycast 정리

    [Unity] Physics.Raycast 정리

    2020.06.01
다른 글 더 둘러보기

정보

컴01기 블로그의 첫 페이지로 이동

컴01기

  • 컴01기의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (87)
    • 📰논문 리뷰 (16)
    • 🍒회고록 (4)
    • 🖤네이버 ai tech (0)
    • ✨글쓰는힝 (1)
    • 🔥취준일기 (2)
    • 🎲유니티 (2)
    • 🔨삽질 (10)
    • 📚 서적 리뷰 (4)
    • 🐹알고리즘 (4)
    • 😎정리하는 카테고리 (4)
    • 📝CS 공부 (6)
      • 운영체제 (1)
      • 네트워크 (4)
      • 리팩토링 (1)
    • etc (22)
      • 혼공단 (7)
      • Spring (7)
      • JS (1)
      • OpenCV (2)
      • Unity (5)

최근 글

인기 글

댓글

태그

  • github
  • 혼공학습단
  • 혼공머신
  • 혼공단
  • 혼공SQL
  • 백준
  • unity
  • 회고록

나의 외부 링크

  • Github
  • Youtube

정보

힝님의 컴01기

컴01기

힝님

방문자

  • 전체 방문자
  • 오늘
  • 어제

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © 힝님. Designed by Fraccino.

티스토리툴바