본문 바로가기
유니티/roll_the_ball (미니 프로젝트)

[Unity] 3D 게임 만들기 #4 (오디오 & 카메라 무빙)

by 로토마 2021. 7. 12.

드뎌... 아이템을 먹는 것 까지는 코딩을 한 상태인데...

효과음을 넣다가 무언가 잘못되었음을 깨달았다...... 으악 ㅠㅠ

 

아이템과 player가 충돌했을 때,

item script에서 itemCount++; 와 setActive(false); 를 조작했는데

오디오 효과를 넣어 코딩하려 했을 때,

비활성화 구간에는 컴포넌트 함수가 실행되지 않는 문제가 발생해서...

 

결국...

void OnTriggerEnter 함수를 player script로 아예 옮겼다... 으악...

이러쿵 저러쿵 우여곡절 끝에 player가 item을 먹는 것 까지 다시 완성했다.ㅎ...

그리고 게임의 빠질 수 없는 오디오를 넣어주었다.

 

오디오)

inspector의 오디오 component

효과음은 아래의 유니티 에셋 스토어에서 유료 뿐만이 아니라 무료 오디오를 다운받을 수 있다!!

https://assetstore.unity.com/

 

에셋스토어

여러분의 작업에 필요한 베스트 에셋을 찾아보세요. 유니티 에셋스토어가 2D, 3D 모델, SDK, 템플릿, 툴 등 여러분의 콘텐츠 제작에 날개를 달아줄 다양한 에셋을 제공합니다.

assetstore.unity.com

나는 에셋 스토어의 score and times 무료 효과음을 다운 받아 사용했다!

player script에 

AudioSource audio;

audio = GetComponent<AudioSource>();

audio.Play();

이 코드들을 넣어 아이템을 먹었을 떄 audio가 play되도록 했다.

그리고 카메라 moving을 잡아주었다.

 

카메라)

카메라는 기본적으로 player를 따라다니게끔 코드를 작성해보았다.

이렇게 코딩함으로써 게임을 하는 사람이 좀 더 몰입감있게 즐길 수 있기 때문이다.

우선~~ 새로운 main_carmera script를 만들어 주었당!

현 asset 상황 

우선 코드를 작성하기 앞써 카메라가 어떻게 player을 비췄으면 좋겠는지 이렇게 위치를 잡아야한다.

카메라 기본 위치 세팅

이런식으로 main camera를 조정하면서 게임에서 어떻게 보이면 좋을지 생각해보고 위치를 잡는다.

그리고 이 위치를 Offset이라는 변수로 저장하여,

player의 위치와 연산하여 camera 위치가 player의 위치의 변화에 따라

업데이트 되게끔 코드를 짜면 된다!

 

main_camera 코드)

 

이런식으로 오늘은 아이템 작용, 효과음 삽입 그리고 카메라 위치 세팅까지 마무리했다.

크핫핫핫!

드뎌... 끝이 보인다... 캬아~

다음 시간에는 마무리 단계인 UI와 스테이지 흐름을 마지막으로

미니 유니티 프로젝트 roll_the_ball을 마무리 할 것이다!!

꺄하아아앙~~

끝까지 화이팅! 

 

 

 

완성된 payer, item, camera 코드)

 

player script)

item script)

main_camera script)