목차
서론, FMOD란?
FMOD는 Firelight Technologies Pty Ltd가 개발한 사운드 엔진으로 오디오 랜덤화, 크로스페이드 등 '적응형 오디오' 관련해 많은 기능들을 지원해 Unity같은 게임 엔진에서도 애용하는 미들웨어이다.
비단 유니티뿐만 아니라 언리얼, 그리고 다른 서드 파티 프로그램에서의 지원도 하고 있기 때문에 적응형 오디오 구현을 위해 수많은 게임들이 FMOD를 탑재해 사용하고 있다.
대표 게임으로는 스타II, 다크 소울3, 디제이맥스 리스펙트 V 등이 있다. (나도 디맥을 하면서 fmod 로고를 보고 뭔가 싶어 찾아보다 fmod의 존재를 알게 됐다.)
적응형 오디오(Adaptive Audio)란?
그럼 적응형 오디오(Adaptive Audio)란 무엇일까?
게임을 플레이하다 보면 굉장히 다양한 소리들이 게임 내에 자연스럽게 설계되어 있다는 것을 알 수 있다. 슈퍼마리오를 예를 들면, 주인공인 마리오가 뛰어다닐 때 나는 발걸음 소리, 코인을 먹을 때 나는 효과음(SFX), 스테이지 별 분위기가 다른 배경음악(BGM) 정도가 존재한다는 것을 알 수 있다.
그런데, 마리오가 게임 속에서 잔디 위를 걸어갈 때랑 눈지형 위를 걸어갈 때 발걸음 소리가 다르다는 것을 알고 있을 것이다. 마리오가 단순히 움직인다고 해서 발걸음 소리가 들리는 것이 아니라, '걷는 지형에 따라서' 발걸음 소리또한 그것에 맞춰 달라진다는 것이다.
다른 예를 들자면, 캐릭터를 포함한 주변 환경의 효과음이 터널 안에 들어가면 소리가 울리는 효과 같은 것도 전부 이런 범주 안에 들어간다고 볼 수 있다.
이렇듯 게임 속 환경에 따라 변화하는 오디오를 '적응형 오디오(Adaptive Audio)'라고 한다.
FMOD는 이러한 적응형 오디오의 설계를 매우 논리적이고 직관적으로 설계할 수 있게 하는 미들웨어다.
FMOD의 동작 원리
전체적으로 FMOD - Unity 프로젝트 간 자료 구조는 위와 같다.
FMOD 프로젝트에서는 자료가 크게 Assets, Events, Banks 로 나뉘는데, 각각 다음과 같은 역할을 한다.
- Assets : .wav, .ogg, .mp3 와 같은 오디오 소스 파일을 삽입하는 곳
- Events : 삽입된 소스로 적응형 오디오의 로직(리버브 효과, 소리 전환, BGM 루프 등)을 설계하는 곳
- Banks : 비슷한 성격의 Event 집합. 나중에 빌드(F7)를 통해 유니티 프로젝트와 직접적인 상호작용을 하는 곳이다.
따라서, 일반적인 FMOD를 통한 작업 순서는 Assets -> Events -> Banks 로 이루어진다.
FMOD 프로젝트에선 좌측 상단 탭에서 확인 할 수 있다.
FMOD Studio 컴퓨터에 설치하기
1. 아래 FMOD 공식 사이트로 이동한다.
2. 다운로드 페이지는 회원에게만 제공되므로 'Sign in' 클릭 -> 'Register'를 클릭해 회원가입 페이지로 이동한다.
3. 아래 스크린샷을 참고해 회원가입을 진행한다.
4. 입력한 이메일로 발송된 인증 링크를 클릭한다.
5. FMOD 사이트 메인으로 돌아와서 우측 상단의 'Download'를 클릭한다.
6. 'FMOD Studio'를 클릭한다.
7. 본인의 운영체제에 맞는 버전을 다운로드 한다. (필자는 Windows 64-bit로 진행)
8. 다운받은 파일을 관리자 권한으로 실행시키고 'Next'를 클릭한다.
9. 약관에 동의한다.
10. 설치 후 재부팅을 원하면 'Reboot'에 체크, 아니라면 해제하고 Next를 클릭한다.
11. 설치 경로를 지정한뒤 'Install'을 클릭한다.
12. 이후 남은 설치 과정을 기다리면 완료!
Unity 프로젝트에 FMOD Import 하기
1. Unity 공식 에셋스토어의 FMOD 페이지를 방문한다.
https://assetstore.unity.com/packages/tools/audio/fmod-for-unity-161631
2. '내 에셋에 추가하기'를 선택해 내 라이브러리에 추가한다.
3. 추가가 완료되었다면 작업중인 Unity 프로젝트로 들어와 'Windows -> Package Manager'를 클릭한다.
4. Packages를 'My Assets'로 변경한 뒤, 'FMOD for Unity'를 찾아 Import 해준다.
5. FMOD Setup Wizard가 뜨면 Linking까지 쭉 진행해준다.
6. Linking 탭에서 'FMOD Studio Project'를 클릭한 뒤, 저장해놓은 .fspro 확장자의 파일을 불러온다.
(별 일 없이 체크표시가 뜨면 진행)
7. Listener 탭에서 'Replace Unity Listener with FMOD Audio Listner' 버튼을 클릭해 기존의 디폴트 리스너를 FMOD 리스너로 바꿔준다.
8. Unity Audio 탭에서 'Disable built in audio'를 클릭해 훗날 빌드 시 생길 오류를 방지해준다.
9. (중요!) 자신이 Git을 비롯한 버전 관리 프로그램을 프로젝트에 사용하고 있다면, 반드시 '.gitignore' 같은 문서에 FMOD 관련 임시 파일을 인식하지 못하게 복사해서 붙여넣자!
10. 다음과 같이 모든 탭에 녹색 체크박스가 떠있다면 설정 완료.
참고영상
https://www.youtube.com/watch?v=rcBHIOjZDpk
'TIL(Today I Learned)' 카테고리의 다른 글
팀 프로젝트(3) : 발표와 회고 - TIL#38 (0) | 2024.02.21 |
---|---|
[Unity] FMOD로 AudioManager 적용하기 - TIL#37(작성중) (0) | 2024.02.21 |
[Unity] 코루틴(Coroutine)을 이용한 지연 실행, AudioManager 만들기 - TIL#35 (0) | 2024.02.13 |
[Unity] 팀 프로젝트 : 3D 퍼즐 게임 기획 - TIL#34 (0) | 2024.02.08 |
[Unity] ATM기 모방하기 - TIL#33 (0) | 2024.02.07 |