유니티 AudioSource.PlayClipAtPoint

대표 이미지 사진은 저의 귀여운 게임 캐릭터 땃쥐랍니다 ㅎㅎ

 

PlayClipAtPoint

AudioSource.PlayClipAtPoint 함수는 게임 내의 '특정 위치'에서 오디오 클립을 재생할 수 있는 함수입니다.

AudioSource 컴포넌트를 게임 오브젝트에 부착하는 방식과 달리 이 기능은 사운드 재생에 더 많은 유연성을 제공합니다.


PlayClipAtPoint를 사용하는 이유

  1. Spatial Audio : 게임 내에 특정 위치를 지정하여 공간 오디오 효과를 생성할 수 있습니다. 소리가 특정 지점에서 나오는 것처럼 보이게 하여 플레이어를 몰입시켜 사실감과 깊이를 향상시킬 수 있습니다.
  2. 오디오 분리: 게임 개체에서 오디오 재생을 분리하여 오디오 소스 관리를 단순화하고 특정 개체의 위치 또는 수명 주기에 제약을 받지 않고 사운드 재생이 가능합니다.
  3. 동적 오디오 생성: 프로그래밍 방식으로 오디오 클립을 생성하고 특정 위치에서 재생하여 게임 플레이 이벤트에 응답하고 플레이어 경험을 향상할 수 있는 동적 및 절차적 오디오 시스템을 활성화할 수 있습니다.

사용 방법

특정 위치에서 재생할 오디오클립을 선택합니다.
사운드가 재생되어야 하는 게임 내에서 원하는 위치를 결정합니다.
AudioClip과 원하는 위치를 매개변수로 제공하여 AudioSource.PlayClipAtPoint 함수를 호출합니다.
선택적으로 볼륨, 피치 및 오디오 믹서 그룹과 같은 추가 매개변수를 지정하여 재생을 추가로 사용자 지정합니다.

using UnityEngine;

public class SoundManager : MonoBehaviour
{
    public AudioClip soundClip;         // 플레이 하고자 하는 오디오 클립
    public float volume = 1.0f;         // 오디오 클립 볼륨
    public float spatialBlend = 1.0f;   // 오디오 클립의 spatial blend
    public int priority = 128;          // 오디오 클립의 우선순위
    public AudioMixerGroup mixerGroup;  

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            AudioSource.PlayClipAtPoint(soundClip, transform.position, volume, spatialBlend, priority, mixerGroup);
        }
    }
}

Starter Assets의 예제 코드

private void OnFootstep(AnimationEvent animationEvent)
        {
            if (animationEvent.animatorClipInfo.weight > 0.5f)
            {
                if (FootstepAudioClips.Length > 0)
                {
                    var index = Random.Range(0, FootstepAudioClips.Length);
                    AudioSource.PlayClipAtPoint(FootstepAudioClips[index], transform.TransformPoint(_controller.center), FootstepAudioVolume);
                }
            }
        }

2022.10.14 - [나만의 꿀팁] - 유니티(Unity) Starter Assets사용해서 쉽게 캐릭터 움직임 구현과 카메라 컨트롤을 적용해보자!

 

유니티(Unity) Starter Assets사용해서 쉽게 캐릭터 움직임 구현과 카메라 컨트롤을 적용해보자!

Starter Assets 이건 무엇이냐? 카메라도 다 세팅되어있고 Move컨트롤도 다 구현되어 있는 아주 편한 에셋이다. Setting 에셋스토어에서 Starter Asset을 검색 후 다운받는다. 다음으로 이 에셋은 최신(New) I

wlsdn629.tistory.com


PlayClipAtPoint의 장단점

장점:

  1. 유연성: 전용 게임 개체나 오디오 소스 없이 특정 위치에서 사운드를 재생합니다.
  2. 공간 오디오: 사실적인 공간 오디오 효과로 몰입형 경험을 만듭니다.
  3. 동적 오디오: 오디오 클립을 즉석에서 생성 및 재생하여 동적 및 절차적 오디오 시스템을 활성화합니다.

 

 

단점:

  1. 제어 제한: 일단 재생되면 개별 오디오 인스턴스는 AudioSource 구성 요소와 독립적으로 작동하므로 제어가 제한됩니다.
  2. 성능 영향: 이 기능을 사용하여 많은 사운드를 동시에 재생하면 성능에 영향을 미칠 수 있습니다. 최적의 성능을 위해 오디오를 신중하게 관리하는 것이 중요합니다.

 

결과

걸을 때마다 동적으로 Shot Audio Clip 객체가 생성되는 것을 확인할 수 있다!