파티클 시스템, 애니메이션 이벤트, 사운드 컨트롤

유승아·2024년 6월 14일

내일배움캠프

목록 보기
56/69

1. 파티클 시스템

  • 수 천개의 작은 2D 또는 3D 오브젝트들을 관리하고, 그들의 동작과 생애를 제어한다. 각각의 작은 오브젝트를 '파티클'이라고 부른다.
  • 주요 컴포넌트는 'emitter'(발사체), 'particles'(파티클), 'animator'(애니메이터), 'renderer'(렌더러) 등으로 이루어져 있다.
  • Unity의 파티클 시스템은 시간에 따른 파티클의 행동을 시뮬레이션하며, 이를 위해 각 파티클에 대해 위치, 속도, 수명, 색상, 크기 등의 정보를 저장한다.
  • 성능 최적화를 위해 다양한 기능을 제공한다. 예를 들어, 시스템의 최대 파티클 수를 제한하거나, 파티클의 적용 범위를 제한하는 등의 기능이 있다.

1) 주요 모듈

  • Main 모듈
    • 파티클의 움직이는 속도, 크기, 회전, 최대 파티클 수를 정할 수 있다.
    • 이러한 값들을 일반적인 상수값말고도 Random Between Two Constant 등을 통해 랜덤한 값을 넣는 등 다양한 값을 넣을 수 있다.
  • Renderer 모듈
    • 파티클을 어떻게 보여줄 지에 대해 정의한다.
    • 어떤 파티클을 표현할 지, Order in Layer는 어떻게 되는지 등을 결정해서 보여줄 수 있다.
  • Shape 모듈
    • 생성되는 모양에 대한 내용을 정의한다.
    • 박스, 콘, 도넛 형태 등 다양한 생성 형태를 정의한다.
  • Emission 모듈
    • 파티클이 생성될 1초당 생성량, 움직일 때 생성될 양, 한번에 왕창 생성되는 패턴(Burst : 양, 시간, 간격) 등을 설정할 수 있다.

2. 애니메이션 이벤트

  • 애니메이션 이벤트를 사용하면 애니메이션이 진행되는 동안 코드를 실행시킬 수 있다.
    • 캐릭터가 특정 동작을 할 때 사운드를 재생하거나, 특정 애니메이션 프레임에서 파티클 시스템을 발사하는 등의 작업을 할 수 있다.
  • 애니메이션 편집기를 통해 애니메이션 타임라인에 이벤트를 추가하고, 해당 이벤트가 호출할 함수를 지정할 수 있다.
  • 해당 애니메이션 클립이 재생되는 게임 오브젝트에 연결된 모든 스크립트에서 호출할 수 있는 함수를 실행할 수 있다.
  • 이벤트는 특정 프레임에서만 실행되며, 애니메이션 상태가 변경될 때에도 자동으로 실행되지 않는다.
  • 애니메이션 이벤트를 사용하면 애니메이션과 코드의 상호작용을 더욱 유연하게 관리할 수 있다.
    • 이를 통해 애니메이션의 시각적 효과와 사운드, 효과 등의 프로그래밍적 요소를 조화롭게 통합할 수 있다.
  • 애니메이션 이벤트를 통해 호출되는 함수는 일반적으로 공용 함수(public function)이어야 하며, 매개변수가 없거나 최대 하나의 매개변수를 가질 수 있다.

3. 사운드 컨트롤

  • AudioClip

    • 사운드 파일을 Unity에서 사용할 수 있도록 하는 데이터 타입이다.
    • .wav, .mp3, .ogg 등 다양한 형식의 오디오 파일을 지원한다.
  • AudioSource

    • AudioSource 컴포넌트는 사운드를 재생하는 데 사용된다.
    • AudioSource에 AudioClip을 연결하여 재생할 수 있다.
    • AudioSource는 3D 사운드 설정, 볼륨 조절, 사운드 반복 재생 등의 설정을 제공한다.
  • AudioListener

    • AudioListener 컴포넌트는 사운드를 듣는 포인트를 나타낸다.
    • 일반적으로 주요 카메라에 AudioListener가 위치한다.
    • 게임에는 하나의 AudioListener만 있어야 한다.

0개의 댓글