본문 바로가기
프로그래밍/Unity

Uinty3d 오디오클립 랜덤설정하기(AudioClip random )

by 메르세데쓰 2015. 2. 6.
반응형





안녕하세요 메르세데스입니다. 열심히 책을 보면서 Unity3d를 갖고 공부하는 중인데요..이번에 해보려고하는것은.. 소리입니다.    이런거죠.. 총을쐈을때 나는 소리와.. 총알이 물체에 맞았을때 나는 소리효과를 집어넣는것이에요..


좀 더 나아가 소리효과를 랜덤하게 설정하는 방법까지 한번 알아보도록 하겠습니다.


일단 그동안 계속 진행해오던 프로젝트에 소스를 조금만 추가해서 진행하겠습니다. 제 포스팅글의 이전것들을 하나씩 훑어보시면 됩니다... 별거없어요 ^^;


소리를 등록하려면.. 일단.. 원하는 게임오브젝트를 선택하시고.. Audoi Source라는 컴포넌트를 추가시켜주셔야 합니다.


하단에 Add Component를 눌러서 찾으시면 편하게 넣을 수 있습니다.


Unity3d Add ComponentUnity3d Add Component



그리고 소리의 음원파일이죠..  가급적 wav파일처럼.. 압축이안된 것이 게임성능 덜 영향을 줍니다.


Audio Source컴포넌트의 Audio Clip에 드래그하여 연결하여 주셔도 되지만.. Random하게 재생하게하려면.. 스크립트에서 처리를 해야겠죠.. 또한.. 하단에 Play On Awake가 있는데 이것은 체크해제하셔야합니다.


이거를 해 놓으시면.. 플레이버튼을 누르면 효과음이 한번 재생되게됩니다.    저는 소리가 나고 시작을 하길래.. 제가 만든 프로그램로직에 무슨 문제가 있는게 아닌가 한참 훑어봤었습니다.



Uinty3d Audio SourceUinty3d Audio Source



스크립트파일에 public 으로 WAV 파일을 받을 수 있도록.. public으로 AudioClip[]형식의 변수를 선언했습니다. 배열로 선언을 한 이유는..  여러개를 등록하여 처리하기 위해서입니다.


일단은.. 2개만 해보도록 하겠습니다. 2개는 10개든.. 패턴은 같습니다.


그리고 실제 오디오가 재생되는 부분에서  Random.Range(min,max)에 값을 지정해주어.. 랜덤부분을 처리하였습니다.




수정을 하고 다시 유니티화면으로 돌아오면.. 위엣처럼  오디오클립을 연결할 수 있도록 설정해둔 Public 변수 Ad가 활성화되었습니다. 여기에 몇개를 연결할 것인지 숫자를 지정해주시면.. 받을수 있는 항목이 해당갯수만큼 생성이됩니다. 


원하는 갯수만큼 연결해주시면 되죠.. 


Unity3d Audio Clip RandomUnity3d Audio Clip Random 오디오클립을 랜덤하게 처리



이렇게 연결작업까지 완료를 하고 테스트를 해봤더니 잘작동하네요..^^;  





제 맥북의 성능이 좋지 않아 버벅이고.. 녹화도중 탱크 지나가는소리 때문에 마이크를껐습니다. 오른쪽 인스펙터에 Audio Source 부분 바로아래에...  Audio Clip에 연결된 오브젝트가 바뀌는것만 확인하시면 되겠습니다 ^^


이상으로 Uinty3d 오디오클립 랜덤설정하기(Audio Clip random )에 대해 알아봤습니다. 감사합니다.







반응형

댓글