오디오 이펙트 생성하기
이 문서에서는 새로운 오디오 이펙트를 생성하고, 이를 통해 접근 및 수정할 수 있는 `AudioEffect Struct`를 반환하는 함수를 설명합니다. 또한, 초기화할 매개변수를 담은 구조체를 함수에 전달할 수도 있습니다. 생성 가능한 오디오 이펙트의 목록은 `AudioEffectType Enum`에서 확인할 수 있습니다. 반환된 구조체의 구성원은 생성된 오디오 이펙트의 유형에 따라 달라집니다. 가능한 모든 오디오 이펙트 구조체는 `AudioEffect Struct`를 참조하시기 바랍니다.
## 문법
```gml
audio_effect_create(type, [params]);
인수 설명
| 유형 | 설명 |
|---|---|
| type | AudioEffectType Enum – 생성할 오디오 이펙트의 유형 (예: AudioEffectType.Reverb1) |
| params | 구조체 – 오디오 이펙트의 매개변수 (AudioEffect Struct에서 사용 가능한 매개변수 참조) |
반환 값
AudioEffect Struct
예제 1
var _ef_distortion = audio_effect_create(AudioEffectType.Bitcrusher);
_ef_distortion.gain = 1.1;
_ef_distortion.factor = 20;
_ef_distortion.resolution = 8;
_ef_distortion.mix = 0.5;
audio_bus_main.effects[0] = _ef_distortion;
위 코드는 audio_effect_create를 사용하여 AudioEffectType.Bitcrusher 유형의 새로운 왜곡 이펙트를 생성합니다. 그런 다음 이 이펙트의 매개변수를 설정하여 이펙트를 구성하고, 마지막으로 메인 오디오 버스에 이 이펙트를 할당하여 이펙트 처리를 시작합니다.
예제 2
audio_bus_main.effects[0] = audio_effect_create(AudioEffectType.Bitcrusher, {gain: 1.1, factor: 20, resolution: 8, mix: 0.5});
위 코드는 예제 1에서처럼 새로운 왜곡 이펙트를 생성하고, 매개변수 값을 포함한 구조체를 전달하여 즉시 이펙트를 초기화합니다.
더 많은 예제 활용
예제 3: 리버브 이펙트 생성
var _ef_reverb = audio_effect_create(AudioEffectType.Reverb1, {room_size: 0.5, damping: 0.3, wet: 0.4});
audio_bus_main.effects[1] = _ef_reverb;
위 코드는 리버브 이펙트를 생성하고 기본 매개변수를 설정하여 오디오 버스에 추가합니다.
예제 4: 딜레이 이펙트 생성
var _ef_delay = audio_effect_create(AudioEffectType.Delay, {time: 0.3, feedback: 0.5, mix: 0.6});
audio_bus_main.effects[2] = _ef_delay;
위 코드는 딜레이 이펙트를 생성하고 매개변수를 설정하여 오디오 버스에 추가합니다.
요약
이 문서에서는 새로운 오디오 이펙트를 생성하는 방법과 그에 따른 매개변수 설정 방법에 대해 설명했습니다. 다양한 이펙트를 생성하고 활용하여 더 풍부한 오디오 경험을 제공할 수 있습니다.
© Copyright YoYo Games Ltd. 2022 All Rights Reserved ```