오디오 리스너 속도 함수 설명
이 문서는 audio_listener_velocity 함수에 대한 내용을 설명하며, 이 기능이 청취자에게 도플러 효과를 제공하고 오디오 움직임을 시뮬레이트하는 방법을 다룹니다.
기능 개요
audio_listener_velocity 함수는 주어진 상대 x, y, z 위치를 기반으로 청취자의 속도를 설정합니다. 청취자가 움직이지 않거나 움직임이 일정하지 않은 경우, 이 값을 설정할 필요는 없습니다. 그러나 플레이어가 일정한 하단에서 상단으로 이동하는 스크롤 게임을 만들고, 적이 상단에서 하단으로 이동하는 경우, 청취자와 발신자(이 경우 audio_emitter_velocity()를 사용하여) 속도를 적절한 벡터로 설정하여 청취자 인스턴스를 지나갈 때 올바른 도플러 효과를 시뮬레이트할 수 있습니다.
메모: 여러 리스너가 있는 경우 audio_listener_set_velocity() 함수를 사용해야 합니다.구문
audio_listener_velocity(vx, vy, vz);
인수 설명
| 인수 | 타입 | 설명 |
|---|---|---|
| vx | Real | 리스너의 x 속도 컴포넌트 (기본값: 0) |
| vy | Real | 리스너의 y 속도 컴포넌트 (기본값: 0) |
| vz | Real | 리스너의 z 속도 컴포넌트 (기본값: 0) |
반환 값
N/A
예제 코드
if (speed > 0){
audio_listener_velocity(abs(hspeed), abs(vspeed), 0);
}
위의 코드는 플레이어 인스턴스의 속도가 0보다 큰지 확인하고, 0보다 크면 적절한 abs(hspeed)와 abs(vspeed) 구성 요소를 사용하여 리스너 속도를 설정합니다.
활용 및 응용 예제
- 3D 게임에서의 도플러 효과 적용
gml if (player.speed > 0) { audio_listener_velocity(player.hspeed, player.vspeed, player.zspeed); audio_emitter_velocity(enemy_id, enemy.hspeed, enemy.vspeed, enemy.zspeed); }3D 게임에서 플레이어와 적의 위치 및 속도에 따라 오디오를 효과적으로 시뮬레이션 합니다. - 스포츠 게임에서 관중 소리 변화
gml if (crowd_movement) { audio_listener_velocity(crowd_hspeed, crowd_vspeed, 0); }관중이 움직이는 방향에 따라 소리의 변화를 부여합니다. - 가상 현실(VR) 환경에서 음향 효과 적용
gml audio_listener_velocity(vr_head_xspeed, vr_head_yspeed, vr_head_zspeed);VR 환경에서 사용자의 머리 회전에 따라 오디오 음향 효과를 조정합니다.
이 예제들은 다양한 상황에서 audio_listener_velocity 함수를 활용하는 방법을 보여줍니다. 필요에 따라 조정하여 사용할 수 있습니다.