https://alpaca-code.tistory.com/253 (앞선 글)
유니티) 셰이더 변수(프로퍼티) 만들기
아무 셰이더나 머티리얼에 적용시켜 보면 Aperture, Cube, Yaw, Fuzz 같은 변수들이 있다.이러한 변수들의 값을 기반으로 재질의 색상이나 반짝임, 반사 정도 등 시각적인 걸 변화시킨다. 이번 글에서
alpaca-code.tistory.com
앞선 글에서 변수(프로퍼티)를 만드는 과정을 소개했었다.
명도와 채도 등을 예시로 그런 변수를 실제 값에 연결만 해준다면
우리가 흔히 머티리얼에서 재질의 느낌을 조작하는 역할을 수행할 수 있다고 언급했다.
이번 글에서는 그 기능을 재현해보고자 한다.
셰이더를 만들면 이런 모습일 것이다.
이전 글에서는 예시로 Float를 만들었지만 이번에는 색상 조절을 해보기 위해
Color 타입의 변수를 하나 만들어준다. (+버튼으로, 이전 글 참고)
이제 이 변수와 Fragment에 있는 Base Color를 연결해주기만 하면 된다.
노드의 형태로 이루어져 있기에 그냥 드래그 드롭만 몇 번 해주면 끝난다.
왼쪽 창에서 변수를 드래그하여 빈 곳에 드롭하면 위 사진처럼 떨어져 나온다.
구멍이 있는 게 보일 텐데, 이걸로 다른 값들과 연결시킬 수 있다.
이렇게 Base Color와 연결했다면 준비는 끝난다.
이제 우리는 머티리얼에서 셰이더를 조작해 색을 바꿀 수 있게 되었다.
아무 물체에 머티리얼을 적용시키고 색을 바꿔보자.
구를 하나 가져와서 머티리얼을 넣어줬다.
이렇게 색을 바꿔준다면 어떻게 될까?
자 이렇게 우리가 연결해 준 덕분에 즉석에서 빨간색으로 변한 것을 볼 수 있다.
우리가 흔히 사용했던 다른 여러 머티리얼의 원리도 이와 같다.
꼭 Color뿐 아니라 다양한 타입을 다양한 수치에 연결하면
우리가 그리던 셰이더를 꽤나 쉽게 만들 수 있다.
이게 셰이더의 기초이다.
여기까지 셰이더 노드의 기초를 알아봤다.
전문적으로 셰이더를 다루는 사람들은 코딩까지 동원해서 재질을 표현하지만
노드만으로도 꽤나 많은 것을 할 수 있다. 이 정도의 기초를 알았다면
더 활용할 수 있는 범위가 넓어졌을 것이라 생각한다.
물론 더 익숙해져야 하고 어떤 수치들이 있고, 어떤 타입들이 있으며
이들이 어떻게 연결되는지에 대한 경험이 필요하겠지만 전반적인
셰이더의 구조를 안 것 같아 기쁘다.
이상으로 도움이 되었길 바라며,
끝.
'게임 개발 > 유니티' 카테고리의 다른 글
유니티 셰이더) 텍스쳐 흑백 및 채도 조절 - Saturation (0) | 2025.01.02 |
---|---|
유니티 셰이더) 텍스쳐 출력하는 법 (0) | 2025.01.01 |
유니티) 셰이더 변수(프로퍼티) 만들기 (2) | 2024.12.10 |
유니티) MissingMethodException: Method 'Player.OnTouch' not found. (0) | 2024.08.27 |
유니티) 게임 실행 시 유니티 로고(MADE WITH Unity) 없애는 법. (2) | 2024.08.25 |
댓글