본문 바로가기
스터디

[특강] 게임 사운드 제작 기초 및 응용 - 2주차 : 게임 효과음 제작, 미들웨어 사용

by se.jeon 2023. 8. 14.
728x90
반응형

0. 수업 전 안내

1주차에서 이어지는 내용이기 때문에 1주차의 내용을 이해했다는 전제 하에 수업을 진행함.

https://dev-sieun.tistory.com/131

 

[특강] 게임 사운드 제작 기초 및 응용 - 1주차 : 기본 게임 사운드 구현

개요 주제 : 게임 사운드 제작 기초 및 응용 내용 : 게임 효과음 및 음악 제작에 필요한 기초 이론 및 응용 특강 대상 - 졸업 작품 등의 게임 제작을 진행 중이지만 사운드 수업을 듣지 않았던 학

dev-sieun.tistory.com

이 수업은 기본적인 지식이 없는데, 바로 사운드를 적용해야 하는 사람들을 타겟으로 한 강의임을 재차 안내.

설치 파일들을 제공하였으니 원활한 실습과 이해를 위해 설치하는 것을 권장.

FMod, Wwise의 사용을 위해 계정 생성 필요.

 

Wwise는 굉장히 직관적이지 못하고, 사용 방법이 어려운 경향이 있다.

지난 시간에는 사운드를 여러개 랜덤으로 뽑아 구현 해 보는 실습을 했고, 필요한 것이 무엇인지를 설명하는 시간을 가졌다. (이미지 참조, 1주차에 시청했던 머신건 이펙트 영상 시청) 패턴과 관련된 설명 재진행.

 

FMod, Wwise 둘 다 사용하고 싶지 않다면 한땀 한땀 사운드를 조건을 주어 부여 하는 방법 또한 있다.

하지만, 기법 그런 것들은 관심 없고 당장 구현이 필요하다. 그렇다고 그냥 사운드 리소스를 넣어주기만 하면 끝나는가? 그렇지 않다. 게임 사운드는 다양한 것을 고려해야 하는 복합적인 영역.

 

Wwise 간단 소개 진행, 예시 설명

머신건 이펙트를 피하는 가장 쉬운 방법은 여러가지 비슷하지만 다른 베리에이션의 사운드를 랜덤하게 사용하는 것.

소리가 하나씩 독립적으로 들어가게 하는 것은 본질적인 문제의 해결이 되지 않는다.

 

발 소리와 같은 경우, 여러 발 소리 클립을 미들웨어를 활용하여 랜덤하고 자연스럽게 표현 가능함.

Wwise는 변경 정보가 밑에 있는 child에 전부 적용되는 상속 구조. 별도 연결하는 작업을 진행 해 주어야 한다.

오디오 탭에서 랜덤 오디오 컨테이너를 만들고, 이벤트를 따로 만들어주어야 함. UI, UX적으로 좋지 않은 경험이고, 프로그래밍 지식이 없는 사운드 디자이너 입장에서는 굉장히 선호되지 않는 구조이지만 프로그래머는 이를 선호하는 경향이 있음.

 

(사운드 디자이너 지원 자격 및 우대 사항 안내 진행)

프로그래머가 사운드 수업을 내내 들으며 미들웨어를 연결하여 활용한 학기작, 졸작을 포트폴리오에서 어필해서 대형 게임사에 들어간 케이스가 있다. 프로그래머에게도 있으면 좋은 소양.

 

게임 사운드 관련 내용을 디테일하게 다루는 게임 학과는 청강대 외에 사실상 없는 상황.

게임 엔진을 다루는 것 외로도, 사운드 엔진을 다루는 것 또한 소홀히 해서는 안 된다.

3. 게임 사운드 제작

시간이 남으면 이펙트 사운드 등도 다룰 예정.

연사가 되는 종류의 무기, 무한히 재생되는 사운드의 경우 어떻게 관리 할 것인가.

Loop Point를 사용하여 무한 반복 재생이 되게끔 할 수 있음. 깔끔하게 루프되도록 만드는 것은 생각보다 어렵다.

 

Sound Forge가 가장 편리하고 좋지만, 유료 툴이기 때문에 Cakewalk를 기준으로 수업 진행.

Cakewalk 실습

사운드를 너무 키우면 디지털 사운드가 깨지게 된다. 이를 피크(클리핑)라고 한다. 피크가 되지 않게 적당량 조절해야 한다.

제로 크로싱 (죄송합니다 지난 강의 아직 보는 중)

 

사운드의 타이밍이 맞도록 항상 맨 앞으로 이동 하는 것을 잊지 말아야 한다.

클립 선택 > 클립 크기만큼 셀렉션 > Set Loop Point to Selection

 

 

사운드를 뒤에 붙이는 방법

Copy : 선택한 구간 뒤에 붙이는 기간

Duplication : 클립이 끝나는 바로 뒤에 붙이는 기능

단축키 : ctrl + D

 

똑같은 사운드를 뒤에 붙여 여러번 사용하는 것은 낭비.

하지만 복사를 하는 이유는 기법을 사용하기 위함.

 

 

뒤의 클립을 뒤집어 자연스럽게 적용하는 기법 : 핑퐁 기법, 핑퐁 테크닉. (왔다 갔다 한다는 의미를 가진다.)

Apply Effect > Reverse를 통해 복제본을 역재생 할 수 있다.

역방향 재생이 되는 기능이 없기 때문에 직접 사운드를 만드는 것. 자연스러운 루프를 만들어 사용 할 수 있다.

사운드를 뒤집었을 때 어색하게 들리는 것은 적용 할 수 없다.

ex) 사람 목소리

FMOD 복습 & 실습

대소문자 구분함. 에러가 날 수 있으니 스페이스바가 아닌 언더바를 사용 해 주어야 함.

기관총 소리를 만든다고 가정할 때, 2D가 아닌, 3D FPS 게임을 제작하려면 사운드도 3D여야한다.

 

클립 우클릭 > Add Loop Regions : 루프 포인트를 잡는 기능

단순히 반복만으로 완성도 있는 총기 연사음을 만들 수 없다. 

발사를 마무리하는 구간이 필요함.

 

 

마무리하는 사운드를 추가 해 주어 자연스럽게 만들 수 있지만, 결과적으로 반복을 진행 할 때 뒷 구간의 사운드는 재생되지 않기 때문에 문제가 해결되지 않는다.

루프를 자연스럽게 하기 위해 택할 수 있는 두 가지 방법

1. 이벤트를 하나 더 만들어 엔드 사운드를 따로 출력 해 주는 방법 (프로그래머가 대체로 선호함)

2. 클릭을 유지 할 때 무한 반복 재생, 조건에 맞춰 이후 사운드를 출력 해 주는 방법. (사운드 디자이너가 대체로 선호함)

 

 

- 특정 조건을 감별 할 수 있는 변수를 추가하여 (Add Parameter Sheet) 관리하는 방법이다.

- Value를 추가하여 다양한 조건을 관리 해 줄 수 있다.

- 총기와 같은 경우, OnButtonDown과 OnButtonUp의 형태이기 때문에 0과 1로 관리함.

- Label을 달아줄 수 있다.

- 실제 연결을 하는 것은 프로그래머의 역할, 기획서에 전달 해 주는 것을 기획자가 신경 써 주는 것이 좋다.

 

 

 

 

우클릭 > Add Destination Marker : 이 지점으로 이동하라는 마커

- 마커의 이름은 게임에서 실제로 프로그래머가 호출하는 명칭은 아님.

- 두 클립과 마커가 꼭 붙어있어야 할 필요는 없다.

 

 

우클릭 > Add Transition Region To > Markers > Maker 이름 : 지정된 마커 중 이동할 마커를 지정

- 조건을 체크하여 구간을 이동한다.

 

 

Add Parameter Condition > 구간 지정

- 이동 조건을 생성하고 구간을 지정한다.

- 조건은 End로 지정한다.

- 파란 구간을 루프하다가 녹색 바 내의 구간에서 조건을 체크했을 때 구간을 이동하게 지정하는 작업이다.

- 변수에 새로운 값을 넣기 전까지는 변수의 값이 유지된다.

소리의 복잡도 추가

디테일한 사운드의 구현은 생각보다 복잡한 작업이다.

탄피가 떨어지는 소리를 추가하는 경우 여러가지 방법을 고려 할 수 있다.

 

 

트랙을 추가하여 얹어줄 수 있지만, 총소리보다 탄피 소리가 느린 문제가 발생한다.

재생 속도가 훨씬 빨라야 함.

 

Trigger Behavior : 발동 방식, 세부 메뉴를 펼쳐 조정할 수 있다.

 

 

우측 아래의 반복 재생되는 speed를 넣어주면 속도가 변화한다.

탄피 사운드의 볼륨을 줄여 적당히 밸런스를 맞춰준다.

디테일한 설명을 진행하기에는 특강의 시간이 부족한 사유로 왜, 어떤 작업인지에 대해서는 간단히 진행하고 생략함.

 

WWise를 사용하는 방법

 

프로그래머는 경험상 대체로 Wwise를 선호하는 경향을 보이는 편.

 

Defalt work > 사운드 추가 후 루프 할 구간을 체크한다.

별도로 편집이 필요 없다면 다른 작업을 할 필요가 없다.

 

Event 생성 - Audio 탭에서 생성하는 것과 Event 탭에서 생성하는 것이 다르므로 주의해야 함!

New Child - Event 하나 더 생성

 

사운드 디자이너는 대체로 이 방향을 선호하지 않지만, 다양한 방법과 방향을 소개하는 것.

관련 내용의 디테일을 알고 싶다면 3-2학기 게임 사운드 제작 수업을 수강해야 함.

 

 

그냥 사용하면 사운드가 겹치고, 제대로 적용되지 않는 문제가 발생한다.

 

사운드 겹침 문제 해결 방법

Play > Stop으로 변경 후 End 사운드를 적용 해 준다.

Stop : 연결되어있는 사운드가 멈추는 것.

Stop All : 다양한 오브젝트의 동일한 이벤트를 전부 멈추는 것. 객체 하나가 아닌, 모든 객체.

10시 부근의 Wwise 내용 다시 봐야 함. 제대로 이해 못 했음.

Cakewalk SFX 실습

ex) 쇠로 되어 있는 고릴라 디자인의 보스 몬스터가 바닥을 내리쳐서 충격파를 발동 시키는 것과 같은 특수 스킬이 있다면

사운드와 관련된 지식 없이는 애니메이션과 사운드가 제대로 맞기 어렵다.

 

 

스킬 애니메이션 영상을 요청 한 후 File > Import Video. Video 시간을 확인하며 사운드가 맞는 것을 확인하는 작업이 필요하다.

- 폭발, 물체가 부숴지는 사운드

- 기계 재질의 큰 물체가 움직이는 사운드

- 공기를 가르는 사운드

 

 

가공을 할 줄 아는 경우 날카로운 느낌을 살려주기 위해 고음을 살리는 등의 편집을 해 줄 수 있다.

다양한 사운드를 통해 풍요롭고 자연스러운 사운드를 만들 수 있음.

마무리하며

프로그래머는 높은 확률로 사운드 비전문가.

그렇기 때문에 툴(미들웨어)을 사용하는 것 자체가 사운드 복잡성의 부담감을 줄이기 위한 것이다.

센스 있게 셋팅을 해 주면 기획자와 프로그래머 모두가 편해지게 된다.

 

게임 사운드 종류 - SFX (일회성, 루프, 코딩, 스킬)

- 코딩 : 발소리와 같은 사운드를 캐릭터 애니메이션에 연결하는 것

- 석양이 진다 : 쌍권총 돌리는 소리, 탄피 떨어지는 소리, 보이스, 효과음의 콜라보레이션.

특수 스킬을 발동할 때 사운드를 리로드하는 작업이 필요하다.

 

따라하면서 실습하려고 파일을 준비했지만, 시간적인 문제로 진행하지 못해서 시연으로 마무리 하게 됨.

이번 강의에서는 Wwise와 FMod에서 루프를 구현하는 방법에 대해 실습 해 보았다.

이펙터, 환경 사운드 등을 다루는 작업도 있지만 소개하지 못 했다.

다음 주에는 사운드 음악까지 하고, 최적화 및 빌딩을 통해 실제 구현이 가능하도록 하는 것을 다룰 예정이다.

 

이 특강은 당장 진행해야 하는 졸업 작품, 개인 참여중인 작품과 같은 사유로 급하게 필요한 사람들을 위한 초고속 압축 수업이다. 특강의 특성상 시간이 부족하여 고속으로 진행하기도 했기 때문에 지난 강의를 여러 번 다시 보며 복습하는 것을 권장함. 작곡하라는 이야기가 아니다. 이미 완성된 음악을 게임에 집어넣기 위한 컨트롤의 과정.

디테일한 내용은 학기 중에 진행하는 수업을 통해 수강하길 바람.

728x90
반응형