💻 내 소개
안녕하세요 엄청짱 프로그래머 손다빈 입니다.
🥷기술
🐱 우리집 고양이 소개
📱 개인 프로젝트
🏢 참여한 프로젝트
🌱 내 잔디밭
- 나이 : 96년생
- 특이사항 : MZ세대, INFJ, 오른손잡이, 아이폰 유저
- 좋아하는 음식 : 롯데리아, 솥뚜껑 삼겹살, BBQ 황금 올리브
- 취미 : 프로그래밍, 영화 보기
🥷기술
🐱 우리집 고양이 소개
- 이름 : 콜라
- 나이 : 14년생
- 종 : Nado moreum
📱 개인 프로젝트
🏢 참여한 프로젝트
🌱 내 잔디밭
Godot Visual Shader 를 이용해서 불타면서 사라지는 효과 만들기 본문
쉐이더 파라미터 변수는 두가지가 필요합니다.
uniform float transparancy; // 사라지는 투명도 수치를 나타내는 변수
uniform sampler2D noiseTexture; // 노이즈 텍스쳐
투명도 수치를 나타내는 변수와 노이즈 텍스쳐 변수가 필요합니다. 이 글에서는 비주얼 쉐이더(Visual Shader) 기능을 이용해서 쉐이더를 작성할 예정입니다.
1. 노이즈 텍스쳐의 RGB Vector3 를 스칼라로 변환해서 R 값만 뽑아냅니다. (Vector Decompose 함수 이용)
2. 노이즈 텍스쳐에서 얻어낸 R 값과 투명도 변수 스칼리 값과 비교하여 텍스쳐의 하얀색 영역의 R값이 더 크면 투명하도록 합니다.
간단하게 구현되었습니다. 여기서 좀 더 사라지는 부분에 외각선 색상을 넣어봅시다.
외각선 색상에 필요한 쉐이더 파라미터 변수를 하나 추가합니다.
uniform vec4 outlineColor : hint_color;
transparency 파라미터 값의 0.7보다는 큰 값을 노이즈 텍스쳐에서 얻어와 외각선과 곱해서 텍스쳐와 더합니다.
이렇게 간단하게 디졸브 효과 쉐이더를 만들 수 있습니다. 고도엔진에서는 비주얼 쉐이더를 사용하지 않고 직접 코드로 쉐이더를 작성하는 것이 다른 어떤 게임엔진과 비교했을때도 가장 간편하다고 생각하지만 비주얼 쉐이더를 한번 사용해보았습니다.
예제 프로젝트는 github.com/MyNameIsDabin/MyShaderForGodot 에서 확인할 수 있습니다.
'글 묶음 > 나만쓰는 Godot' 카테고리의 다른 글
Godot 엔진에서 로컬 암호화 해서 json 으로 저장/불러오기 (0) | 2021.01.02 |
---|---|
내가 씬 내장 스크립트를 사용하지 않는 이유 (3) | 2020.01.24 |
고도 엔진에서 apk 뽑아보기 (0) | 2019.02.14 |