Game Programming in C++ 7장 연습문제 ② 가상위치 리스너 7장 연습문제 7.2 문제 7.2장의 3인칭 리스너 공식을 사용하여 이벤트 인스턴스의 가상 위치를 구현하라. CameraActor는 과제를 위해 제공된 3인칭 카메라 클래스로 교체하여 사용하라. 풀이 사운드 이벤트의 가상 위치의 필요성이 제기된 3인칭 게임상의 리스너의 문제는 이 글을 참고하자. 가상 위치 사운드 이펙트의 핵심은 다음과 같다. 소리의 크기는 플레이어의 위치에 따라 결정되어야 한다. 소리의 방향은 카메라 위치에 따라 결정되어야 한다. 소리의 방향과 감쇠 효과는 결국 리스너의 설정에 의존한다. 때문에 SetListener 함수를 다음과 같이 수정하는 방법으로 문제를 해결할 수 있다. 감쇠 효과 계산할 때는 플레이어 위치를 사용하고 소리의 방향을 결정할 때는 카메라의 위치를 사용하여 구현할 수.. Computer Science/Game Programming(OpenGL) 4년 전
Game Programming in C++ 7장 연습문제 ① 도플러 효과 구현 7장 연습문제 7.1 문제 7.2장을 참고하여서 도플러 효과를 적용한 게임프로젝트를 수정하자. 조건1: 도플러 효과를 적용하기 위해서 리스너와 이벤트 인스턴스 속성 코드를 수정하자. 조건2: 도플러 효과를 테스트하기 위해 Game::LoadData에서 생성된 구 액터를 앞뒤로 빠르게 이동시키자. 조건3: set3DSettings를 활용해서 도플러 효과의 세기를 조절하자 풀이 이번 문제에서 요구하는 기능을 구현하기 위해서 움직이는 구체를 별도의 클래스로 구현하였다. 그리고 이 구체에 도플러효과를 적용하기 위해서는 이 글에 나와있는 것 처럼 setListenerAttributes와 set3DAttributes에 올바른 속도값을 넣어야 한다. 그리고 set3DSettings를 통해서 도플러 효과의 세기를 조정.. Computer Science/Game Programming(OpenGL) 4년 전
7장 Audio - ③ FMOD를 활용한 오디오 믹싱 및 이펙트 7장 Audio - ③ FMOD를 활용한 오디오 믹싱 및 이펙트 오디오는 게임에서 중요한 역할을 차지한다. 게임 플레이 상황에 대한 오디오 신호를 제공한다든지 게임의 전반적인 분위기를 강화하는 역할 등 퀄리티 높은 사운드는 게임에 많은 생명력을 부여한다. 이번 장에서는 오디오 관련 강력한 기능을 제공하는 FMOD API를 활용하여 게임에서 다양한 오디오를 추가하는 방법을 다룬다. 💡 7장의 목차 오디오 구축하기 3D 위치 기반 오디오 믹싱 및 이펙트 믹싱 및 이펙트 디지털 신호 처리(DSP) 디지털화된 사운드는 재생하는 동안 조작이 쉽다. 디지털 신호 처리 DSP(Digital Signal Processing)는 신호에 대한 연산 조작을 뜻한다. 볼륨을 조절하거나 신호의 피치를 조정하는 것은 DSP의 한.. Computer Science/Game Programming(OpenGL) 4년 전
7장 Audio - ② FMOD를 활용한 3D 위치 기반 오디오 7장 Audio - ② FMOD를 활용한 3D 위치 기반 오디오 오디오는 게임에서 중요한 역할을 차지한다. 게임 플레이 상황에 대한 오디오 신호를 제공한다든지 게임의 전반적인 분위기를 강화하는 역할 등 퀄리티 높은 사운드는 게임에 많은 생명력을 부여한다. 이번 장에서는 오디오 관련 강력한 기능을 제공하는 FMOD API를 활용하여 게임에서 다양한 오디오를 추가하는 방법을 다룬다. 💡 7장의 목차 오디오 구축하기 3D 위치 기반 오디오 믹싱 및 이펙트 3D 위치 기반 오디오 3D 게임에서 대부분의 사운드 효과음은 위치에 기반한다. 유저가 벽난로를 향해서 걷고 있다면 벽난로의 소리가 앞에서 들려와야 하고, 벽난로를 등지고 걷는다면 벽난로 소리가 뒤에서 들려야와야한다. 만약 벽난로와 거리가 멀어진다면 감쇠함수.. Computer Science/Game Programming(OpenGL) 4년 전