VRChat 마이너 갤러리 저장소

제 목
일반 VRC Shader 강좌 #01 - Shader(셰이더)의 기초와 이해
글쓴이
포동포도
추천
14
댓글
8
원본 글 주소
https://gall.dcinside.com/vr/572692
  • 2020-10-21 14:21:41
							


viewimage.php?id=3baf&no=24b0d769e1d32ca73dec87fa11d0283123a3619b5f9530e1a1316068e3dfca083edc0286f13ed5d7b2d9fcf5b58b74e5d77a4f31f5ddee57028ddbb866








일단 Shader(셰이더) 라는 뜻을 인터넷에서 찾아보면 어렵게 설명된 것들이 많다.

C#은 물론이고 유니티조차 수박 겉 핥기식으로 일부 기능들만 쓰고 있고

그것조차도 어떻게 해야할 지 몰라서 쩔쩔매는 VRChat 유저들한테 셰이더를 설명하기란 여간 쉬운게 아니다.


viewimage.php?id=3baf&no=24b0d769e1d32ca73dec87fa11d0283123a3619b5f9530e1a1316068e3dfca083edc0286f153b8d5b2d0f4f2b78b79ebfaa17afb4ee5490d07c67b5fca86

(셰이더를 만들 때 참고하던 그래프 모양들)





그러나 셰이더는 이미 많은 게임들에 이용되고 있으며(초딩겜 마인크래프트조차 '셰이더팩'이란 개념이 있다)

간단히 생각해보자면 이해하기 쉬운데 우리가 셰이더의 복잡한 수학 함수들때문에 접근조차 하지 않는 게 아닐까란 생각도 들게 된다.

이 글을 통해 VRChat 유저들이 셰이더에 대해서 조금 더 이해했으면 좋겠고

이것을 바탕으로 자신만의 아바타를 더 개성있게 꾸밀 수 있도록 도와주고자 한다.











  • 셰이더란 무엇인가?

셰이더. Shader를 한국어로 직역하면 '음영'이 된다.

음영이란, 우리가 게임을 할 때 빛을 받는 쪽은 밝게 되고 빛을 받는 반대쪽은 어둡게 되는 것을 생각하면 되겠다.

아니면 미술 시간의 소묘 과목일 때나 낙서를 할 때 한 번쯤은 그려봤을 동그란 공 도형에 그림자를 그렸던 것을 떠올리면 된다.


Pin by Joana Cabot on Class. Drawing | Shadow drawing, Light and shadow,  Drawings


대충 이런거.


그러므로 VRChat 유저들에게는

음영을 이용해서 데이터 쪼가리로 이루어진 물체(아바타)를 표현하고 거기에 색을 입혀 모니터에 보여주는 역할을 하는 것이

바로 셰이더라고 생각하면 되겠다.






viewimage.php?id=3baf&no=24b0d769e1d32ca73dec87fa11d0283123a3619b5f9530e1a1316068e3dfca083edc0286f13ed5d7b2d9fcf5b58b74e5d7201d63f788be020e8ddbb866


우리가 색연필로 그림을 그리고나서 물감으로 똑같은 그림을 그렸을 때

같은 그림이지만 우리가 느끼는 감각˙재질˙음영 등이 다르듯이


셰이더도 어떤 셰이더를 쓰느냐에 따라 똑같은 물체라고 할 지라도 금속으로 보이기도 하고 털로 보이기도 하는 것이다.











  • 유니티에서 메터리얼과 셰이더를 만들고 물체에 적용해보기


viewimage.php?id=3baf&no=24b0d769e1d32ca73dec87fa11d0283123a3619b5f9530e1a1316068e3dfca083edc0286f13ed5d7b2d9fcf5b58b74e5d7284968f08de703038ddbb866


유니티 시작 후 하이어라키(Hierarchy) 창 빈 공간을 우클릭>3D Object>Sphere로 공을 생성한다.

공을 생성했으면 씬(Scene) 창에 동그란 공이 나타날텐데 잘 안 보일테니 씬을 확대시켜서 공이 잘 보이게 해 보자.







viewimage.php?id=3baf&no=24b0d769e1d32ca73dec87fa11d0283123a3619b5f9530e1a1316068e3dfca083edc0286f13ed5d7b2d9fcf5b58b74e5d7201c67f38cea04578ddbb866


씬의 물체를 확대시키는 방법은 더 다양하지만 기본적으로 아래 3가지의 방법이 있다.

1) 하이어라키(Hierarchy)창의 물체 이름을 더블 클릭한다.

2) 하이어라키(Hierarchy)창의 물체 이름을 클릭하고 씬에 마우스 커서를 가져다 댄 뒤 단축키 F를 누른다.

3) 씬에 마우스 커서를 가져다 댄 뒤 마우스를 위로 스크롤한다.










viewimage.php?id=3baf&no=24b0d769e1d32ca73dec87fa11d0283123a3619b5f9530e1a1316068e3dfca083edc0286f13ed5d7b2d9fcf5b58b74e5d72f1363f3dbe80b068ddbb866


그런 다음 프로젝트(Project) 창의 빈 공간을 우클릭하고 Create>Shader>Unlit Shader로 새 Unlit Shader를 만든다.

프로젝트에서 처음으로 파일을 생성하면 이름을 변경할 수 있을텐데 그 땐 생성한 파일을 빼고 아무데나 좌클릭하면 이름이 정해지게 된다.






viewimage.php?id=3baf&no=24b0d769e1d32ca73dec87fa11d0283123a3619b5f9530e1a1316068e3dfca083edc0286f13ed5d7b2d9fcf5b58b74e5d72e1b65a3debd0a008ddbb866


프로젝트 창의 빈 공간을 우클릭하고 Create>Material로 새 메터리얼을 만든다.








viewimage.php?id=3baf&no=24b0d769e1d32ca73dec87fa11d0283123a3619b5f9530e1a1316068e3dfca083edc47d3a358d6d1b6d4f4f4dedc74e2450434b9f73304cd28


아까 만든 Unlit Shader 파일을 드래그하여 Material에 옮겨주면 메터리얼에 셰이더가 적용되게 되는 것이다.






viewimage.php?id=3baf&no=24b0d769e1d32ca73dec87fa11d0283123a3619b5f9530e1a1316068e3dfca083edc47d3a358d6d1b6d4f4f4de8e29b72b9fe781cba81646fc


간단한 과정으로는 Shader 아이콘을 우클릭하고 Create>Material로 해당 셰이더가 입힌 메터리얼을 만들어 주는 방법이 있다.







프로젝트에 원하는 셰이더가 어디 있는지도 모르겠고 찾을 수 없을 때 쓰는 방법도 있다.


viewimage.php?id=3baf&no=24b0d769e1d32ca73dec87fa11d0283123a3619b5f9530e1a1316068e3dfca083edc47d3a358d6d1b6d4f4f4de8b2eb33e72a2ddaf76649829


메터리얼을 선택하고 인스펙터(Inspector)에서 Shader라고 적힌 곳의 오른쪽 박스 영역을 클릭한다.

그러면 현재 프로젝트에 들어간 모든 Shader의 목록이 나타나는데 그곳에서 원하는 셰이더를 찾고 선택하여 클릭한다.











  • 물체에 메터리얼을 적용하는 방법


viewimage.php?id=3baf&no=24b0d769e1d32ca73dec87fa11d0283123a3619b5f9530e1a1316068e3dfca083edc0286f13ed5d7b2d9fcf5b58b74e5d77c4b68f9d1ec04048ddbb866


원하는 물체를 클릭하고 인스펙터 창에서 매시 렌더러 컴포넌트(Mesh Renderer)를 찾는다.

매시 렌더러에 있는 Materials 옆에 엘리먼트(Element)를 찾아본다. 없으면 Materials 왼쪽에 있는 세모를 클릭한다.






viewimage.php?id=3baf&no=24b0d769e1d32ca73dec87fa11d0283123a3619b5f9530e1a1316068e3dfca083edc47d3a358d6d1b6d4f4f4dedd29b306e0e0669c0300e435


엘리먼트에 원하는 메터리얼을 찾아 적용하는 방법도 있고

(프로젝트에 있는 모든 메터리얼이 목록에 나오게 되는데 안 보인다면 생성되는 Select Materials 창에서 Assets를 클릭해본다)






viewimage.php?id=3baf&no=24b0d769e1d32ca73dec87fa11d0283123a3619b5f9530e1a1316068e3dfca083edc47d3a358d6d1b6d4f4f4deda29ebda66eec71dfca070a0


가장 많이 쓸 법한 방법으로

프로젝트의 메터리얼을 씬의 물체에 드래그하여 옮겨주는 방법이 있다.







이제 자신의 아바타에 맞는 셰이더를 찾고 메터리얼을 생성시켜 적용할 수 있겠지?










이 글에서는 첫 글이고 하니 셰이더란 무엇이고 어떻게 쓰는 지에 대해서만 설명했는데

Unity를 통해 아바타 업로드밖에 할 줄 몰랐던 사람들을 위해 글을 쓸 것이며

진도를 나가다보면 VRChat에서 쓰는 셰이더나 용어들을 거의 이해하고

간단한 셰이더 수정도 할 수 있도록 도울 것이다.


VRChat 유저들에게 셰이더 제작은 크게 필요치 않다.

이미 널린게 셰이더고 쓸만한 것들도 엄청 많다.


다만 자신이 아바타를 어떻게 표현하고 싶은데

어떻게 해야할 지 몰라 쩔쩔매는 유저가 없길 바라는 마음에 쓰게 된 것 같다.



ㅇㅇ 사랑해 121.152 2020.10.21 14:22:23
도스토예프스키찬호 완장엉아사랑해 - dc App 2020.10.21 14:23:55
사시소 사랑해 2020.10.21 14:25:27
쿠와앙 2020.10.21 14:27:57
ㅇㅇ 119.193 2020.10.21 14:28:41
집가고싶었다 이렁게 필여햇어 젼나고마워 - dc App 2020.10.21 14:29:38
꿀뚤 ㅅㅌㅊ 2020.10.21 14:35:13
ㅇㅇ 사랑해 눈나 77.111 2020.10.21 14:52:56
번호 분류 제목 글쓴이 날짜 추천
665417 일반 호감고닉 사랑해용님 사귀어주세요 8 ㅇㅇ 39.7 2020-12-29 12
665254 일반 VR 뉴비 둘이서 사진찍은거 보셈 26 털뿜 112.162 2020-12-29 13
665109 일반 소포 왔는데 받고 울었어 15 Pro매국노 2020-12-28 14
664553 일반 VR챗에 찐따새끼들 왜 이렇게 많은건데 6 ㅇㅇ 121.161 2020-12-28 16
664286 일반 이요 1.01 패치 변경점 16 상냥한 2020-12-28 12
663649 일반 쓸데없는 사담 (긴글주의) 51 바나 2020-12-28 16
662696 일반 제 마음에 상처를 준 첫 랜매 짝꿍님 잘 계시나요 17 오래쟝 2020-12-27 15
662567 이벤트 랜덤매칭 공지 17 초보자아 2020-12-27 11
662432 일반 주딱이 하얗고 끈적하고 농후한 ♡♡ 쏜다 47 포동포도 2020-12-27 15
661957 일반 VRChat 입문하려 하는데 이정도면 될까요?? 15 ㅇㅇ 223.39 2020-12-27 16
661786 일반 브이알 뉴비 산고양이 만화 4화 15 바나 2020-12-26 11
661175 강좌/정보 버튼으로 파라미터 소모없이 유사토글 구현하는법을 알아보자.araboja 6 SkyFall 2020-12-26 11
660664 일반 우울한 친구들 참고해 10 연어수비드스테이크 2020-12-26 10
660210 일반 야노했다... 6 ㅇㅇ 193.34 2020-12-25 19
660191 일반 응애 코유키마망 맘마조 7 ㅇㅇ 110.70 2020-12-25 19
660100 일반 니네 26일이 무슨날인지는 알아? 30 바부야 2020-12-25 15
659976 일반 아 씨발 게임 역겨워서 못하겠어 47 츄삐 2020-12-25 24
659901 일반 크리스마스날 부시기 2 그런가요? 2020-12-25 16
659628 일반 [이벤트] 자신의 탄생일에도 관심을 가져주세요 17 Haeran 2020-12-25 14
659582 일반 28일에ㅣㅇ포상해주테니까간단한설문좀 해줘 78 포동포도 2020-12-25 16
658895 일반 기념일이라고 니네 대놓고 좆목좀 그만 해 11 포동포도 2020-12-24 10
658682 이벤트 야ㅠ시발 랜담매칭 교루회 열어준다 27 초보자아 2020-12-24 25
658407 일반 이번 크리스마스도 솔로.. 22 바나 2020-12-24 10
658281 일반 올해도 솔로 크리스마스면 개추 8 공룡술사 2020-12-24 18
658003 일반 6시간 뒤 브갤.jpg 2 묵언소녀 2020-12-24 14
657953 강좌/정보 유니티 뚜따 뉴비를 위한 아주 작은 팁 5 JinSilly 2020-12-24 10
657941 강좌/정보 대충 다이나믹본&다이나믹본 콜라이더 설명 19 JinSilly 2020-12-24 13
657798 강좌/정보 OVR 툴킷 안 켜지면 이거보고 해봐 7 유즈리아 2020-12-24 11
657617 일반 뉴비를 위한 쓸대없는 팁 7 엞엞 2020-12-24 12
657556 일반 엄마 풀트시켜드렸다 30 ㅇㅇ 223.38 2020-12-24 24
657466 이벤트 크리스마스에 외로울 브붕이를 위한 산타이벤트 41 사과. 2020-12-24 11
657284 일반 브붕이에게 개처럼 따먹힌 후기 9 박하온 2020-12-23 15
657198 일반 오늘 인싸 아저씨한테 혼났어 17 야너두 2020-12-23 15
656999 일반 기타님 저랑 과몰입해주세요 9 양산형이세계물 2020-12-23 14
656744 일반 도태한남 씨131발똥꼬충새끼들 볼때마다 42 우주거미 2020-12-23 16
656728 일반 이제 그만할래 22 ㅇㅇ 118.235 2020-12-23 21
656631 일반 2021 차단 목록 .ver2 16 ㅇㅇ 211.186 2020-12-23 12
656470 일반 기타님 저랑 사귀어주세요 26 jay 223.39 2020-12-23 19
656369 일반 자작 아바타 후시토라(장산범) 출시했읍니다. 58 주딱눈나 2020-12-23 26
656368 일반 갤럼이 부탁했던 흑마술서, 켈릭, 최면시계 공유 10 koper2004 2020-12-23 16
념글 삭제글 갤러리 랭킹