오디오 방출기 감쇠 (audio_emitter_falloff)
이 문서에서는 오디오 방출기 감쇠를 설정하는 함수인 audio_emitter_falloff에 대해 설명합니다. 이 함수는 방출기에서 리스너까지의 거리에서 소리가 얼마나 작아지는지를 제어합니다.
개념
- 감쇠 거리: 방출기가 리스너에 대해 0 볼륨에 도달하기까지의 거리입니다. 기본값은 100입니다.
- 감쇠 거리를 1 이하로 설정하면 소리가 들리지 않게 되며, 그 외의 값에서는 방출기와 리스너의 거리에 따라 소리가 점점 작아집니다.
- 소음이 어떻게 들리느냐는 감쇠 기준 거리와 롤오프 계수에 따라 달라집니다.
- 감쇠 기준 거리: 소리의 볼륨이 반으로 줄어드는 거리를 말합니다.
- 롤오프 계수: 이 값은 기준 거리 이후의 소음 감소에 영향을 줍니다. 기본값은 1입니다.
자세한 정보는 audio_falloff_set_model() 함수를 참조해 주세요.
문법
audio_emitter_falloff(emitter, falloff_ref, falloff_max, falloff_factor);
인수 설명
| 인수 | 타입 | 설명 |
|---|---|---|
| emitter | Audio Emitter ID | 변경할 방출기의 인덱스 |
| falloff_ref | Real | 리스너에 대한 감쇠 기준 거리 (클램프) |
| falloff_max | Real | 리스너에 대한 최대 감쇠 거리 |
| falloff_factor | Real | 감쇠 계수 (기본값 1) |
반환 값
- 반환 값: 없음 (N/A)
예제
다음은 오디오 방출기를 생성하고 감쇠 거리를 설정하는 코드 예제입니다:
s_emit = audio_emitter_create();
audio_emitter_position(s_emit, x, y, 0);
audio_emitter_falloff(s_emit, 100, 300, 1);
위 코드에서는 오디오 방출기를 생성하고, 변수 s_emit에 그 인덱스를 할당합니다. 이 방출기는 인스턴스의 위치에 배치되며, 감쇠 거리는 300픽셀로 설정됩니다. 즉, 방출기가 리스너의 위치에서 300픽셀 이상 떨어지면 소리가 들리지 않게 됩니다. 감쇠 기준 거리는 100픽셀이며, 이 위치에서부터 소리가 줄어들기 시작합니다.
다양한 활용 및 응용 예제
- 다양한 감쇠 설정
다른 감쇠 거리를 설정하여 소리의 감쇠 상태를 조절해 보세요. 예를 들어 감쇠 거리를 200으로 설정할 수도 있습니다.
gml audio_emitter_falloff(s_emit, 150, 400, 2);
- 방출기 위치 이동
방출기의 위치를 변경하여 소리의 범위를 조절할 수 있습니다.
gml audio_emitter_position(s_emit, new_x, new_y, 0);
- 여러 개의 방출기 사용
여러 개의 방출기를 생성하여 각 방출기에 서로 다른 감쇠 설정을 적용할 수 있습니다.
```gml s_emit1 = audio_emitter_create(); audio_emitter_falloff(s_emit1, 100, 300, 1);
s_emit2 = audio_emitter_create(); audio_emitter_falloff(s_emit2, 50, 250, 1.5); ```
이러한 방법으로 소리의 감쇠를 조절하여 다양한 장면과 효과를 만들 수 있습니다.