아우터 월드(Outer Worlds)의 사운드를 심층적으로 알아보는 블로그 제 2부에 오신 것을 환영합니다!
제 1부에서는 저희가 게임의 생물, 음악 시스템, VO, 이미터, 환경음, 공간화를 설계한 방식에 대해 알아보았습니다. 제 2부에서는 무기, 인벤토리, 스크립트 된 일부 이벤트를 함께 살펴봅시다. 즐길 준비가 되셨다면, 출발!
인벤토리
설계
아우터 월드의 인벤토리에서는 어떤 것들을 고려했을까요? '인벤토리 아이템'은 게임플레이 동안 플레이어가 소비하거나 인벤토리 스크린에서 드래그하거나 옮겨놓을 수 있는 게임 오브젝트를 말합니다. 다음은 인벤토리 아이템의 일부 종류입니다.
- Weapons
- Armor
- Consumables
- Quest Items
- Weapon/Armor mods
인벤토리 아이템은 플레이어에게 Halcyon(핼시언) 식민지가 예기치 못한 변수로 가득한 곳이라고 느끼도록 만들어서 여행하는 다양한 세계에서 온갖 종류의 아이템을 수집하여 사용하는 데에 더욱 몰입할 수 있도록 해줍니다. 이 아이템은 플레이어의 여정에서 아주 중요해지며, 이렇게 다양한 모습을 한 아이템이 저마다 다른 소리를 내도록 하는 것이 저희에게 정말 중요했습니다. 이렇게 세부적으로 접근한 결과 저희는 플레이어가 접하게 될 수많은 오브젝트를 통해 세계에 한 층 더 생동감을 더할 수 있었습니다. 인벤토리 아이템에 대한 저희의 전반적인 사운드 디자인 철학은 각 오브젝트를 최대한 가깝게 표현하는 것이었습니다. 플레이어가 캔을 집어 들 경우 캔 소리가 들리도록 하고 싶었죠.
저희는 아이템에 9개의 상위 부류, 총 48개의 하위 부류를 녹음하고 설계했습니다. 그리고 테스트 레벨을 만들어서 모든 부류의 아이템을 집어 드는 것을 시험해볼 수 있도록 했습니다.
각 사운드에 사용한 모든 소품은 오브젝트의 표면과 품질에 맞아야 했습니다. 저희는 참조용으로 각 아이템의 사진을 찍어서 스튜디오에 출력해 놓고 저희가 녹음한 것이 아이템의 모습과 대응하는지 확인했습니다.
다음은 각 사운드를 녹음하고 설계할 때 이 목적을 성취하기 위해 따른 몇몇 가이드라인입니다.
1. 미묘함!
a. 순간적인 신호가 강하고 날카롭지 않고 부드럽고 미묘해야 했습니다.
b. 플레이어가 자연스럽게 느린 속도로 아이템을 집는 것처럼 너무 빠르지 않게 물건을 집었습니다.
2. 특유함
a. 각 사운드가 아주 분명한 피드백을 제공해 줘야 했습니다.
b. 또한 각 사운드에 기억에 남을만한 '리듬'을 넣어주고자 했습니다.
3. 짧음
a. 단 한 가지 예외인 오르골을 제외하고요.
i. 사운드는 1초가 넘지 않아야 했습니다.
b. 불필요한 피드백을 방지하기 위해 간결해야 합니다.
저희는 각 하위 종류에 따라 각 오브젝트를 녹음했습니다. 예를 들어 'Armor Medium(갑옷 - 중)' 부류에는 두 가지 옷이 있었는데, 이 가이드라인을 염두에 두고 각 두 가지 옷의 옷가지를 잡고/옮기고/구기는 것을 여러 번 녹음했습니다. 저희가 얼마나 많은 변형음을 녹음했는지를 순간 신호 지점을 통해 예측해 보실 수 있습니다:
다음은 녹음 스튜디오로 가져와 사용했던 다양한 소품들이 있는 폴리실 사진입니다.
다음은 녹음 스튜디오 폴리 세션에서 찍은 사진들입니다:
다음은 포함된 아이템입니다 (이 외에도 더 있음):
- 캔
- 문 손잡이
- 체인
- 다양한 종류의 옷가지
- 플라스틱 랩
- 검
- 나무 막대
- 바닥 타일
- 물병
- 사탕 껍질
- 상자
- 제 메신저 가방
- 자물쇠
- 철 스프링
이 모든 물건을 사용해서 아우터 월드에 있는 인벤토리 SFX에 사용된 수많은 사운드를 녹음할 수 있었습니다. 다음은 테스트 레벨에서 다양한 아이템을 집어 드는 동영상입니다.
포스터:
토스볼 카드:
오르골과 같은 일부 아이템의 경우 좀 더 특별함이 필요해서 저스틴이(Justin) Spacer's Choice를 위해 샘플링된 첼레스타를 사용하여 작곡한 짧은 곡을 재생했습니다.
전반적으로 저희는 게임의 모든 오브젝트가 저마다 고유하고 특유한 인벤토리 사운드를 가지도록 할 수 있었습니다. 이를 통해 카드와 같이 단지 아주 작은 물건의 사운드를 만드는 것에도 얼마나 창의적일 수 있는가라는 좋은 교훈을 얻을 수 있었습니다. 카드를 여러 번 집어 들 때 소리가 항상 다른데, 이런 피드백은 플레이어가 아이템을 어떻게 집어 드는가에 따라 바뀝니다. 카드를 느리게 집어 들면 특유의 '리듬'으로 만족스러우면서도 간결한 소리를 들을 수 있죠.
이 소리를 만드는 데에 시간이 꽤 걸렸지만요. 여러 사운드에서 저희는 변형음을 너무 길게 재생되도록 했습니다. 0.5초 만에 카드를 그냥 집어 드는 대신 1초 동안 천천히 약간 구기듯이 집어 들었죠. 이렇게 하니 좀 더 특유한 사운드를 만들 수는 있었지만, 여러 번 카드를 집어 들 경우 꽤나 거슬렸습니다. 특유함도 정말 좋은 부분이지만 미묘함은 게임플레이 오브젝트를 집어 들 때 더욱 효과적인 피드백을 제공할 수 있게 해줍니다.
인벤토리 구현
모든 오브젝트는 인벤토리에서 집어 들기/드래그 하는 사운드 (변형음 3개) 와 사용하는 사운드 (적용 가능할 경우 변형음 1개)를 가지고 있습니다. 다음은 이러한 사운드가 Wwise에서 어떻게 구성되었는지를 보여주는 예시입니다.
모든 사운드를 잘 정리하기 위해서 저희는 모든 사운드 오브젝트의 이름을 지정된 규칙을 따라 정했습니다. 그리고 여기 열려 있는 Consumables 폴더에서 볼 수 있듯이 모든 사운드를 특정 부류에 따라 정리했습니다.
다음은 플레이어가 단일 아이템(예: 여러 다른 종류의 캔)을 집어 들 경우의 변형음이 구성된 방식의 예입니다:
인벤토리 SFX에서 가장 어려운 방면 중 하나는 모든 사운드를 정리하는 것이었습니다. 모든 아이템에는 게임플레이 태그가 지정되어야 하며 (일부 태그는 제가 추가해야 했습니다), 그런 다음 각 태그가 사운드에 지정되어야 했습니다. Unreal에서 게임플레이 태그는 다음과 같은 방식으로 지정되어 있으며 게임플레이 태그가 Audio Event로 지정되어 있습니다:
이 오디오 데이터로 다양성을 정말 많이 증가할 수 있었지만, 버그를 수정하면서 다시 돌아가서 사운드 지정을 변경해야 할 경우 사운드나 태그를 검색하기가 어려웠습니다. 그래서 모든 사운드를 올바르게 정리하는 데에 시간이 꽤 걸렸죠.
아우터 월드에서 저희가 만든 수많은 인벤토리 SFX는 분명히 저희가 항상 자랑스럽게 여길 부분일 것입니다.
컷씬 구현
저희가 초반에 내린 결정 중 하나는 아우터 월드에서 아주 중요한 플레이어의 대리권을 존중하는 것이었습니다. 저희는 이 부분이 게임의 모든 방면으로 확장되기를 원해서 컷씬도 플레이어의 선호에 따라 재생되도록 했습니다. 오디오가 플레이어의 전역적 사운드 설정을 따르도록 했죠.
이것이 게임플레이 도중에는 관리하기가 간단하지만 컷씬의 경우 믹스를 관리하는 방식에 문제가 있었습니다. 컷씬 도중 플레이어가 음악을 꺼놓았을 수 있습니다. 이 경우 기존의 전통적인 선형적 제작 방식 (모든 오디오가 동영상 안으로 미리 믹싱 되는 방식)을 사용할 수가 없었기 때문에, 대신 플레이어의 설정에 따라 여러 다른 하위 믹스 (Music, VO, SFX)를 믹싱하는 실시간 해결책을 사용해야 했습니다.
저희는 이 부분을 위해 간단히 음악 버스를 사이드 체인했습니다.
스크립트 된 순간들
Emerald Vale 전력 선택
이제부터 약간의 스포일러가 있을 수 있습니다!
첫 번째로 탐험할 수 있는 곳인 Emerald Vale에서 플레이어는 첫 번째 중요한 결정을 해야 합니다. 이곳에는 공장 노동자들이 모여있는 곳인 캔 공장이 있습니다. 그리고 공동 사회에서 벗어나서 외진 곳에 온실을 시작한 작은 커뮤니티도 있죠. 플레이어는 지역에 있는 Geothermal Plant에서 대량의 전력을 Cannery나 Greenhouse로 다시 지정해야 하는 임무를 가집니다. 이로 인해 그중 한 곳에 전력이 없어지게 되죠.
저희는 여기에서 플레이어의 선택에 무게감을 더하고 싶었습니다. 그리고 이 선택이 주는 영향을 주변의 세계 소리를 통해 드러내고 싶었어요. 저희는 플레이어가 전력을 내보내는 위치에 따라 대량의 오디오 이미터를 끄거나 켜서 원하는 효과를 냈습니다. 예를 들어 플레이어가 Greenhouse로 전력을 내보내면 Cannery에 있는 여러 기계가 꺼져서 소리를 내지 않게 되며 공장 노동자들이 허둥지둥하면서 비상 알람 소리가 들리게 되죠.
TTD 소개 시퀀스
이 방법을 보여주는 한 가지 예시는 게임 스토리 초반부에서 플레이어가 처음으로 특별한 시간 조작 능력인 Tactical Time Dilation (전술적 시간 확장, TTD)을 알게 될 때에 볼 수 있습니다. 수년간 극저온으로 얼어 있다가 미스터리한 과학자에 의해 갑자기 부활한 후에, 플레이어는 원하는 답보다 질문이 더 많은 외계 세계에 도착하게 됩니다. 이 세계에 도착한 후에 플레이어는 동굴을 가로질러가게 되는데, 이 동굴에서 갑자기 이상한 정신적 증세가 일어나면서 언 채로 잠들었던 수년의 시간 동안 그에게 시간을 잠깐 멈출 수 있는 능력이 주어졌다는 것을 깨닫게 됩니다.
저희는 이 순간에 플레이어가 시간에 따라 정신이 혼란스럽고 혼미해지는 것처럼 느끼도록 하고 싶었습니다. 동시에 플레이어가 어느 정도 공간을 탐험할 수 있도록 허용해 주면서 긴장감을 점점 높이다가 마침내 제어력을 잃을 때에 (정신적으로, 그리고 게임에서) 긴장감이 극도에 도달하도록 하고 싶었습니다.
이 스크립트 된 시퀀스를 제작하기 위해서 저희는 여러 가지 기술적인 구성 요소를 조합했습니다. 첫 번째 구성 요소는 게임 내 TTD 사운드와 플레이어가 격하게 숨을 내쉬는 소리에 따라 반복 재생되는 독특한 드론음을 내는 Ak Ambient Sound 이미터 오브젝트입니다. 이러한 사운드는 함께 작동하여 플레이어가 신체적/정신적으로 주변에 있는 미스테리한 정신적 자극에 반응한다는 느낌을 줍니다. TTD 드론음과 플레이어의 숨소리는 상대적으로 짧은 고유한 감쇠 반경을 가지고 있어서 플레이어가 이미터에 아주 가까워질 때 갑자기 볼륨이 높아지게 됩니다. 이러한 사운드 구현 방식은 플레이어가 경험에서 조금 물러나게 하거나 원하는 속도로 조사해볼 수 있도록 해줍니다.
스크립팅 된 TTD 드론음의 Attenuation Shareset
스크립팅 된 플레이어 숨소리의 Attenuation Shareset
TTD 드론음은 Speaker Panning/3D Spatialization 매개 변수를 사용하여 3D 위치 지정을 거리에서 어느 정도 유지하는 반면, 플레이어의 숨소리는 위치 지정 덮어쓰기를 사용하여 거리 매개 변수에만 의존하여 볼륨 감쇠를 증가/감소해서 플레이어에게 2D로 재생됩니다.
TTD 드론음에서의 Speaker Panning/3D Spatialization 매개 변수
플레이어가 숨을 가쁘게 내쉬는 소리는 'PlayerGender' State를 사용하는 Switch Container로 구성되어서 남/여가 숨을 내쉬는 소리에 알맞게 Switch Group을 설정해 줍니다.
스크립팅 된 플레이어 숨소리 Switch Container
이 숨소리는 Blend Container 안에 들어 있으며 Blend Track을 사용하여 '낮은 강도'와 '높은 강도'의 숨소리 에셋 사이를 크로스페이드 합니다. 숨소리의 강도는 거리에 따라 증가하여 플레이어가 이미터 오브젝트에 가까워질수록 숨소리가 더욱 가빠지고 거칠어지게 됩니다.
플레이어 숨소리 강도 Blend Track
이 시퀀스의 두 번째 구성 요소는 해당 레벨의 Ak Ambient Sound 이미터 오브젝트 바로 아래 배치된 트리거 볼륨을 통해 제어됩니다. 이 트리거 볼륨은 플레이어가 제어력을 잃고 다시 되돌아갈 수 없게 되면서 스크립팅 된 시청각 시퀀스가 시작되면서 처음으로 TTD 장치가 처음으로 활성화되는 지점을 트리거 합니다. Location 노드에서 Delayed Callback, Remote Event, Post Sound를 함께 사용해서 시간이 유도되는 소리를 트리거 하여 곧 TTD '시작' 사운드가 시작되면서 TTD 드론음 이미터 오브젝트를 비활성화하도록 합니다.
UE4 레벨에서 사운드 이미터와 트리거 볼륨이 배치된 모습
스크립팅 된 이미터 오브젝트를 조건적으로 비활성화하는 UE4 Blueprint
트리거 볼륨 안으로 들어갈 때 스크립팅 된 시간 유도 사운드를 시작하는 UE4 Blueprint
게임에서 스크립팅 된 TTD 소개 시퀀스가 진행되는 모습이 시퀀스에서 사운드와 구현 작업은 함께 플레이어에게 강렬한 감정적인 반응을 생성해 줄 뿐만 아니라 플레이어가 원하는 대로 공간과 상호작용할 수 있는 어느 정도의 자유를 제공해 줍니다. 이 방식은 예측할 수 없는 정신적인 증상이 플레이어를 지배하려고 한다는 이야기를 내포하면서도 이 세계에서 플레이어가 가진 대리권 요소를 유지해 줍니다.
전술적 시간 확장 (Tactical Time Dilation, TTD)
이전 섹션에서 말씀드린 것처럼 아우터 월드에서 중심적인 게임플레이 장치는 플레이어가 잠시 시간을 늦출 수 있는 능력입니다. Tactical Time Dilation(TTD)은 빠르게 진행되는 전투 도중에 플레이어에게 우위를 제공해 줄 뿐만 아니라 적의 진영, 강점, 약점에 대한 유용한 정보를 스캔할 수 있도록 해줍니다. TTD를 사용하는 도중에 성공적으로 공격할 경우 디버프 효과가 적용되어서 적들이 추가로 타격을 입게 됩니다.
저희는 이 장치의 사운드 디자인과 구현에 접근할 때에 몇 가지 고려 사항을 염두에 두었습니다. 가장 중요한 첫 번째로 저희는 이 기능의 오디오를 통해서 플레이어를 더 특별하고 강력한 것처럼 느끼는 데에 도움을 주고 싶었습니다. 플레이어는 게임에서 이 특별한 능력을 사용할 수 있는 단 한 사람입니다. 두 번째로 이 장치가 명확한 오디오 피드백을 제공하여 플레이어가 무엇을 하고 있는지 집중하도록 해주며 오디오로 인해 이 능력의 상태에 대한 정보를 알 수 있게 해주고 싶었습니다. 이 소리를 통해 슬로우 모션 시간이 얼마나 남아 있는지와 현재 얼마나 소모되고 있는지를 알려주고자 했죠.마지막으로 정보적인 게임 피드백을 제공하는 것과 관련하여 이 장치가 플레이어의 입력에 반응적인 것처럼 느껴지도록 하고 싶었습니다. 플레이어의 스킬 트리 속성과 활성화된 버프와 플레이어가 현재 실행 중인 동작에 따라서 TTD는 다양한 시간 동안 활성화될 수 있습니다.
TTD 활성화
TTD의 주요 시각적 피드백 기능은 스크린 상단 좌측에 있는 보라색 미터와 중앙에 있는 보라색 원입니다. 남아있는 TTD 시간의 양은 이 두 보라색 미터가 얼마나 가득 차 있는지를 통해 표시됩니다. 시간이 줄어들면서 다양한 속도로 미터가 줄어들게 되죠. 저희는 청각적으로 이 피드백을 뒷받침해 주고 싶었습니다.
TTD가 시작될 경우 단발성 '시작'음과 활성화된 TTD의 과정에 따라 지속되고 발달하는 공간적인 느낌의 오디오 구성 요소를 재생하는 반복 재생 '기반음' 이벤트가 트리거 됩니다. TTD가 종료되거나 고갈될 경우, 단발성 '종료'음이 트리거 되며 모든 반복 재생 구성 요소가 페이드 아웃되며 중단됩니다.
TTD가 활성화됨
TTD '기반'
TTD 소리풍경에서 저희의 목표 중 하나는 게임플레이에 긴장감이 더해지는 느낌을 내포함과 동시에 플레이어가 활성화된 TTD 상태를 더욱 오래 유지할수록 플레이어의 정신이 점진적으로 왜곡된다는 이야기를 뒷받침하는 것이었습니다. TTD가 가득 차 있을 경우 '기본' 반복 재생음은 공간적이고 조직적이지만 TTD가 쇠퇴하면서 이 소리는 더욱 혼란스럽고 불안정적이며 왜곡된 것처럼 들리게 됩니다. 이러한 소리를 만들기 위해서 저희는 Blend Container를 사용하여 Blend Track을 활성화해서 3 개의 다른 강도 수준으로 '기본' 반복 재생 요소를 크로스페이드 했습니다. 저희는 게임에 의해 구동되는 RTPC (TTDMeterPercent)를 사용하여 Blend Track 안에서 이 전환 효과를 구동했습니다.
TTD '기본' 반복 재생 Blend Container Track
또한 TTDMeterPercent RTPC를 사용해서 TTD '기본'음이 쇠퇴하면서 Blend Container의 피치와 볼륨을 동적으로 증가시켰습니다.
이 Blend Container와 RTPC 구현을 사용해서 저희는 TTD의 소리 풍경을 효과적이고 진화적으로 만들어서 게임플레이 동안 플레이어에게 TTD 시간이 얼마나 남았는지를 알려줄 수 있게 만들 수 있었습니다.
TTD '기본' 강도 전환 효과
TTD '소모'
Another key aspect of the TTD mechanic is how the TTD meter drains. As mentioned above, two of our goals were to provide the Player with effective audio feedback about the state of TTD as well as to reactively represent the Player's gameplayTTD 장치의 또 다른 주요 측면은 TTD 미터가 소모되는 방식입니다. 위에서 언급한 것처럼 저희가 가진 두 가지 목표는 플레이어에게 TTD 상태에 대한 효과적인 오디오 피드백을 제공하는 것과 플레이어의 게임플레이 입력을 반응적으로 표현하는 것이었습니다. TTD가 다양한 요소에 따라 다양한 속도로 소모될 수 있기 때문에 이 가변성을 최대한 가깝게 반영하는 시스템이 필요했습니다. 플레이어가 TTD를 활성화하고 아무 동작도 취하지 않을 경우 미터가 느리고 일정하게 소모되는 반면, 플레이어가 빠르게 움직이거나 뛰거나 무기를 발사하는 등 동작을 취할 경우 미터가 더 빠르고 높은 값으로 소모됩니다. 이 부분을 청각적으로 표현하기 위해서, TTD '소모'음이 전달되는 양을 효과적으로 조절하는 '게이트' 스타일의 시스템을 만들고 싶었습니다. 이를 위해서 TTD가 활성화되면 트리거 되지만 Voice Volume이 -200으로 기본 설정되어 있는 반복 재생 사운드 오브젝트를 만들었습니다.
TTD '소모' 사운드 오브젝트는 여러 RTPC (TTDMeterDrainRate와 TTDMeterPercent)에 반응하여 다음을 실행합니다:
A) 볼륨 레벨이 더 많이 통과되도록 허용
B) 더 큰 소모량이 트리거 되면서 피치가 약간 내려감
C) 더 큰 소모량이 트리거 되면서 저대역 통과 필터가 열림
TTD '소모' 효과와 구현
Game Sync Monitor를 사용해서 TTD 매개 변수 상호작용 프로파일링
또한 저희는 TTD 매개 변수와 state (TacticalTimeDilation)를 적극 활용하여 다양한 매개 변수를 제어해서 TTD가 활성화되었을 때 믹스를 더욱 변경했습니다. 저희는 이 매개 변수를 사용해서 TTD가 활성화되었을 때 사운드를 제거, 필터링하고 피치를 변경하여 몰입감을 높여주고 플레이어가 TTD를 사용할 때마다 중요한 순간인 것처럼 느껴지도록 했습니다.
이렇게 모든 구현과 사운드 디자인 요소가 함께 작동하여 플레이어에게 힘을 실어주고 유용한 오디오 피드백을 제공하며 게임플레이 장치에 최대한 반응적이도록 만들어줍니다.
무기 구현
아우터 월드와 같은 게임에서는 총, 총기 변형, 환경, 시점에 따른 수백 개의 조합으로 인해 무기 시스템이 꽤나 복잡해질 수 있습니다. 모든 조합을 다루기 위해서 저희는 무기에 조금 더 모듈식 접근 방식을 사용하여 모든 조합에서 적절하면서 고유한 소리가 들리도록 했습니다. 이 모듈적인 접근 방식을 통해서 최소한의 고품격 사운드를 사용하여 소리풍경이 계속해서 플레이어의 입력에 반응적이도록 만들 수 있었습니다.
기본음
이 기본음은 총소리의 근본과 뼈대가 되는 소리입니다. 이 소리는 각 총마다 달라서 특유의 음색을 더해주며 해당 무기를 인식할 수 있게 해줍니다. 다양한 꼬리음 길이를 위해 충분히 공간을 남겨두기 위해서 소리 자체는 꽤나 간결하지만 차이점을 들을 수 있을 만큼만 적당히 깁니다. Wwise에서 저희는 이 레이어를 플레이어 캐릭터용 액터 믹서와 플레이어가 아닌 캐릭터용 액터 믹서인 두 개의 다른 액터 믹서로 복제했습니다. 이렇게 해서 1인칭과 다른 시점의 믹스를 쉽게 제어할 수 있게 되었죠. 기본 레이어는 다음과 같이 구성되었습니다:
1. 총 발사음
2. 꼬리음 공간을 남겨두기 위해 발사음은 간결합니다
3. 저마다 다른 기본음을 가져서 각 무기음이 특유함을 가지도록 합니다
4. 플레이어와 플레이어가 아닌 캐릭터로 분할합니다 (같은 사운드)
실외 꼬리음
아우터 월드에서 실외 꼬리음은 무기가 실외에서 발사되었을 때에만 재생되는 레이어입니다 (Wwise에서 state를 통해 제어됨). 저희는 각 무기가 실외 환경에서 발사되었을 때 잔향이 어떻게 들리는가를 표현하는 맞춤형 외부 꼬리음을 만들었습니다. 총의 경우 바로 이 소리가 총소리를 크고 현실적으로 만들어 주기 때문에 기본 레이어와 마찬가지로 아주 중요하죠. 기본 레이어와 마찬가지로 이 레이어도 플레이어와 플레이어가 아닌 용의 액터 믹서로 각각 복제되었습니다:
1. 이 소리는 실외에 있을 때에만 재생됩니다
2. 각 무기마다 다른 소리를 냅니다
3. 소리가 큰 것 같이 들리게 해줍니다 (혹은 작은 것처럼)
4. 신뢰성을 높이고 세계 안에 더욱 들어맞게 만들어줍니다
5. 플레이어와 플레이어가 아닌 캐릭터로 분할합니다 (같은 사운드)
실내 꼬리음
실내 꼬리 레이어는 실외 꼬리 레이어와 비슷하지만 실내에서만 재생됩니다. 저희는 이 실내 꼬리를 게임에 있는 다양한 공간의 크기에 알맞게 제작해서 작은 공간에서 총을 발사할 경우 작은 공간에서 발사되는 것처럼 들리도록 해주었습니다. 실외 꼬리음과 달리 실내 꼬리음은 게임에 있는 모든 총에 전역적으로 사용됩니다. 이 꼬리음은 총이 발사될 때 함께 재생되며 크기는 state에 의해 제어됩니다. 이 state는 게임의 각 모든 실내 공간에서 직접 설정되었습니다 (이 모든 설정 작업을 해준 딜런 헤어스톤에게 감사드려요):
1. 실내에서만 재생됩니다
2. 모든 총에 전역적으로 사용됩니다
3. 각 공간 크기마다 고유한 세트를 가집니다
4. 스위치를 사용해서 공간 크기를 변경합니다
데미지 타입
아우터 월드에는 무기 데미지 타입을 변경할 수 있는 꽤나 복잡한 무기 변조 시스템이 있습니다. 이 수준의 플레이어 선택을 뒷받침하기 위해서 저희는 각각 네 가지 데미지 타입 사운드를 만들어서 기본/꼬리음에 레이어링 되도록 했습니다. 이 사운드는 RTPC를 통해 전환된 다음 Wwise에서 스위치로 변환됩니다. 이 레이어는 일반 무기음을 위한 공간을 남겨두기 위해 미묘하지만 여전히 플레이어의 선택에 따라 반응적이라는 느낌을 살려주도록 설계되었습니다.
1. 기본/꼬리음 위에 레이어링 합니다
2. 모든 총에 전역적으로 사용됩니다
3. 각 데미지 타입마다 고유한 세트를 가집니다
4. RTPC에 따라 데미지 타입이 전환되며 Switch로 변환됩니다
5. 플레이어의 선택에 따른 반응성을 향상시켜줍니다
거리
NPC가 멀리 떨어진 곳에서 플레이어에게 총을 쏠 경우 주변 환경을 더욱 현실성 있게 만들어주어서 NPC가 정말로 멀리 떨어진 것처럼 들리게 하는 것과 동시에, 근접한 거리에 있는 즉각적인 위험 요소를 위해 믹스를 깔끔하게 유지하도록 해주고 싶었습니다. 그러기 위해서 저희는 적들이 플레이어로부터 멀어지면서 기본/꼬리 레이어와 크로스페이드 하는 전역적인 거리 발사음을 만들었습니다. 이 버전의 발사음은 간결하고 순간적 신호로 구성되어 있어서 더욱 즉각적인 위험 요소를 위한 공간을 남겨둘 뿐만 아니라 믹스에 즉시 존재감을 내서 플레이어에게 '나도 여기에 있어요!'라고 알려줍니다.
1. 적들이 먼 거리에서 총을 쏠 때에만 들립니다
2. 기본 및 꼬리 레이어와 크로스페이드 합니다
3. 크로스페이드는 감쇠 공유세트(ShareSet)에서 직접 실행됩니다.
4. 재빨리 믹스에 존재감을 주기 위해 짧고 순간적인 신호로 구성되어 있습니다
탄환 껍질 소리
마지막은 바로 탄환 껍질 소리입니다! 이름에서 알 수 있듯이 이 소리는 탄환 껍질이 바닥에 떨어지는 소리이죠. 이 소리는 물리 시스템에 기반하지 않기 때문에 Wwise에서 딜레이를 사용해서 무기에서 바닥까지 떨어지는 시간을 시뮬레이션 했습니다. 이 사운드는 스위치 컨테이너를 통해 트리거 되는데, 사실 이 스위치 컨테이너는 저희 발자국 시스템에 사용하는 것과 같습니다. 그래서 플레이어가 현재 서 있는 표면에 따라 탄환 껍질이 바닥에 떨어지는 소리가 달라지죠. 다른 소리에 비해 덜 중요하게 느껴질 수 있지만 이렇게 작고 상세한 것들이 현실감을 엄청나게 높이고 사운드가 정말 세계 안에 있는 것처럼 만들어줍니다.
1. 탄환 껍질을 내보내는 무기에만 추가됩니다2. 스팸을 줄이기 위해 보이스를 엄격히 제한합니다
3. 플레이어가 서 있을 수 있는 각 표면마다 다른 사운드가 있습니다
전술적 시간 조작(Tactical Time Dilation)
전술적 시간 조작(Tactical Time Dilation. TTD)은 플레이어가 명중할 수 있도록 시간을 늦출 수 있게 해줍니다. 이 모드에서 저희는 일반 무기음을 완전히 바꿔서 조금 더 스타일이 있는 버전으로 바꿔줍니다. 여기서 목표는 원래 사운드의 특유함을 유지함과 동시에 TTD의 시간 왜곡 효과로 인해 마치 느려진 것처럼 작동하도록 만드는 것이었습니다. 저희는 그레인 피치 시프트 (paul stretch)를 사용해서 일반적인 피치 시프트로 인한 정확도 손실 없이 느려진 효과를 낼 수 있었습니다. 이 사운드는 일반 총소리와 함께 재생되지만 플레이어가 현재 TTD에 있지 않을 경우 Wwise에 의해 즉시 가상화되며 제거됩니다. 이 작업은 볼륨 한계점 아래로 떨어질 때 일어납니다. (참고: 볼륨 한계점 아래로 떨어지는 보이스를 제거하려면 반드시 보이스 제한에 도달할 때 'Use virtual voice settings(가상 보이스 설정 사용)'을 사용하도록 설정되어야 합니다. 그런 다음 가상 보이스 작동 방식을 'Kill Voice(보이스 제거)'로 설정해야 합니다.)
1. TTD가 활성화되었을 때에만 들립니다 (활성화되지 않을 경우 가상 보이스 설정을 통해 보이스가 제거됩니다)
2. 기본 레이어를 약간 폴 스트레치(paul stretch) 한 버전입니다
TTD 꾸밈음
이 소리는 꽤나 간단합니다. 그레인 피치 시프트가 작동하는 방식 때문에 기본 레이어가 폴 스트레치를 통과하면 약간 '뭉개져서' 강렬함이 줄어들게 되죠. 슬로우 모션이지만 그래도 총이기 때문에 타격음을 잃고 싶지는 않았습니다. 이 꾸밈음은 심지어 TTD에서도 총이 필요로 하는 탕! 하는 느낌을 다시 추가해 주는 전역적인 레이어입니다.
1. TTD가 활성화되었을 때에만 들립니다 (활성화되지 않을 경우 가상 보이스 설정을 통해 보이스가 제거됩니다)
2. TTD 레이어를 생성할 때 잃게 되는 간단하고 순간적인 낮고 무게감 있는 레이어로 구성되어 있습니다.
이제 모든 레이어를 사용해서 무기의 발사 이벤트로 추가하면 다음과 같게 됩니다.
마지막으로 아래 동영상에서는 게임 내에서의 각 레이어를 들어볼 수 있습니다.
결론
저희는 아우터 월드에서 저희가 해낸 작업이 아주 자랑스럽습니다. 정말 많은 것들을 배웠고 많은 실수도 했지만 저희 Obsidian에서 예전에 시도해보지 않았던 방식으로 Wwise를 사용해서 저희 제작 작업에 정말 많은 도움을 받을 수 있었어요. 특히 플레이어가 수많은 결정을 만들 수 있는 게임에서 다양한 세계를 만드는 것은 틀림없이 쉽지 않은 일이었습니다. 하지만 저희 플레이어가 탐험할 수 있는 일관성 있는 소리풍경을 만들어낼 수 있었다는 느낌이 듭니다.
저희 블로그가 여러분에게 좋은 정보가 되고 도움이 되고, 저희가 겪어온 과정을 통찰해보는 시간이 되었기를 바랍니다. 시간을 내어 읽어주셔서 감사합니다. 핼시언과 아우터 월드를 즐겨주시기를 바랍니다!
팀 소개
저희 오디오 팀은 핼시언에 생명을 불어넣어 주신 사람들과 팀에게 감사하다는 말씀을 전해드리고 싶습니다. 오디오는 단지 한 개의 퍼즐 조각일 뿐이며 여러분의 지원과 재능 없이는 가능할 수 없었을 거예요.
- 아우터 월드의 QA, 나레이티브, 프로그래밍, 프로덕션, 게임 디자인, VFX과 애니메이션 팀
- Noiseworks(노이즈웍스)
댓글