-
Notifications
You must be signed in to change notification settings - Fork 0
오브젝트 생성기
WooTak edited this page Apr 27, 2024
·
10 revisions
원하는 오브젝트를 생성하여 배치한다.
- 원하는 오브젝트에 "RandomObjectsPlacer" 스크립트를 적용하여 인스펙터 항목을 수정하여 사용한다.
- 설정한 프리팹들을 오브젝트의 지정 영역에 생성하여 배치한다.
- 지정한 영역 내부에서 생성되는 프리팹의 위치 좌표값의 경우 x, z축은 랜덤하게 결정되며 y축의 경우 영향을 받지 않는다.
(오브젝트의 표면에 맞춰 위에 생성됨)
- 기본적으로 생성되는 모든 프리팹의 y축 Rotation 값은 0 ~ 359 중 랜덤하게 설정된다.
- 스크립트를 오브젝트에 적용 후, play 시 빌드되어 자동적으로 프리팹들이 생성된다.
- Object Prefabs Settings
* Prefab : 프리팹 선택
* Number : 생성할 프리팹 갯수
* Scale Range(x, y) : 생성되는 프리팹 크기의 최소, 최대 범위 수치
< ! Area 항목의 y축 입력값들은 영향을 받지 않음 >
- Area Size(x, z) : 프리팹을 생성할 영역(범위)의 크기
- Area Position Offset(x, z) : 오브젝트의 중심을 기준으로 생성되는 영역의 상대 좌표(좌표 이동 기능)
매번 랜덤하게 프리팹들을 배치하는 목적이 아니라, 생성한 프리팹들을 Scene에 적용하려면 다음과 같이 수행하면 된다.
- 원하는 오브젝트에 "RandomObjectsPlacer" 스크립트를 적용한다.
- 스크립트 인스펙터를 통해 설정한다.
- play하여 스크립트를 빌드시켜 프리팹들을 생성한 후, pause 하여 일시정지한다.
- 생성된 프리팹들을 Hiearachy에서 정리하여 복제한다.(ex. Create Empty Parent하여 같은 종류의 프리팹끼리 정리)
- stop한 뒤 기존의 Scene의 Hiearachy에 붙여넣는다.
이와 같은 방식을 사용하면,
해당 스크립트로 다양한 오브젝트들을 자동으로 랜덤하게 생성 및 배치하여 자연스러운 맵 제작에 활용할 수 있다.