유니티 스크립팅 - 게임 오브젝트 복제하기, Instantiate 함수

유니티에서  Instantiate 함수로 게임 오브젝트 복제하기

Object.Instantiate - 오브젝트를 복제하는 함수로 유니티 기술문서에서 다양한 용법을 확인할수있다(https://docs.unity3d.com/ScriptReference/Object.Instantiate.html)

Instantiate 함수는 오리지날을 복제하여 클론을 리턴한다. 기본적으로 에디터에서 게임 오브젝트를 duplicate(ctrl+d)하는것과 동일하며 인수를 추가하면 선택적으로 위치 및 회전을 명시할수있다.

1)씬에 empty 게임오브젝트를 생성하였다.

2)이 게임오브젝트에 아래 스크립트를 추가한다. 

Instantiate(prefab); 스크립트에서 참조하는 프리팹을 복제한다. 

Instantiate(prefab, new Vector3(1,1,1),transform.rotation); 스크립트에서 참조하는 프리팹을 복제하면서 위치 및 회전 값을 명시한다.

3)프리팹을 참조시키고 게임을 시작하면 프리팹을 복제한다. 위치,회전을 명시하지않으면 절대 좌표 0,0,0에 복제한다.

4)두번째 예제로 씬에 empty 게임오브젝트와 cube를 생성한다.

5)아래 스크립트를 empty게임오브젝트에 추가한다.  키 입력이 있으면 게임오브젝트(copyObject)를 복제한다.

6)키를 설정하고 복제할 오브젝트에는 cube를 참조시킨다.

7)게임을 플레이하고 키를 입력할때마다 cube를 복제한다.


댓글

Designed by JB FACTORY