[Godot] 블룸의 적용 방법
13867 단어 Godot
이 글에서 Godot Engine에 Bloom을 적용하는 방법에 관한 글을 쓰겠습니다.
브룸은 아래와 같이 밝은 부분을 펼치면서 밝은 부분을 강조하면서 흐릿하게 밝아지는 고급스러움을 느낀다.
하지만 자주 사용하면 너무 힘을 주면 게임 재생에 지장을 줄 수 있으므로 눈에 띄고 싶은 대상에게만 적용하거나 살짝 적용하는 것이 좋다.
브룸의 실현
이미지 등록
이번 소재로 다음과 같은 이미지를 사용합니다.이름을 "bg.png"으로 저장합니다.
이미지 정렬
장면을 만들고 이미지를 구성합니다.
장소는 어디든 상관없습니다.
World Environment 추가
다음에 추가
WorldEnvironment
합니다.이분
WorldEnvironment
은 매우 우수하여 다음과 같은 기능을 가지고 있습니다.Depth of Field Blur: 촬영 화면 깊이 = 흐림
Glow: 밝기 조절
Tonemap(Auto Exposure): 색상 그래프(자동 노출)
Adjustments:조정
다음 GIF 애니메이션은
Adjustments > Saturation
의 채도 조정입니다.회색조(회색)와 채도가 높은 작은 색상을 사용할 수 있습니다.Environment 추가
WorldEnvironment
추가된 상태에서는 다음 경고가 표시됩니다.추가
Environment
가 없기 때문이다.검사기에서 추가
Environment
.단계별로
WorldEnvironment > Environment > [空]
를 클릭하여 새 Environment를 선택합니다.Environment > Background > Mode
가 "Canvas"로 변경되었습니다.그리고 체크
Glow > Enabled
를 하면 Glow > Bloom
의 값을 바꾸어 브룸을 칠 수 있다.블룸의 사용법이 약하다고 생각하면...
Glow > Blend Mode
'소프트라이트'(약등)에서'어디딕티브(Addictive·가산)'까지 블룸의 사용이 강화된다.면도기로 설치하다
공식 샘플을 봤다면 면도기에 휘광을 구현한 예가 있으니 함께 소개해 드리겠습니다.
shader_type canvas_item;
render_mode blend_premul_alpha;
uniform float radius : hint_range(2, 5);
uniform float amount : hint_range(0, 5);
void fragment() {
float r = radius;
vec2 ps = TEXTURE_PIXEL_SIZE;
vec4 col = texture(TEXTURE, UV);
vec4 glow = col;
glow += texture(TEXTURE, UV + vec2(-r, -r) * ps);
glow += texture(TEXTURE, UV + vec2(-r, 0.0) * ps);
glow += texture(TEXTURE, UV + vec2(-r, r) * ps);
glow += texture(TEXTURE, UV + vec2(0.0, -r) * ps);
glow += texture(TEXTURE, UV + vec2(0.0, r) * ps);
glow += texture(TEXTURE, UV + vec2(r, -r) * ps);
glow += texture(TEXTURE, UV + vec2(r, 0.0) * ps);
glow += texture(TEXTURE, UV + vec2(r, r) * ps);
r *= 2.0;
glow += texture(TEXTURE, UV + vec2(-r, -r) * ps);
glow += texture(TEXTURE, UV + vec2(-r, 0.0) * ps);
glow += texture(TEXTURE, UV + vec2(-r, r) * ps);
glow += texture(TEXTURE, UV + vec2(0.0, -r) * ps);
glow += texture(TEXTURE, UV + vec2(0.0, r) * ps);
glow += texture(TEXTURE, UV + vec2(r, -r) * ps);
glow += texture(TEXTURE, UV + vec2(r, 0.0) * ps);
glow += texture(TEXTURE, UV + vec2(r, r) * ps);
glow /= 17.0;
glow *= amount;
col.rgb *= col.a;
COLOR = glow + col;
}
참고 자료Reference
이 문제에 관하여([Godot] 블룸의 적용 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/2dgames_jp/items/459e5902cdd36b0438b6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)