Skip to content

오브젝트 생성기

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에 적용하려면 다음과 같이 수행하면 된다.

  1. 원하는 오브젝트에 "RandomObjectsPlacer" 스크립트를 적용한다.
  2. 스크립트 인스펙터를 통해 설정한다.
  3. play하여 스크립트를 빌드시켜 프리팹들을 생성한 후, pause 하여 일시정지한다.
  4. 생성된 프리팹들을 Hiearachy에서 정리하여 복제한다.(ex. Create Empty Parent하여 같은 종류의 프리팹끼리 정리)
  5. stop한 뒤 기존의 Scene의 Hiearachy에 붙여넣는다.

이와 같은 방식을 사용하면,
해당 스크립트로 다양한 오브젝트들을 자동으로 랜덤하게 생성 및 배치하여 자연스러운 맵 제작에 활용할 수 있다.