오디오 리스너 방향 설정
이 문서는 3D 오디오 공간에서 리스너의 방향을 변경하는 방법에 대해 설명합니다. audio_listener_orientation 함수를 사용하여 리스너의 시선 방향(look at direction)과 위 방향(up direction)을 설정할 수 있습니다. 기본값은 시선 방향이 (0, 0, 1)이고 위 방향이 (0, 1, 0)입니다. 여러 개의 리스너가 있는 경우 audio_listener_set_orientation() 함수를 사용해야 합니다.
중요 사항
- 이 함수로 리스너의 방향을 변경하면 게임 방 주위의 오디오 이미터에서 발생하는 소리가 플레이어에게 어떻게 들릴지를 변화시킵니다.
예를 들어, 리스너가 기본 위치에 있을 때 소리가 아래쪽과 오른쪽에서 나오는 것처럼 들리지만, 새로운 위치와 방향으로 변경했을 경우 소리는 위쪽과 오른쪽에서 오는 것처럼 들리게 됩니다.
문법
audio_listener_orientation(lookat_x, lookat_y, lookat_z, up_x, up_y, up_z);
매개변수 설명
| 매개변수 | 타입 | 설명 |
|---|---|---|
| lookat_x | Real | x 시선 벡터 (기본값: 0) |
| lookat_y | Real | y 시선 벡터 (기본값: 0) |
| lookat_z | Real | z 시선 벡터 (기본값: 1) |
| up_x | Real | x 위쪽 벡터 (기본값: 0) |
| up_y | Real | y 위쪽 벡터 (기본값: 1) |
| up_z | Real | z 위쪽 벡터 (기본값: 0) |
반환 값
- N/A (반환 값 없음)
예제
dx = dcos(direction);
dy = -dsin(direction);
dz = -dsin(zdirection);
audio_listener_position(x, y, z);
audio_listener_orientation(dx, dy, dz, 0, 0, 1);
위의 코드는 3D 오디오 리스너의 위치를 인스턴스의 x 및 y 변수와 추가 z 변수로 설정합니다. 이후 리스너의 방향을 인스턴스의 방향 변수와 추가 z 방향 변수를 사용해 계산한 세 개의 변수로 설정합니다.
추가 활용 예제
1. 게임 캐릭터의 시점 변경에서 사용
리뷴(Player) 캐릭터가 카메라를 통해 바라보는 방향을 설정할 때, audio_listener_orientation을 사용하여 캐릭터의 시점을 반영한 방향으로 소리가 들리도록 할 수 있습니다.
if (character_is_facing_north) {
audio_listener_orientation(0, 1, 0, 0, 0, 1);
}
2. 방향에 따른 다른 소리 효과
각 방향에 따라 다르게 들리는 소리를 만들고 싶을 때, 특정 방향을 설정하여 그 방향에서 소리가 더 크게 들리도록 조정할 수 있습니다.
audio_listener_orientation(1, 0, 0, 0, 1, 0); // 오른쪽으로 방향 설정
이렇게 사용하면, 오른쪽에서 발생하는 소리는 더욱 강조되어 들리게 됩니다.
결론
audio_listener_orientation 함수는 3D 환경에서 소리의 방향성을 설정하는 데 매우 유용합니다. 다양한 매개변수를 조절하여 원하는 방향과 소리 효과를 반영할 수 있습니다.