Instantiate
보통 유니티에서 오브젝트를 런타임 중 생성할 때 Instantiate 메서드를 많이 사용한다.
이 메서드는 객체의 복사본을 만들고 복제본을 반환한다.
복제본을 반환하므로 프리팹을 매개변수로 하여 생성하였다면,
이 메서드로 복제된 오브젝트는 더 이상 프리팹 연결을 유지하지 않는다.
(=오브젝트가 변경되어도 프리팹의 정보가 바뀌지 않는다.)
PrefabUtility.InstantiatePrefab
Instantiate와 유사하지만 복제본이 아닌 프리팹에 대한 프리팹 연결을 생성한다.
이 메서드를 사용하기 위해서는 using UnityEditor;을 선언해야 한다.
이 메서드를 사용한 경우, 아래처럼 코드 블록 내부에 UNITY_EDITOR를 사용해야한다.
#if UNITY_EDITOR
// 여기에 코드 블록
#endif
유니티는 Editor에서만 처리를 할 수 있도록 UNITY_EDITOR 심볼을 제공하는데,
빌드를 하면 스크립트 컴파일 시 #if UNITY_EDITOR, #endif로 둘러싼 코드는 컴파일을 하지 않는다.
'유니티 개발 기술 > 스크립팅 & 프로그래밍' 카테고리의 다른 글
접근 제한자 (Access Modifier) (0) | 2024.05.16 |
---|---|
유니티에서 협업할 때 사용할만한 어트리뷰트 (0) | 2023.10.13 |
Update vs FixedUpdate (0) | 2023.07.31 |
GetComponent 함수 (0) | 2023.07.30 |
이벤트, 이벤트리스너, 이벤트핸들러, 콜백함수의 관계 (0) | 2023.07.29 |