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
번호 분류 제목 글쓴이 날짜 추천
576638 일반 파딱아 좆목충 닉언새끼들 빠릿빠릿하게 3일 정지 처넣자 ㅇㅇ 13 신도담 2020-10-25 10
575612 이벤트 뉴우비 교류회 일정 안내 12 초보자아 2020-10-24 12
575406 일반 유아용 공갈젖꼭지 자위 후기 18 아카프론 2020-10-24 17
575080 일반 블렌더 문제 해결일지 -1- 28 CT 2020-10-23 10
575006 일반 외국인이랑 가상 야스하다 도망친썰 20 ㅇㅇ 118.235 2020-10-23 11
574834 일반 부스에 첫작품 올렸엉.. 15 빅몬 2020-10-23 16
574759 일반 아바타 냈다 21 김꽁초 2020-10-23 18
573685 일반 친구 풀트끼워주니까 바지벗었는데 어캄 27 벨로스터 2020-10-22 26
573672 일반 본인 친구들와서 vr체험 시켜주고있음 21 벨로스터 2020-10-22 11
573533 이벤트 주인/암캐 매칭 교류회를 개최합니다 57 Space 2020-10-22 26
573413 일반 단체자살교류회 6 서라벌 2020-10-22 14
573260 일반 친구가 VR챗 하다가 성전환을 하겠다며 태국으로 떠났어요.. 6 JugularVein 2020-10-22 10
573043 일반 나 오늘생일이야 29 Florense 2020-10-21 12
572778 일반 VRChat 마이너 갤러리 파딱 신문고 97 ㅇㅇ 2020-10-21 15
> 일반 VRC Shader 강좌 #01 - Shader(셰이더)의 기초와 이해 8 포동포도 2020-10-21 14
572446 일반 VRChat 갤러리는 차별금지법 개정을 공식적으로 찬성합니다. 2 서라벌 2020-10-21 10
572411 일반 너희 겜 할때 구멍에 머 끼우고 해봄? 19 k22 27.175 2020-10-21 15
571656 일반 제가 브챗에서 암캐가 되었던 이유가 있었음 20 Fireki 2020-10-21 15
571487 강좌/정보 갤러가 궁금해해서 올리는 이미션 적용법 (UTS2) 9 후~토 2020-10-20 10
570840 일반 나는 여자다 추천눌러보셈 6 WOLHYANG#0001 2020-10-20 36
570805 일반 새로온 파딱 좀 맘에 안들지 않냐? 9 카이카미 2020-10-20 21
570747 일반 념글좀가야겠농 7 서라벌 2020-10-20 16
570734 일반 저도 념글보내주세요 T^T 8 피뇽 2020-10-20 14
570730 일반 갤러리 "공지" 7 ㅇㅇ 2020-10-20 13
570726 일반 나도 념글가고싶어 14 2020-10-20 12
570699 일반 념글 보내래서 념글가면 좆목임? 11 츄르 2020-10-20 16
570679 일반 그럼 씨발 이건 니 조상님이 쳐 써줬나요? 23 ㅇㅇ 2020-10-20 15
570662 일반 차단 내가 먹였다 15 ㅇㅇ 2020-10-20 18
570642 일반 뭔 좆목이야 씹좆새끼가 22 도담 106.102 2020-10-20 11
570580 일반 갑자기 글젠 죽은이유 9 ㅇㅇ 49.167 2020-10-20 12
570378 일반 먼데 요즘앤 이래도 냅둠? 22 cafriSSUN 2020-10-20 23
570215 일반 친구 그려줫음 14 해동검도 182.226 2020-10-19 10
570066 이벤트 (10월 20일 23시) 完 음주교류회 22 Doohle 2020-10-19 14
570002 일반 vrchat 갤러리 현역 공익 비율 조사한다 13 강나다 2020-10-19 35
569754 일반 한강무새 좆같다 추천ㄱ 14 ㅇㅇ 183.101 2020-10-19 47
569495 일반 H파티가 변화의 시작점이 되기를 바란다. 8 ㅇㅇ 118.235 2020-10-19 13
569428 일반 [브갤문학] 할아버지의 말씀 7 딜런 2020-10-19 10
569416 이벤트 할로윈 교류회를 개회합니다 24 명빵_ 2020-10-19 19
569397 일반 심도카메라 세팅이 쉬워졌다. 데탑도 된다? VRCLens 적용법() 17 날개 2020-10-19 13
569032 일반 념글 보내라 14 반다이몰 2020-10-19 12
념글 삭제글 갤러리 랭킹