VRChat 마이너 갤러리 저장소

제 목
강좌/정보 VRChat 유저를 위한 잡다한 Shader 강좌 <3>
글쓴이
포동포도
추천
13
댓글
9
원본 글 주소
https://gall.dcinside.com/vr/224722
  • 2019-07-18 14:59:21
							

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


오늘은 적지 않은 궁금증과 요청을 받았던

UnityChanToonShader(이하 UTS)에 대해 알아볼 텐데


UTS는 종류도 많고 워낙 그 양이 방대해서

스샷 20개 제한으로는 전부 설명을 못핧 것 같아

이번 편에는 아바타에 자주 쓰는 기능에 대해 설명하고

다음에는 자주 쓰지 않는

UTS 셰이더들의 기능을 더 자세히 쓸 예정이다.




UTS는 2.0.7 버전을 이용했다.

기존 에셋의 UTS를 삭제하고 다시 임포트 한 뒤

Toon폴더의 이름을 변경하는 것을 추천한다.

(Poiyomi Toon Shader와 충돌 가능성 있음)


http://unity-chan.com/download/releaseNote.php?id=UTS2_0





정보는 아래 링크를 토대로 작성했지만

나는 쉽게 풀어쓰거나 부족한 정보를 더해 설명했으므로

정확한 걸 원한다면 링크 타고 보는게 좋다.

https://github.com/unity3d-jp/UnityChanToonShaderVer2_Project/blob/master/Manual/UTS2_Manual_ja.md




내용이 많은 관계로 자주 쓰지 않아서

무시해도 될 법한 부분은 파란색 글씨로 표시했음.


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


1. Culling/Cull Mode





Culling에는 Off, Front, Back이 있다.

3가지 종류가 있으니 사진으로 비교해 봐야겠지?







외관상으로는 Cull Off와 Cull Back은 정상적으로 보이는데

Cull Back가 이상하게 보인다.


Cull Back은 앞을 날리고 뒷면을 보이게 하는 프론트 페이스 컬링이므로

나는 아바타의 앞을 보고 있지만

아바타의 마테리얼은 앞면이 삭제되고

뒷면만 남아 저렇게 보이는 것이다.


어디에 쓰이는지는 의문

즉, 안 쓰인다는거다.










멀쩡해보였던 Cull Off와 Cull Front를 비교해보자.

위쪽 사진은 아바타의 머리 내부를 본 사진이고

아래쪽 사진은 아바타의 치마를 본 사진이다.


3D에서는 렌더링 속도를 올리기 위해 앞면은 보여주고

뒷면은 보여주지 않는 기본적인 최적화 옵션이 있어

이 특성인 Cull Back은

대부분의 셰이더에서 자동으로 설정되는 옵션인데


사진을 다시 한 번 보면 Cull Back의 매시 앞면은 그려지고

매시 뒷면이 그려지지 않아 회색으로 보인다는 것을 알 수 있다.


반면에 Cull Off는

앞면과 뒷면을 모두 보여주는 방식(2-Side)이므로

머리 안, 치마 안에도 텍스쳐가 그려지게 된다.








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


2. 눈썹이나 눈이 머리카락을 뚫고 보이게 만들기






머리카락은 ~TransClipping_StencilMask,

웬만하면 앞 머리카락에만 쓰는게 좋다.

머리카락 전체에 StencilMask를 쓰게 되면

아바타를 위에서 아래로 내려다 봤을 때

눈썹이 보이게 되니까..


머리카락을 관통해 보이게 하고 싶은 부위(눈썹)는

~TransClipping_StencilOut 셰이더를 쓴다.







적용했더니 눈썹이 머리카락을 뚫고 보이게 된다.


이 방법은 눈썹과 앞머리 매시가 따로 분류되어 있어야 한다.

마테리얼 1개로 병합한 모델은 못한다는 이야기다.







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


3. 그나마 가벼운 UTS Shader?



번역된 사진에 나와 있듯이

쉽게 말하자면 Mobile은 조명 측면에서 성능을 저하시킨 셰이더

Toon_DoubleShadeWithFeather, Toon_ShadingGradeMap와 기능은 동일하다.


가볍게 만들려면 Shading설정만 하고

나머지 설정은 하나도 안 건드린 모바일 셰이더 쓰라는 이야기다.



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


4. Shading이 뭐에요?


음영 설정이라고 생각하면 된다.


이것은 이전 강좌글에서 UTS뿐만 아니라

한국에서 자주 쓰는 셰이더의 음영을 다루었으니

아래 링크를 보면 된다.


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







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


5. HightColor


이전 강좌 2편에서

하이라이트에 대해 설명했는데


여기서는 빛이 처음으로 닿는 부분이라고 간주하면 된다.

HightColor는 검은색이 기본인데

그 이외의 색을 지정하면 빛을 받는 부분이 그 색대로 빛난다.


아바타 바디보다는 머리카락에 쓰기도 한다.



HighColor: 색 지정

HighColor Power: 강도. 빛을 반사할 범위의 크기라고 봐도 좋다.

Specular Mode: 음영을 뚜렷하게 보이게 할 건지.


Color Blend Mode: Specular Mode가 활성화될 때 사용. 기본색에 HighColor를 더함.

ShadowMask on HighColor: ShadowMask영역에 HighColor를 더함.

HighColor Power on Shadow: ShadowMask영역에 더해진 HighColor의 강도


HighColorMask: HighColor의 영역을 텍스쳐로 정함. 흑백이미지를 쓴다는 점에서 Emission과 비슷하다.

HighColor Mask Level: HighColorMask의 강도






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


6. 아바타 외곽에 색을 입히는 RimLight


외곽선에 색을 입히는 방식.

퍼블릭에서 무기 주렁주렁 들고다니는 아바타 보면

야광색 총의 외곽선이 네온처럼 빛나는걸 볼 수 있다.

그게 RimLight를 사용한 예인데

무식하게 강도를 최대로 올려서 뿌슝빠슝하게 만든거다. 


강좌에서는 건전하게

아바타에 적당한 양의 RimLight를 넣어야 한다.



RimLight를 파란색으로 줬다.

찌찌 외곽과 허리 라인의 차이가 두드러진다.


단독으로 쓰기보다는 Shade음영을 잘 조절하여

아바타 외곽의 색과 RimLight의 색이 잘 어우러졌을 때

아바타가 자연스럽고 예뻐보이는 효과를 줄 수 있다.








RimLight Off/Active로 사용 여부를 판정


RimLight Color: 림라이트 색

RimLight Power: 림라이트 강도

RimLight Inside Mask: 림라이트가 칠해지지 않을 범위의 두께

RimLight FeatherOff: 자연스러운 음영의 림라이트를 해제할 것인가?


LightDirection Mask: 빛을 받는 부분만 RimLight를 활성화 한다.

LightDirection Mask level: 빛을 받는 부분에서 활성화 된 RimLight강도


Antipodean(Ap)_RimLight: 빛을 받는 반대 방향에서 RimLight를 활성화 한다.

Ap_RimLight Color; APRimLight의 색

Ap_RimLight Power: APRimLight의 강도

Ap_RimLight FeatherOff: APRimLight의 음영을 뚜렷하게 할 건지


RimLight Mask: 림라이트의 영역을 텍스쳐로 지정. 흑백 텍스쳐 사용.

RimLight Mask level: RimLight Mask의 강도







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


7. 라이팅을 미리 저장하는 Matcap



움짤의 아바타 모델을 자세히 보면

카메라 움직임에 따라 빛나는 부분이 변화하고

약간 매끈매끈한 느낌을 주기도 한다.





극단적인 예시.

왼쪽은 Matcap를 넣었고 오른쪽은 넣지 않았다.


Matcap에 텍스쳐를 넣으면 텍스쳐의

라이트 형태를 저장하여 내보내게 된다.

리얼타임 라이트나 라이트프로브 등의 연산 없이도

꽤 실사적인 빛반사 효과를 낼 수 있는 것이다.


Matcap텍스쳐는 가운데 동그란 원 형태에

배경은 투명해야하는 조건이 있다.








MatCap Sampler: 반사할 텍스쳐와 색을 지정함

Tiling: X축 x개, y축 y개의 텍스쳐 타일을 만듬.

Offset는 무시해도 좋다.


Blur Level of MatCap Sampler: MatCap의 흐림 강도

Color Blend Mode: Additive는 색이 섞이면 더 밝게, Multiply는 어둡게.

Scale MatCapUV: MapCap텍스쳐의 크기

Rotate MatCapUV: MapCap텍스쳐를 회전시킨다.


CameraRolling_Stabillizer: 깊이 방향을 시점으로 회전해도 MatCap를 고정시켜 달라지지 않게 만듬(?)

NormalMap for MatCap: Matcap에 노멀 맵 추가


NormalMap: 노멀 맵 텍스쳐 추가.

Rotate NormalMapUV: 노멀 맵 텍스쳐 회전

MatCap on Shadow: 그림자 영역을 Matcap로 가릴 건지

MatCap Power on Shadow: 그림자가있는 Matcap의 범위의 강도 조절

MatCap Projection Camera: 보는 방향에 따라 달라지던 MatCap를 고정시켜 달라지지 않게 만듬


Matcap Mask: Matcap의 영역을 텍스쳐로 지정함. 역시 흰색과 검은색으로.

Matcap Mask Level: Matcap Mask의 강도

Inverse MatcapMask: Matcap Mask를 반전 시킴







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


8. 빛나게 해 주는 Emissive(Emission)




Emissive: 흰색과 검은색으로 빛나게 할 영역과 색 지정. HDR지원


Emissive Animation: Poiyomi처럼 다이나믹한 빛 방출효과 활성화

Base Speed(Time): 실행되는 애니메이션의 시간 간격 조절. 단위는 초.

1 speed라면 1초, 2 speed라면 0.5초. 반비례 관계다.

Scroll U/X direction: U/X방향의 움직임 방향과 강도

Scroll V/Y direction: V/Y방향의 움직임 방향과 강도

Rotate around UV center::Base Speed가 1일 때 값이 1인 시계 방향으로 1회 돌아감.

스크롤 설정이 있다면 스크롤 후 회전.


PingPong Move for Base: 애니메이션 앞뒤의 방향으로 움직임

ColorShift with Time: 활성화하면 Emissive 텍스처에 Destination Color색상을 향해 바뀌는 색의 변화가 곱해짐.

Destination Color: 바뀌는 색상의 목적지. HDR 가능

ColorShift Speed (Time): 색상 변화의 간격. speed가 1이면 6초를 간격으로 색이 왔다갔다함.


ViewShift of Color: 활성화되면 전면에서 물체를 볼 때 정상적인 Emissive색이 나오고 외곽 부분은 ViewShift Color의 색이 나옴

ViewShift Color: ViewShift of Color의 색 지정







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


7. 외곽선 추가. Outline




Outline Mode: remove_style_tag;">Outline Width: 외곽선 두께

Outline Color: 외곽선 색


Blend BaseColor to Outline: 기본 텍스쳐와 외곽선의 색이 섞임.

Outline Sampler: 외곽선을 그릴 영역을 지정함. 흑백 이미지 사용


Offset Outline with Camera Z-axis: 카메라 거리에 따른 외곽선을 그릴 영역 지정하는 듯 함. 기본값은 0이고 커질수록 외곽선이 안보이게 될 수 있음.




어드밴스드 옵션 열었을 때

Farthest Distance to vanish: 외곽선이 소멸하기 시작하는 거리(?)

Nearest Distance to draw with Outline Width: 그리기 시작하는 가장 가까운 거리


Use Outline Texture: 외곽선에 텍스쳐를 쓸 건지의 여부

Outline Texture: 외곽선 텍스쳐 지정




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


8. 라이트 관리 탭



실시간 라이트가 관여할 영역 설정




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


9. 월드 라이트나 효과에 따른 변화에 대응하는 설정



GI Intensity: GI 라이트, 라이트 프로브에 대응하는 강도

Unlit Intensity: 빛이 없어도 빛날 강도. 기본적으로는 1, 1.5 이상일 경우 눈뽕 우려 있음.


SceneLights Hi-Cut Filter: 주변의 강한 강도의 빛이나 실시간 라이트에 대한 과도한 노출을 최소화 함, VRChat 사용자에게 권장되나 잘 적용되는 월드가 있고 되지 않는 월드가 있음. 포스트프로세싱의 Bloom이 이에 관여하는 것으로 보임.


Built-in Light Direction: 아바타 가상 조명의 위치 조정 여부

Offset X-Axis Direction: 왼쪽과 오른쪽으로 움직여 위치를 변경

Offset Y-Axis Direction Inverse: 위쪽과 아래쪽으로 움직여 위치를 변경

Z-Axis Direction: 앞 또는 뒤로 위치를 변경














Unlit 강도를 1.5로 했더니 Bloom에 의해 눈뽕을 일으키고 있다.









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


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

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



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

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


딜런 강좌는개추야 2019.07.18 15:01:22
으ㅡ음 2019.07.18 15:01:50
ㅇㅇ "외관상으로는 Cull Off와 Cull Back은 정상적으로 보이는데 Cull Back가 이상하게 보인다." 라고 써져있는데 Cull front 라고 수정 해주삼 175.114 2019.07.18 15:05:58
면요리좋아함 2019.07.18 15:06:48
포동포도 수정함 ㄳ 2019.07.18 15:09:12
ㅇㅇ 내 누드아바타에 matcap넣으면 행복쎅쓰가능? 221.165 2019.07.18 15:09:59
포동포도 가능은 하겠지; 그냥 갤러리에 돌아다니는 유난히 빛나는 빅찌지 아바타들은 matcap있다고 보면 된다 2019.07.18 15:11:23
Thinking 2019.07.18 15:21:42
포동포도 전체적으로 수정함 2019.07.18 15:33:38
번호 분류 제목 글쓴이 날짜 추천
316211 일반 유니티 T포즈로 어떻게 돌아감?? ㅇㅇ 119.193 2019-11-18 0
316210 일반 그려줘 설탕달다 2019-11-18 0
316209 일반 내일부터 사과 두개만 먹으면서 한 달 버틸거야 4 묵언소녀 2019-11-18 0
316208 일반 이거그려줘 2 ROTC 2019-11-18 0
316207 일반 이런 짤도 그려주냐 쥬지사냥꾼 2019-11-18 0
316206 일반 오늘은 하루에 한끼먹는날이라 넘 배고파 1 ㅇㅇ 221.140 2019-11-18 0
316205 일반 걍 짤만 그림 6 ㅇㅇ 153.182 2019-11-18 0
316204 일반 행복해 6 쓰다듬어줘 2019-11-18 0
316203 일반 차렷 대통령 5 쥬지사냥꾼 2019-11-18 2
316202 일반 근데 저 vr기기없는데 이겜 즐길 수 있음? 5 ㅇㅇ 153.182 2019-11-18 0
316201 일반 차렷도 떳떳한 사회 쥬지사냥꾼 2019-11-18 0
316200 일반 자기전에 잠깐브알챗할까 고민된다 3 OwO 2019-11-18 0
316199 일반 나랑 h방가자 1 ㅇㅇ 222.102 2019-11-18 0
316198 일반 과몰입 하구싶다 2 노라 2019-11-18 0
316197 일반 할만한 온라인 rpg겜없나 1 ㅇㅇ 122.35 2019-11-18 0
316196 일반 샤로제작자 신작 의상 세부설정 나왔네 7 고닉처럼보이게하기 2019-11-18 0
316195 일반 쓰다듬 당하는거 개조아 4 양산형이세계물 2019-11-18 0
316194 일반 염색 3~4만원하는거 아니였냐 7 ㅇㅇ 221.140 2019-11-18 0
316193 일반 짤그려줄테니 압타 만들어줘 13 ㅇㅇ 153.182 2019-11-18 0
316192 일반 오늘 처음보는분한테 뽀뽀받음 4 ^-^.. 2019-11-18 0
316191 일반 차렷충 슬프다 ㅇㅇ 182.219 2019-11-18 0
316190 일반 이 아바타 이름 뭐야? ㅇㅇ 59.21 2019-11-18 0
316189 일반 안녕 브갤성님들 묵언차렷충이야 14 묵언차렷충뉴비 110.35 2019-11-18 0
316188 일반 맆스 안경들어가냐 10 Ap1 2019-11-18 0
316187 일반 글 리젠 ㅆㅎㅌㅊ ㅇㅇ 183.100 2019-11-18 0
316186 일반 오큘 s 인게임 카메라 어떻게 촬영해요? 1 ㅇㅇ 222.119 2019-11-18 0
316185 일반 브갤 최고의난제 4 ㅇㅇ 203.90 2019-11-18 0
316184 일반 오늘 페이리아 샀는데 ㅇㅇ 6 실명전사박해성 2019-11-18 0
316183 일반 ㄷㄷ ㅇㅇ 203.90 2019-11-18 0
316182 일반 그는공포로 고함을 내지른다 ㅇㅇ 203.90 2019-11-18 0
316181 일반 의상 모델링 커미션 맡기려고 하는데 11 도카이비 2019-11-18 0
316180 일반 생각해보니까 갤마다 떠돌던 7대난제가있엇는데 3 꿀뚤 2019-11-18 1
316179 일반 베히만큼 재밌는거 없는듯ㅋㅋㅋ 늒네 2019-11-18 0
316178 일반 브갤바이 31 5 꿀뚤 2019-11-18 1
316177 일반 반사 특 가끔입갤 2019-11-18 0
316176 일반 안경충은 인덱스 비추임? 1 아스나 2019-11-18 0
316175 일반 나궁금한거있음 6 가끔입갤 2019-11-18 0
316174 일반 VR하기에는 4 Yuya 2019-11-18 0
316173 일반 오늘의 퇴근곡 2 딜런 2019-11-18 0
316172 일반 한명이 계속쫒아온다 2 ㅇㅇ 211.54 2019-11-18 0
념글 삭제글 갤러리 랭킹