🎮 Unity

[UNITY] 프리팹(Prefab) 생성

dlalwl_jpg 2023. 3. 5. 16:16

이제 당근을 배치해보자. 

당근 홀짝 게임 시안

위 사진처럼 토끼 뒤에 당근 12개를 랜덤으로 출현시켜야 한다. 랜덤 출현을 적용하기 전에 먼저 당근 12개를 프리팹을 이용하여 배치할 것이다. 똑같은 오브젝트를 여러 개 배치해야 하는 경우 필요한 컴포넌트를 만들면 매우 비효율적이게 된다. 이때 사용하는 것이 프리팹이다. 예를 들어, 당근 12개를 복제하여 이미지를 배치한 후 당근의 크기를 바꾸고 싶으면 12개를 하나하나 바꿔줘야한다. 하지만 프리팹을 이용하면 일일히 바꿔줘야하는 번거로움이 없어질 수 있다.


1. 프리팹 생성하기

프리팹으로 설정할 게임오브젝트를 하이어라키에 넣은 후 크기와 위치를 조정해주었다. 나는 image폴더에서 carrot 이미지를 드래그해주었다. 그리고 Assets 폴더에 Prefabs 폴더를 만들어 하이어라키에 있는 carrot 이미지를 드래그해 넣었다.

그럼 위 사진처럼 파란색으로 변하는데 그럼 프리팹이 생성된 것이다.


2. 프리팹 인스턴트화

생성한 프리팹을 Scene으로 드래그하면 동일한 오브젝트가 여러 개 생성된다. 이렇게 생성한 프리팹을 Scene에 배치하는 것을 프리팹의 인스턴트화라고 한다. 나는 하이어라키에 드래그 해주어 각 당근들을 배치하였다. 그리고 Create Empty를 만들어 당근을 한 곳에 정리하였다.


3. 프리팹 오버라이딩

위 사진을 보면 프리팹을 인스턴트화하고 각 당근을 원하는 위치에 조정을한 후 오른쪽 인스펙터를 확인하면 굵은 글씨로 바뀐 부분이 있다. 이것은 프리팹이 오버라이딩 됐다는 것을 의미한다. 오버라이딩 된 프리팹은 부모 프리팹에서 값을 변경해도 변경한 값으로 유지된다.


참고

https://novlog.tistory.com/entry/Unity3D-%ED%94%84%EB%A6%AC%ED%8C%B9-Prefabs

 

[Unity3D] 프리팹 (Prefabs)

[목차] #1 프리팹(Prefabs) #2 프리팹 생성방법 #3 프리팹 오버라이딩 (Prefabs Overriding) #4 프리팹 수정 #5 스크립트를 이용한 프리팹 인스턴스화 * 개인적인 공부 내용을 기록한 포스팅 이기에, 잘못된

novlog.tistory.com