10
11

Instantiate

보통 유니티에서 오브젝트를 런타임 중 생성할 때 Instantiate 메서드를 많이 사용한다.

이 메서드는 객체의 복사본을 만들고 복제본을 반환한다.

복제본을 반환하므로 프리팹을 매개변수로 하여 생성하였다면,
이 메서드로 복제된 오브젝트는 더 이상 프리팹 연결을 유지하지 않는다.
(=오브젝트가 변경되어도 프리팹의 정보가 바뀌지 않는다.)

PrefabUtility.InstantiatePrefab

Instantiate와 유사하지만 복제본이 아닌 프리팹에 대한 프리팹 연결을 생성한다.

이 메서드를 사용하기 위해서는 using UnityEditor;을 선언해야 한다.

이 메서드를 사용한 경우, 아래처럼 코드 블록 내부에 UNITY_EDITOR를 사용해야한다.
#if UNITY_EDITOR 
// 여기에 코드 블록 
#endif

유니티는 Editor에서만 처리를 할 수 있도록 UNITY_EDITOR 심볼을 제공하는데,
빌드를 하면 스크립트 컴파일 시 #if UNITY_EDITOR, #endif로 둘러싼 코드는 컴파일을 하지 않는다.

 

COMMENT