VRChat 마이너 갤러리 저장소

제 목
강좌/정보 VRChat 유저를 위한 잡다한 Shader 강좌 <4>
글쓴이
포동포도
추천
11
댓글
5
원본 글 주소
https://gall.dcinside.com/vr/230994
  • 2019-07-28 13:08:36
							

==============================


이번에는 이전 강좌들에서 미처 소개하지 못한

많은 UTS 셰이더의 기능과 그 용도를 알아보고자 한다.


다른 셰이더들은 모든 기능을 단일 셰이더에 합쳐버리거나

Transparent, opaque정도만 구분하는데

유난히 UTS는 귀찮게시리 이것저것 다 구분해놔서

초보자들이 접근하기엔 어려운 감이 적지않아 있다.


역시 중요하지 않은 부분은 파란색 글씨로 처리했으니

알아서 넘어가줘도 좋다.






==============================


1. UTS(UnityChanToonShader)구분법




UTS가 유난히 셰이더가 많은 것은 사실이지만

잘 살펴보면 이름에 따른 특징이 있다. 한 번 살펴보자.



잘 살펴봤더니 같은 단어가 많은 것을 볼 수 있는데

UTS의 작명은 인스타그램의 태그처럼 작명된거라

어떤 기능이 들어갔으면 그에 해당하는 기능의 이름이 붙는 것이다.

위 기능들은 이제 차차 설명하기로 하자.




==============================


1. AngelRing 사용법




감이 아직 안 잡힐테지만 먼저 가장 위의 AngelRing을 보자면



AngelRing안에 또 다른 셰이더들이 있을 것이다.

일단 Toon_ShadingGradeMap가 기본적인 셰이더이므로

이것을 선택해보자.




그럼 맷캡과 이미시브 탭 사이에 AngelRing 관련 탭이 있는 것을 볼 수 있다.



AngelRing Projection으로 AngelRing을 활성화 시키고

AngelRing에 텍스쳐를 넣어 다음 색을 조절시킨 후

Offset U/V 스크롤 바로 텍스쳐의 위치를 조절한다.


Use α(alpha) channel as Clipping Mask는

AngelRing에 넣은 이미지가 반투명일 경우 활성화시키면 된다.








메인 텍스쳐와 엔젤 링 텍스쳐는

같은 UV를 가진 모델의 이미지를 써야 한다.


이건 이미시브(에미션)나 맷캡마스크나

대부분의 셰이더 설정에 포함되는 이야기겠지만.






잘 추가하면 머리카락에 엔젤링 텍스쳐가 생긴다.

각도에 따라 변형되는 모습.


VR환경에서 테스트 했는데

2개로 보이거나 이상하게 보이진 않았다.

다만 엔젤링 텍스쳐를 해당 모델에 맞게 직접 그려야하므로

정말 귀찮은 작업일 것 같다.








==============================


2. Helper 사용법




사용법은 간단하다.

해당 모델의 Materials의 갯수를 1개 추가해서

새로 만든 UTS Helper 셰이더를 추가한다.




그럼 해당 모델에 헬퍼의 셰이더가 덧씌워지며

설정해둔 아웃라인(외곽선)이나 스탠실이 추가되게 된다.


왼측은 헬퍼 아웃라인을 씌우지 않은 모델이고

오른쪽은 헬퍼 마테리얼을 추가하여 씌운 모델.


근데 이 헬퍼가 쓸모없는게 아웃라인이랑 스탠실은

이미 많은 UTS셰이더에 포함된 기능이므로

VRChat사용자가 쓸 일은 없을 듯 하다.





==============================


3. Moblie, NoOutline 사용법


따로 사진으로 설명할 필요가 없는게

모바일 셰이더는 실시관 광원에 적게 반응하여

연산을 줄일 수 있는 비교적 가벼운 셰이더고


NoOutline 셰이더는 외곽선 기능을 설정할 탭이 제거된 셰이더다.


그것 말고는 셰이더의 내부 기능은

3강에서 설명했던 것과 동일하다.



==============================


3. Tessellation 사용법






비교적 무거운 기능으로

매시의 정점 등을 수정하는 용도로써

저폴리 매시를 부드럽게 만든다고는 하는데

이걸 딱히 VRChat에서 쓸 일은 없을 듯 하다.



Edge Length: 거리에 따라 매시를 나눔. 값이 클 수록 나눈 타일이 커짐.


Phong Strength: 타일을 당기는 정도.

작을수록 안으로 당겨지고 클 수록 밖으로 밀어냄


Extrusion Amount: 나눠진 타일의 크기를 조절함.





움짤로 봐도 이걸 어디에 써먹을지 감이 안 잡힌다.


테셀레이션 기능 자체가 워낙 무겁고

테러 셰이더에 자주 쓰다보니

VRChat에선 안 쓰는게 좋을 것 같다.





==============================


3. StencilMask와 StencilOut



사진 제한이 걸려서 여기서 설명하기엔 어렵다.

셰이더에 레이어를 추가한다고 생각하면 된다.




Stencil No. 가 있는데

해당 칸에 번호를 쓰면 같은 번호의 스탠실 셰이더와

서로 간섭할 수 있게 된다.


이 기능은 이전 강좌의

https://gall.dcinside.com/mgallery/board/view/?id=vr&no=224722&search_head=50&page=1

에서, '2. 눈썹이나 눈이 머리카락을 뚫고 보이게 만들기'를 보면 된다.






==============================


4. DoubleShadeWithFeather와 ShadingGradeMap의 차이점




UTS를 크게 두 개로 나누자면

DoubleShadeWithFeather와 ShadingGradeMap으로 나눠지는데

그 둘의 차이점을 보고자 한다.





보여지는 모습엔 딱히 차이점은 없지만

음영 관련 설정이 다르다.


ShadeGradeMap가 좀 더 세분화적인 설정이 가능한데






이 부분이 다르다,


오른쪽 더블쉐이드의 경우

1st Shade remove_style_tag>

2nd Shade remove_style_tag>


BaseColor Step: Base Color(기본 색상)와 Shade Color사이의 경계를 설정한다.


Base/Shade Feather: 기본 색상과 음영 색상 사이의 경계를 부드럽게 한다.


ShadeColor Step: 1st Shade Color(첫 번째 음영)와 2nd Shade Color(두 번째 음영)의 경계를 설정한다.

2nd Shade Color를 사용하지 않으면 0으로 설정한다.


1st / 2nd_Shades Feather: 1st와 2nd사이 음영의 경계를 부드럽게 한다.






왼쪽 쉐이딩의 경우

Shading Grade Map: 음영에 해당 텍스쳐의 그림자를 덧씌움

ShadingGradeMap Level: Shading Grade Map의 크기

Blur Level of ShadingGradeMap: Shading Grade Map의 흐림 강도


1st ShadeColor Step: 기본 색상과 첫 번째 음영 색상 사이의 그라데이션을

BaseMap의 색 속성 과 동일하게 설정


1st ShadeColor Feather: 기본 색상과 첫 번째 음영 색상 사이의 경계를

흐리게 처리하는 강도

2nd ShadeColor Step: 1 차 및 2 차 쉐이드 사이의 간격을 설정


2nd ShadeColor Feather: 첫 번째와 두 번째 쉐이드 컬러 사이의 경계를

흐리게 처리하는 강도









셰이딩 맵에 같은 텍스쳐를 넣었다. 


DoubleShadeWithFeather는

셰이딩 맵을 2개 넣을 수 있는 장점이 있으나

흐림 강도는 텍스쳐로 조절해야하는 단점이 있고


ShadingGradeMap은 간편하지만

세부적인 셰이딩은 어렵다는 단점이 있다.






==============================


5. Clipping과 TransClipping





~Clipping이 붙은 셰이더는

컷아웃 셰이더라고 생각하면 된다.




베이스 맵에 클리핑 마스크를 덧씌워

투명화 시킬 부분과 그렇지 않을 부분을 추가한 형태.


클리핑 레벨로 어느 정도의 투명도가 되었을 때

완전히 투명하게 처리할 건지 기준을 설정할 수 있다.





~TransClipping이 붙은 셰이더는

컷아웃+트랜스패런드(Transparent) 셰이더라고 생각하면 된다.


컷아웃 기능에 투명한 물체를 만들 수 있는 기능까지 추가한거다.


Transparent Level로 투명도를 조절할 수 있다.




Use α(alpha) channel as Clipping Mask는

클리핑 마스크에 넣은 이미지가 반투명일 경우 활성화시키면 된다.






==============================


6. 마지막 정리, UTS셰이더의 구분




다시 한 번 이 셰이더를 살펴보자.

쓸모 없다고 판정되는건 빼버리고

그 용도를 정리하자면


기본적으로 아바타 바디에 사용하는 셰이더는

Toon_DoubleShadeWithFeather,

Toon_ShadingGradeMap

이 두가지 셰이더


AngelRing: 특정 하이라이트 텍스쳐를 추가할 때 사용

Moblie: 조금 가벼운 셰이더를 원할 때 사용

NoOutline: 외곽선 설정이 없는 셰이더


~DoubleShadeWithFeather: 음영에 생길 그림자를 세부조절할 수 있는 셰이더

~ShadingGradeMap: 음영에 생길 그림자를 간편하게 조절할 수 있는 셰이더

(사실 음영 그림자를 안 쓸거라면 둘 중 아무거나 써도 상관없다)


~Clipping: 컷아웃 기능이 생긴 셰이더

~TransClipping: 컷아웃에 투명도 기능이 생긴 셰이더


~StencilMask: 레이어를 지정하고 같은 레이어에서 배경이 될 셰이더

~StencilOut레이어를 지정하고 같은 레이어에서 먼저 우선순위로 보여지는 셰이더





이렇게 구분하면 된다.

위 태그가 들어있으면 위의 기능을 가졌다고 생각하면 되겠다.







==============================


VRChat 유저를 위한 잡다한 Shader 강좌1 기초와 아바타의 음영 설정

https://gall.dcinside.com/mgallery/board/view/?id=vr&no=218156&exception_mode=recommend&page=1



VRChat 유저를 위한 잡다한 Shader 강좌2 Standard Shader와 자주 쓰는 옵션

https://gall.dcinside.com/mgallery/board/view/?id=vr&no=219638&search_head=50&page=1



VRChat 유저를 위한 잡다한 Shader 강좌3 기본적인 UTS셰이더 옵션

https://gall.dcinside.com/mgallery/board/view/?id=vr&no=224722&search_head=50&page=1






liar 2019.07.28 13:10:26
강나다 엔젤링 잘쓰면 이쁘것네 2019.07.28 13:21:24
면요리좋아함 2019.07.28 13:22:07
ㅇㅇ 211.251 2019.07.28 13:22:54
ㅇㅇ 기능 진짜많네 118.47 2019.07.28 13:25:02
번호 분류 제목 글쓴이 날짜 추천
411952 일반 광고 좆같은거만 뜨네 3 ㅇㅇ 175.223 2020-05-07 0
411951 일반 솔직히 더이상 친구 잃거나하는거보단 조금외로운게나아 15 아ㅏㅏㅏㅏㅏ냐 2020-05-07 0
411950 일반 이젠 정말 과로로 죽어버릴지도 몰라 7 차차 2020-05-07 0
411949 일반 친구가왜필요해 8 아ㅏㅏㅏㅏㅏ냐 2020-05-07 0
411948 일반 네덜란드로 친구 선물로 택배 보냈는데 2 KittyCannon 2020-05-07 0
411947 일반 나도 저런 소울메이트 발견하고 싶다~ 하면되는아이 2020-05-07 0
411946 일반 본인 드디어 퇴근함 1 카멜레온º 2020-05-07 0
411945 일반 솔직히 말해서 아랫글 친구는 꽤 부러운데 8 하면되는아이 2020-05-07 0
411944 일반 모두가 나를 개처럼 귀여워 해줬으면 좋겠다 16 KittyCannon 2020-05-07 0
411943 일반 뷰지 5 ㅇㅇ 175.223 2020-05-07 0
411942 일반 1 shine 2020-05-07 0
411941 일반 브붕이 ㅈ나 씨게 배빵 하고 싶다 4 카멜레온º 2020-05-07 0
411940 일반 아 좆됬다 잠 안온다 9 ㅇㅇ 49.163 2020-05-07 0
411939 일반 엑컴하느라 브알챗안들어가게댐 3 꿀뚤 2020-05-07 0
411938 일반 접었던 줄 알았던 친구 안 접었더라 5 하면되는아이 2020-05-07 0
411937 일반 뭘걱정해 1 카멜레온º 2020-05-07 0
411936 일반 이 겜은 유독 여자인 친구가 불편함 5 차차 2020-05-07 0
411935 일반 브붕이들 빨리자! 1 카멜레온º 2020-05-07 0
411934 일반 오늘의 대참사 아ㅏㅏㅏㅏㅏ냐 2020-05-07 0
411933 일반 브붕이들 빨리 자! 1 카멜레온º 2020-05-07 0
411932 일반 俺だよ俺 김꽁초 2020-05-07 0
411931 일반 외로움이 어떻게 사람을 죽이는가 3 ㅇㅇ 175.223 2020-05-07 0
411930 일반 좋아해 1 메리노 2020-05-07 0
411929 일반 오늘 워존 끜 3 NeetKing 2020-05-07 0
411928 일반 운전면허따구싶당. 9 아ㅏㅏㅏㅏㅏ냐 2020-05-07 0
411927 일반 아타시 와타시 보쿠 오레 아시 너무어렵다 5 묵언차렷츙 2020-05-07 0
411926 일반 토카라프도 차단해놔야겠다 1 메리노 2020-05-07 0
411925 일반 로뽀리에게 자꾸 성욕이 듭니다 어떡하나요 2 비호감갤러 2020-05-07 0
411924 일반 바이브 컨트롤러 한쪽 진동안오는데 고장난거? 6 빅huge맨 2020-05-07 0
411923 일반 사랑해 3 쁜벼링 2020-05-07 0
411922 일반 시간을 팔수 있다면 1 Space 2020-05-07 0
411921 일반 어제와같은 불상사가없게하려고 있는힘껏들고갔더니 2 아ㅏㅏㅏㅏㅏ냐 2020-05-07 0
411920 일반 달 예쁘길래 나도 찍어봄 3 shine 2020-05-07 0
411919 일반 부스 혓바닥링크점 1 반다이몰 2020-05-07 0
411918 일반 고마워 2 메리노 2020-05-07 0
411917 일반 항상고민이야 2 반다이몰 2020-05-07 0
411916 일반 브갤 미소녀들아 질문점 3 메리노 2020-05-07 0
411915 일반 달은 떠있는가 반다이몰 2020-05-07 0
411914 일반 방금치킨시켰는데 배달원목소리가 12 양산형이세계물 2020-05-07 0
411913 일반 오늘 달 짱밝아 5 아ㅏㅏㅏㅏㅏ냐 2020-05-07 0
념글 삭제글 갤러리 랭킹