버전
menu
Wwise 사운드 엔진을 Cube에 통합할 때 수행되는 작업은 다음과 같습니다:
Cube의 개발자는 Wouter van Oortmerssen 입니다. Cube는 웹사이트(http://cube.sourceforge.net/)에서 쉽게 다운로드할 수 있는 오픈 소스 싱글/멀티 플레이어 1인칭 슈팅 게임입니다. 웹사이트에서 다운로드할 수 있는 버전과 비교할 때, Wwise 통합을 위해서 Cube는 다음과 같이 수정되었습니다:
Wwise 사운드 엔진을 사용하도록 기존 사운드 코드를 다시 작성했습니다.
오디오 콘텐츠가 Wwise 프로젝트로 이동되었습니다.
다른 라이브러리(SDL, SDL_image, libpng)에 대한 종속성이 제거되었습니다.
추가적인 오디오(예: 발자국 소리)가 추가되었습니다.
위와 같은 변경 사항을 위해 일부 게임 구성 및 콘텐츠 파일이 수정되었습니다.
두 종류의 게임 오브젝트가 사운드 엔진에 등록되었습니다.
기본 구조체에 대한 포인터. 플레이어, 몬스터, 발사체 등 게임 세계에서 움직이는 오브젝트들이 이에 속합니다.
64-127 번호의 더미 게임 오브젝트. 움직이는 오브젝트에 연결되지 않는 3D 사운드(예: 아이템 스폰)가 이에 속합니다.
오디오 통합 코드의 핵심은 <WwiseRoot>\Cube\cube_source\src
폴더에 위치한 다음과 같은 파일에 있습니다.:
Sound.cpp
—사운드 엔진에 접근하는 모든 코드를 포함합니다.
Protos.h
의 사운드 섹션 - 선언된 퍼블릭 함수를 포함합니다.
다음 유형의 사운드가 통합 과정에 포함되어 있습니다.
몬스터 플레이 사운드:
각 캐릭터에는 고통, 사망, 발자국 이벤트가 일어날 수 있습니다. (monster.cpp
의 Monstertypes[]를 참조.)
발자국 이벤트는 monsterfootstep()
함수에서 게시되고, 발자국 Switch Container를 구동하기 위해서 캐릭터가 밣고 있는 텍스처에 해당하는 'Material' 스위치도 설정합니다.
아이템은 줍기 관련 이벤트가 있습니다. (entities.cpp
의 itemstats[] 참조.)
마법 사운드:
각 유형의 마법에는 관련된 이벤트가 있습니다. (weapon.cpp
의 guns[] 참조)
발사체에는 터지는 효과와 관련된 이벤트(S_FEXPLODE, S_RLHIT)가 있습니다.
쿼드 데미지가 활성화된 동안 얼음 보석을 던지면 S_ITEMPUP 이벤트도 게시됩니다.
네트워크 사운드:
특정 이벤트는 네트워크 플레이를 위해서 서버로 이동해야 하는데, 이는 snd_clientevent()
에 의해 처리됩니다.
이 외의 사운드:
게임 플레이 중에 발생하는 다른 모든 사운드 이벤트를 찾으려면 코드 베이스에서 snd_event()
호출을 검색하세요.
사운드를 관리하는 데 도움이 되도록 다음과 같은 사운드 관련 명령을 사용할 수 있습니다. 이러한 명령은 .cfg
스크립트 파일에서 사용할 수 있습니다:
akevent <string>: 로컬 플레이어 게임 오브젝트(player1)에 이벤트(이름별)를 게시합니다.
soundvol <int>: 사운드 볼륨(0-255)을 설정합니다.
musicvol <int>: 음악 볼륨(0-255)을 설정합니다.
voicevol <int>: 음성 볼륨을 설정합니다(0-255).
Texturematerial <int> <string1> <string2>: 이는 기본적으로 'texture'와 동일한 명령이지만 발자국 재질과 관련된 추가적인 매개 변수를 포함합니다.
프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.
Wwise를 시작해 보세요