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
번호 분류 제목 글쓴이 날짜 추천
315833 일반 솔직히 빵댕이 씰룩거릴거 아니면 풀트 안해도 됨 8 냉혹한푸른곰팡이 2019-11-18 0
315832 일반 브붕형아들 저거 사줘 4 Niya 2019-11-18 0
315831 일반 개추워 3 히쁘니 2019-11-18 8
315830 일반 테스트결과보니 졸라 극단적이야 4 ㅇㅇ 2019-11-18 0
315829 일반 풀트 사도되나 고민중 4 ㅇㅇ 2019-11-18 0
315828 일반 BDSM 테스트 주소 줘! 2 바다 2019-11-18 0
315827 일반 브붕 언니 오빠들 나 키워조 12 늒네 2019-11-18 0
315826 일반 블랜더 강좌들은 2.9인데 2.8할라니까 대가리 터지네 15 Artpe 2019-11-18 0
315825 일반 과몰입하고 힘들다는새끼들 특징 1 ㅇㅇ 119.207 2019-11-18 0
315824 일반 오늘부터 정박아 컨셉할끄양 3 Niya 2019-11-18 0
315823 일반 테스트 항상 비슷해 4 Byanka 2019-11-18 0
315822 일반 아까 친절히 대답해준 물붕쿤 고마워 2 라비아원정대 218.233 2019-11-18 0
315821 일반 뉴비는 킷슈를 첫 유료아바타로 고르지말자 3 세이렊 2019-11-18 0
315820 일반 님들 vr기기 사려고하는데요 5 ㅇㅇ 220.120 2019-11-18 0
315819 일반 이거 얘기하는 거 아님? 3 mc 2019-11-18 0
315818 일반 일하는 브붕이들 힘내 2 메코린 2019-11-18 0
315817 일반 다른게임 지인한테 브알챗사진보내주면안댐 5 OwO 2019-11-18 0
315816 일반 나두 테스트 11 (윤이) 2019-11-18 0
315815 일반 신라면 블랙 먹으려하는데 후첨스프 넣지말까? 6 글자 2019-11-18 0
315814 일반 동태눈깔이 살아났다 ㅇㅇ 110.70 2019-11-18 0
315813 일반 bdsm test 6 설탕모찌 2019-11-18 0
315812 질문 도저히 이해가 안된다.. 16 라비아원정대 218.233 2019-11-18 0
315811 일반 브얄챗은 풀트게임임 2 ㅇㅇ 223.62 2019-11-18 0
315810 일반 간단한 모델링해줌 21 koper2004 2019-11-18 0
315809 일반 브봉이 업무중인데 업무용 사무재안와서 강제로 쉰다 2 ㅇㅇ 118.218 2019-11-18 0
315808 일반 브부이 관계 jpg 7 kawaimomo 2019-11-18 0
315807 일반 형아들조인성같은스타가논스텁정말루나왔나염 7 딜런 2019-11-18 0
315806 일반 안경쓰면 더 귀여운상 찾아옴 4 헌책 2019-11-18 0
315805 일반 월요일.. 밀린업무.. 협력업체방문.. 5 츄르 2019-11-18 0
315804 일반 빗세랑 vrchat 하고싶은데 vr뭐사면됨? 11 118.235 2019-11-18 0
315803 일반 bdsm 테스트 6 ㅇㅇ 106.243 2019-11-18 0
315802 일반 요즘 브알챗 어떰 10 포동포도 2019-11-18 5
315801 일반 아 저녁뭐먹지다랏다다 그대여 8 tntnt 2019-11-18 0
315800 일반 내취향 동물귀인데 4 Niya 2019-11-18 0
315799 일반 프라이빗 설정에 라이트 뭐시기 되있는게 셰이더임? ㅇㅇ 2019-11-18 0
315798 일반 날카롭고 눈매더러운 8 kawaimomo 2019-11-18 0
315797 일반 친구 무조건 조인타게하는방법 ㅇㅇ 4 dox 2019-11-18 0
315796 일반 브알에서 과몰입같은거 왜해 진짜... 10 지옥에서온두더쥐 2019-11-18 2
315795 일반 현타온다.. 10 Byanka 2019-11-18 0
315794 일반 버스타고가는대 밖에 군부대잇음 1 ㅇㅇ 39.7 2019-11-18 0
념글 삭제글 갤러리 랭킹