오디오 버스 생성 함수 설명
이 문서에서는 audio_bus_create 함수를 사용하여 새로운 오디오 버스를 생성하는 방법에 대해 설명합니다. 또한 이 기능을 다양한 예제로 활용하는 방법도 안내합니다.
함수 설명
audio_bus_create 함수는 새로운 오디오 버스를 생성하고 이 오디오 버스에 접근하고 수정할 수 있는 AudioBus Struct를 반환합니다. 사용자가 생성한 오디오 버스는 더 이상 참조되지 않거나 연결된 발사체가 파괴될 때 자동으로 메모리에서 해제됩니다. 따라서 오디오 버스를 위한 "삭제(destroy)" 또는 "해제(free)" 함수는 필요하지 않습니다.
구문
audio_bus_create();
반환 값
AudioBus Struct: 생성된 오디오 버스에 대한 구조체.
예제 코드
아래의 예제 코드는 새로운 오디오 발사체와 오디오 버스를 생성하고, 발사체를 버스에 연결한 후 소리를 재생하는 과정을 보여줍니다.
emitter1 = audio_emitter_create(); // 새로운 오디오 발사체 생성
emitter1_bus = audio_bus_create(); // 새로운 오디오 버스 생성
audio_emitter_bus(emitter1, emitter1_bus); // 발사체를 오디오 버스에 연결
audio_play_sound_on(emitter1, snd_Ambience, true, 100); // 발사체에서 소리 재생
위 코드에서 emitter1은 새로운 오디오 발사체이고, emitter1_bus는 새로 생성된 오디오 버스입니다. emitter1을 emitter1_bus에 연결한 후, 지정한 소리가 발사체에서 재생됩니다. 이때 소리에 대한 효과는 먼저 emitter1_bus에서 처리되고, 이후 audio_bus_main에서 추가적인 효과가 적용됩니다.
활용 및 응용 예제
1. 여러 발사체와 오디오 버스 사용
여러 개의 발사체와 오디오 버스를 생성하여 각각의 소리를 제어할 수 있습니다.
// 첫 번째 발사체와 버스 생성
emitter1 = audio_emitter_create();
emitter1_bus = audio_bus_create();
audio_emitter_bus(emitter1, emitter1_bus);
// 두 번째 발사체와 버스 생성
emitter2 = audio_emitter_create();
emitter2_bus = audio_bus_create();
audio_emitter_bus(emitter2, emitter2_bus);
// 첫 번째 발사체에서 소리 재생
audio_play_sound_on(emitter1, snd_Ambience, true, 100);
// 두 번째 발사체에서 소리 재생
audio_play_sound_on(emitter2, snd_Effects, true, 100);
2. 사운드 효과 적용
각 오디오 버스에 서로 다른 사운드 효과를 추가하여 더 복잡한 오디오 환경을 만들 수 있습니다.
// 오디오 버스 생성
reverb_bus = audio_bus_create(); // 리버브 효과를 위한 버스 생성
echo_bus = audio_bus_create(); // 에코 효과를 위한 버스 생성
// 발사체와 버스 연결
audio_emitter_bus(emitter1, reverb_bus);
audio_emitter_bus(emitter2, echo_bus);
// 소리 재생
audio_play_sound_on(emitter1, snd_Music, true, 100); // 리버브 효과 적용
audio_play_sound_on(emitter2, snd_SoundEffect, true, 100); // 에코 효과 적용
위와 같이 다양한 오디오 버스와 발사체를 조합하여 복잡한 사운드 환경을 구현할 수 있습니다.
결론
audio_bus_create 함수는 오디오 시스템에서 발사체와 효과음을 유연하게 관리하는 데 필요한 강력한 도구입니다. 여러 버스와 발사체를 적절히 사용함으로써 다양한 사운드 효과를 구현할 수 있습니다.