공부/Unity
[Unity] Player 효과음 주기 (Audio Source, Audio Clip)
돌멩이수프
2025. 6. 3. 15:53
728x90
플레이어가 점프를 하거나 공격을 할 때 효과음을 주고 싶다면 코드에서 Audio Source와 Audio Clip을 조작하면 된다.
소리를 주고 싶은 GameObject에 Audio Source 컴포넌트를 추가해준다. 소리가 계속 나오게 할 거라면 Audio Resource에 바로 음악 파일을 넣어주면 되지만 우리는 점프할 때 효과음을 주고 싶으니 빈 칸으로 둔다.
기본적으로 Play On Awake가 체크된 상태일 텐데 이렇게 하면 오브젝트가 생성되는 순간 효과음이 나오기 때문에 체크를 해제해준다.
public class PlayerController : MonoBehaviour
{
AudioSource _audioSource;
AudioClip _audioClip;
void Start()
{
_audioSource = GetComponent<AudioSource>();
}
void FixedUpdate()
{
Moving();
}
protected virtual void Moving()
{
if (Input.GetKey(KeyCode.W) && _isGround && !_isJump)
{
_audioClip = Resources.Load<AudioClip>("Sound/Jump");
_audioSource.clip = _audioClip;
_audioSource.Play();
}
}
}
PlayerController에서 당장 필요한 부분만 꺼내왔다.
음악 자체를 조절하는 AudioSource와 필요한 음악을 골라와줄 AudioClip을 변수로 두고 사용한다.
점프를 하는 순간 AudioClip을 Resources/Sound/Jump로 변경하고 AudioSource의 클립을 해당 음악으로 변경한다.
AudioSource를 플레이하면 캐릭터가 점프하는 순간 효과음이 재생된다.
728x90