반응형
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Cube : MonoBehaviour
{
public AudioClip bulletSound = null;
private void Start()
{
CreateSoundObject();
}
private void CreateSoundObject()
{
//게임 오브젝트 생성 (사운드 오브젝트)
GameObject soundObject = new GameObject("SoundObject");
//생성된 사운드 오브젝트를 자식으로... -> 총알이 멀어지면 소리도 함께 멀어져야하니까
soundObject.transform.SetParent(this.transform);
//사운드 포지션, 로테이션 (0, 0, 0)으로 초기화
soundObject.transform.localPosition = Vector3.zero;
soundObject.transform.localRotation = Quaternion.identity;
//사운드 오브젝트에 AudioSource 컴포넌트 붙이기
AudioSource source = soundObject.AddComponent<AudioSource>();
//사운드 오브젝트 클립 연결
source.clip = bulletSound;
//반복 재생할건지. 반복 재생할 거면 true 한번만 재생할 거면 false
source.loop = true;
//3D 사운드, pan level key값 1로
//1에 가까워질수록 3D 사운드에 가까워짐
AnimationCurve ac = source.GetCustomCurve(AudioSourceCurveType.SpatialBlend);
Keyframe[] keys = new Keyframe[1];
for(int i = 0; i <keys.Length; i++)
{
keys[i].value = 1.0f;
}
ac.keys = keys;
source.SetCustomCurve(AudioSourceCurveType.SpatialBlend, ac);
//==============================================//
//클립 재생
source.Play();
}
}
ctrl k f 코드 정렬
ctrl a
반응형
'Unity_C# > Unity' 카테고리의 다른 글
[Unity/C#] Steam VR teleport할 깜빡거리는 문제 (0) | 2020.09.15 |
---|---|
[Unity/C#] Pooling시 Audio 관리 (0) | 2020.09.11 |
[Unity/C#] Unity와 Visual Studio가 연결이 안되어 있을 때 (2) | 2020.09.07 |
[Unity] Steam VR / Vive Input Utility 컨트롤러 진동 주는 법 (0) | 2020.08.21 |
[Unity] Steam VR teleport 버튼 시선 이동 문제 (0) | 2020.08.13 |