fx_set_parameter 함수 설명
fx_set_parameter 함수는 주어진 FX 구조체의 파라미터 값을 변경하는 데 사용됩니다. 이 함수는 fx_create() 또는 layer_get_fx()에서 반환된 FX 구조체와, 변경할 파라미터의 이름(문자열), 그리고 새로운 값을 지정합니다. 이 변경 사항은 FX 구조체가 할당된 레이어에서 볼 수 있습니다.
함수 사용법
문법
fx_set_parameter(filter_or_effect, parameter_name, val, ...);
매개변수 설명
| 매개변수 | 타입 | 설명 |
|---|---|---|
| filter_or_effect | FX Struct | 수정할 FX 구조체 |
| parameter_name | String | 값이 변경될 파라미터의 이름(문자열) |
| val... | Real 또는 Array | 해당 파라미터의 새로운 값(실수 또는 배열) |
반환값
N/A
예제 코드
다음 코드는 "_filter_tintfilter" 효과에서 새로운 FX 구조체를 생성하고, "g_TintCol" 파라미터에 색상 값을 할당한 후, FX 레이어에 적용하는 예제입니다.
var _fx_tint = fx_create("_filter_tintfilter");
fx_set_parameter(_fx_tint, "g_TintCol", [1, 0, 0, 1]);
layer_set_fx("EffectLayer", _fx_tint);
위의 코드에서 "g_TintCol" 파라미터는 색조의 색상을 나타내며, 이는 내부적으로 vec4로 처리되므로 네 개의 값(빨강, 초록, 파랑, 알파)에 해당하는 배열을 사용합니다. 그런 다음 색조 FX 구조체가 FX 레이어에 적용됩니다.
또한, 배열 대신 개별 인수로 벡터 값을 전달할 수도 있습니다:
fx_set_parameter(_fx_tint, "g_TintCol", 1, 0, 0, 1);
활용 예제
- 효과의 색상 조정
gml var _fx_color_adjust = fx_create("_filter_color_adjust"); fx_set_parameter(_fx_color_adjust, "g_Brightness", 0.5); layer_set_fx("ColorLayer", _fx_color_adjust); - 블러 효과 적용
gml var _fx_blur = fx_create("_filter_blur"); fx_set_parameter(_fx_blur, "g_BlurAmount", 10); layer_set_fx("BlurLayer", _fx_blur); - 투명도 조정
gml var _fx_alpha = fx_create("_filter_alpha"); fx_set_parameter(_fx_alpha, "g_Alpha", 0.8); layer_set_fx("AlphaLayer", _fx_alpha); - 채도 조정
gml var _fx_saturation = fx_create("_filter_saturation"); fx_set_parameter(_fx_saturation, "g_Saturation", [1.0, 0.5, 0.5, 1]); layer_set_fx("SaturationLayer", _fx_saturation); - 그림자 효과 추가
gml var _fx_shadow = fx_create("_filter_shadow"); fx_set_parameter(_fx_shadow, "g_ShadowOpacity", 0.7); layer_set_fx("ShadowLayer", _fx_shadow);
이와 같은 방법으로 다양한 효과를 레이어에 적용할 수 있습니다.