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
'공부 > Unity' 카테고리의 다른 글
[Unity] 버튼 클릭 이벤트가 실행되지 않는다? (0) | 2025.06.06 |
---|---|
[Unity] WASD 키보드 입력과 Slider value (캐릭터 HP와 움직임) (0) | 2025.06.03 |
2D 도트 픽셀 그리기 사이트 (0) | 2025.05.07 |
[Unity] Camera View와 Game View가 일치하지 않는 문제 (1) | 2024.12.14 |
[Unity] Composite Collider 2D 적용 후 Play 눌렀을 때 화면이 위로 올라가는 현상 (0) | 2024.01.22 |