VRChat 마이너 갤러리 저장소

제 목
강좌/정보 기초적인 렌더텍스쳐 강좌
글쓴이
포동포도
추천
15
댓글
4
원본 글 주소
https://gall.dcinside.com/vr/425133
  • 2020-05-27 07:23:48
							

렌더텍스쳐란 너네가 쓰는 이미지와는 다르게

실시간으로 정보를 입력받아 출력할 경우에 쓰는 텍스쳐다.


VRChat에서는 렌더텍스쳐를 아바타로써 활용할 경우엔

이 텍스쳐를 자신만 볼 수 있으므로 남들에게는 이 텍스쳐가 검은 색으로 보일거다.


그러므로 아바타에서 이 텍스쳐를 쓴다면 혼자서만 보는 거울, 스코프로 사용되거나

더 활용할 경우엔 버츄얼렌즈, 셰이더와 연계하여 GPU Particle을 쓸 수 있다.


월드에서는 Carmera역할을 대신할 수 있어 MMD 댄스 월드에 쓰거나

탈출맵에서 유저들의 모습을 비춰주는 캠, 월드에서 사진을 찍을 수 있는 카메라 등으로 활용하기도 한다.

(카메라 강좌글: https://gall.dcinside.com/m/vr/1891 )


간단하게 쓸 수 있는데도 기초 강좌가 없으니 아는 사람만 쓰는거겠지;






일단 이 작업은 VRChat에서 쓰는 레이어를 세팅하는 작업으로


기존에 해당 프로젝트에서 월드를 제작한 유저들이나

자신이 원하는 오브젝트 레이어만 골라서

렌더텍스쳐에 출력을 하고 싶지 않다면 건너뛰어도 된다.





먼저 아무 오브젝트에다가 VRC_Scene Descriptor 컴포넌트를 넣는다.












그 상태에서 바로 VRCSDK-Show control panel을 눌러 업로드 창을 띄운다.

그러면 무슨 경고창같은게 뜰텐데 Set Layers for VRChat을 눌러준다.











경고창이 또 뜨는데 Do it을 눌러준다.













아무 오브젝트나 클릭해보고 인스펙터에서 Layer를 펼쳤을 때

사진처럼 22개의 레이어가 나오면 끝..이지만

가끔 Console에서 VRCGlobalRoot is not defined 경고창이 뜨게 되므로

(사실 별 문제없이 업로드가 되는 무시해도 될 만한 경고창이다)


이를 방지하기 위해 Add Layer - 적당한 빈칸 레이어에 VRCGlobalRoot 입력 후

씬을 클릭하거나 프로젝트 폴더들을 클릭해서 레이어 추가 창을 벗어나면 된다.












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



이제 렌더텍스쳐를 이용하기 위해

프로젝트에서 우클릭 - Create - Render Texture을 선택한다.













렌더텍스쳐의 화질을 조절하고 싶으면 렌더텍스쳐 파일을 클릭하고

Inspector에서 Size를 2의 제곱수(2,4,8,16,32,64,128,256,512,1024,2048 ... )만큼 입력해준다.

숫자가 클수록 화질은 좋아지지만 그만큼 렉이 걸린다.


Color Format는 자신이 어떤 용도로 렌더텍스쳐를 쓸건지에 따라 선택하면 되는데

보통은 ARGB32를 쓸거고.. 셰이더를 쓴다면 Depth를 자주 쓴다.














끝났으면 이 렌더텍스쳐를 출력해줄 머티리얼을 생성시키자.

프로젝트에서 우클릭 - Create - Material














Material의 Shader는 Unlit/Texture를 쓴다. 다른 Shader도 좋지만

Unlit Shader는 주변 빛의 영향을 받지 않으니

환경이 월드마다 제각각인 VRChat에서 쓰기 좋은 Shader다.















Base에 아까 만든 렌더텍스쳐를 집어넣는다.















텍스쳐가 저런 모습이면 잘 넣어진거다.















텍스쳐를 출력할 준비는 다 했으니 이제 입력을 할 차례다.

Hierarchy에서 우클릭 - Carmera















카메라를 원하는 위치에 놓고














우측 카메라 컴포넌트를 확인해보면 Target Texture가 있는데















거기에 아까 만든 렌더텍스쳐를 집어넣는다.

















입력할 준비랑 출력할 준비는 끝냈으니 이제 화면을 만들어야겠지.

Hierarchy에서 우클릭하여 원하는 오브젝트를 생성시킨다.

오브젝트는 평면 형태인게 좋으므로 Plane을 쓰거나

Sphere 등의 도형을 쓸 거라면 Scale을 XYZ중에서 하나를 0.01정도로 아주 얇게 만들어주면 된다.그러면 도형이 평면에 가까워진다.

















Plane도형에 아까 만든 Material을 집어넣었더니

카메라에서 비춰지는 파란 아바타가 잘 비춰진다.














또한 실시간으로 입출력되는 모습이다.


















평범한 거울이나 스코프를 만들거라면 아까 레이어를 설정하지 않았겠지만

이젠 레이어를 활용할 차례다.


카메라 오브젝트 클릭 후 카메라 컴포넌트에서 Culling Mask를 클릭해준다.

기본적으로는 Everything으로 되어 있다.


















나는 월드의 최적화거울처럼 아바타만 보이게 만들고 싶어서

Player, PlayerLocal만 빼고 모두 체크해제했다.


각 레이어가 무슨 오브젝트에 해당하는지 궁금할텐데 출처는 이렇다.

https://vrcworld.wiki.fc2.com/wiki/Layers


  • Default
    • 기본 상태로 대부분의 오브젝트가 여기에 포함되어있다.
  • TransparentFX
  • Ignore Raycast
  • Water
    • VRCSDK의 VRCMirror가 포함된다. 가끔 월드 제작자가 물 오브젝트를 해당 레이어에 집어넣기도 한다.
  • UI
    • VR카메라, 인게임에서 메뉴창이라든지 Settings나 뭔가 설정할 때 뜨는 창들, 플레이어 네임태그 등
  • Interactive
  • Player
    • 다른 유저들의 아바타
  • PlayerLocal
    • 내 아바타
    • 아바타 선택시 왼쪽에 표시되어 회전하는 큰 아바타
  • Environment
  • UiMenu

    • 네임태그
  • Pickup
    • Pickup 가능한 객체
    • 월드 제작자가 VRC_Pickup컴포넌트를 쓴 오브젝트 등
  • PickupNoEnvironment
  • StereoLeft
  • StereoRight
  • Walkthough
    • Pickup개체와는 충돌하지만 플레이어와 충돌하지 않는 월드 개체. 
    • 월드에 포함 된 많은 객체가 이것에 할당 되어있다. (예: 책상, 의자, 매트 ...)
  • MirrorReflection
    • 카메라 (또는 거울)에 비친 자신의 플레이어의 아바타 전체
    • 자신의 플레이어 아바타의 Head 메쉬는 이 레이어에만 소속
    • 플레이어의 시점에는 거의 안 보인다. Head매쉬가 엄청 작게 렌더링되어 있어서 그런가.








아까 레이어를 Player, PlayerLocal에 할당했다면

사진의 파란색 아바타라든지 웬만한 오브젝트는 안보이게 된다.

나는 입출력 결과를 유니티에서 보고 싶어서 파란색 아바타의 Layer를 Player에 할당시켰다.


레이어를 잘 할당시켰다면 카메라와 오브젝트 중간에 벽을 설치해도

출력되는 Plane에는 아바타가 그대로 나오게 된다.

내가 Player랑 PlayerLocal 레이어 오브젝트만 화면에 나오도록 지정했기 때문이다.

















카메라에는 또 다른 기능이 있는데 그건 Projection이다.

기본 상태인 perspective를 보자.

















아바타를 앞뒤로 움직였더니 원근법에 의해 아바타가 크거나 작은 모습으로 출력된다.

















이번엔 orthographic을 써보겠다.

















아바타를 앞뒤로 움직여도 화면은 그대로다.



따라서 용도를 간단히 설명하자면 

perspective는 3D 카메라로써 이용할 수 있고

orthographic는 2D 카메라로써 이용할 수 있다.


월드에서 흔히 보는 캠은 perspective인거고


머더 월드에서 실시간으로 플레이어의 위치를 스크린에 비춰주는건

바로 orthographic을 이용한거겠지.
















카메라의 Clipping Planes에는 Near와 Far가 있는데


Near 1, Far 100으로 하면 카메라로부터 1 이상, 100이하 만큼 범위 내 오브젝트를 비춰준다는 뜻이다.




다시 한번 말하지만 현재 렌더텍스쳐는 아바타에 넣을 경우 자신만 텍스쳐가 보이고

다른 사람들에게는 검은 색으로 보이는게 대부분이다.


이를 우회하기 위해 렌더텍스쳐를 그대로 내보내기보단 렌더텍스쳐를 셰이더와 연계하여 쓰든지

아님 월드에서 편하게 쓰든지


차렷충이라면 1인 전용 이동식 거울 만들고 VR카메라 필요없다면서 혼자 딸딸이 치면 된다.





xcomthey 일단 강좌 추 2020.05.27 07:26:03
ㅇㅇ 츤데레누나구낭ㅎ 1.251 2020.05.27 07:29:10
흐린바다 2020.05.27 08:33:37
ㅇㅇ 이거 1인 전용 이동식 거울만들면 그 거울은 남한테는 아예 안보이는거야? 아니면 거울크기만큼 검은 색으로보이는거야? 125.138 2020.05.27 09:19:44
번호 분류 제목 글쓴이 날짜 추천
426514 일반 일베 벌레가 있었네 ㅋㅋ 3 ㅇㅇ 175.223 2020-05-29 0
426513 일반 주최자 안불쌍하냐... 2 ㅇㅇ 175.223 2020-05-29 0
426512 일반 니나 코스프레하라고 병신아 2 ㅇㅇ 175.210 2020-05-29 0
426511 일반 인터넷 월요일까지 기달려야됨 6 YS 2020-05-29 0
426510 일반 솔직히 재밌자고 이벤트하는거지 1 ㅇㅇ 175.223 2020-05-29 0
426509 일반 지금 안하면 언제 함 ㅇㅇ.. ㅇㅇ 175.223 2020-05-29 0
426508 일반 그래도 오랜만에 갤 이벤트인데 참여 좀 하자 ㅇㅇ 175.223 2020-05-29 0
426507 일반 까드득 YS 2020-05-29 0
426506 일반 내일은 찐짜 쥬지.뷰지 2020-05-29 0
426505 일반 진지하게 코스프레 대회 어떠냐? 1 ㅇㅇ 175.223 2020-05-29 0
426504 일반 까드득 빠드득 ㅇㅇ 175.210 2020-05-29 0
426503 일반 글레이즈 어딜가야 볼수있노 3 맨헤라 2020-05-29 0
426502 일반 글레이즈 짱 7 야한건좋아요 2020-05-29 0
426501 일반 ㄲㄷㄷ ㅇㅇ 39.7 2020-05-29 0
426500 일반 트웰 제작자 신작나왔다는데 ㄷㄷㄷ 4 흐린바다 2020-05-29 0
426499 일반 그냥 저 짤 애드블럭으로 차단함 1 ㅇㅇ 175.210 2020-05-29 0
426498 일반 젖같은 짤 계속 어디서 퍼오는거야 1 그런가? 2020-05-29 0
426497 일반 완장 이 미친새끼 까드득 빠드득만 쳐 지우고 혐짤은 쳐 안지우네 3 ㅇㅇ 175.210 2020-05-29 0
426496 일반 애미없네 ㄹㅇ 그런가? 2020-05-29 0
426495 일반 와타시 심심한것이에요 1 메코린 2020-05-29 0
426494 일반 밑에 콩순이 어쩌고 저쩌고 들가지 마라 ㅇㅇ 175.210 2020-05-29 0
426493 일반 제발 친구들 조인좀 안 했으면 좋겠다 1 ㅇㅇ 223.62 2020-05-29 0
426492 일반 혐짤봐도 데미지가 안들어온다 1 또래오래_2004 2020-05-29 0
426491 일반 밑에 주최자 110.70 통피 들가지 마라 1 ㅇㅇ 175.210 2020-05-29 0
426490 일반 콩순이 쳐 보낼듯 ㅇㅇ 110.70 2020-05-29 0
426489 일반 까드득 빠드득 없이는 살수 없는 몸이 됨 ㅇㅇ 175.210 2020-05-29 0
426488 일반 솔직히 코스프레 이벤트 주최자가 문제지 ㅇㅇ ㅇㅇ 110.70 2020-05-29 0
426487 일반 까드득 빠드득 까드득 빠드득 까드득 빠드득 까드득 빠드득 까드득 빠드득 ㅇㅇ 175.210 2020-05-29 0
426486 일반 코스프레 대회는 너무 무리인듯 15 또래오래_2004 2020-05-29 1
426485 일반 코코 2 그런가? 2020-05-29 0
426484 일반 님들 장래 직업 추천좀 2 ㅇㅇ 175.210 2020-05-29 0
426483 일반 퇴근했다 1 묵언소녀 2020-05-29 0
426482 일반 촉각슈트 입은 여자 개꼴림 1 ㅇㅇ 221.155 2020-05-29 0
426481 일반 아ㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏ ㅇㅇ 175.210 2020-05-29 0
426480 일반 겨드랑이털 밀기 딱좋노 운영체제 2020-05-29 0
426479 일반 tda에 주근꺠 넣은새끼 죽여버리고싶음 1 맨헤라 2020-05-29 0
426478 일반 촉각슈트 입은사람이랑 친구하고싶드아 ㅇㅇ 115.136 2020-05-29 0
426477 일반 이 아바타라면...! 너도 할수있어! 3 HAJANARANG 2020-05-29 0
426476 일반 오늘도 촉각슈트 퍼블릭 플레이간다... 5 야리 2020-05-29 0
426475 일반 주딱짤 푼다능 2 ㅇㅇ 115.136 2020-05-29 0
념글 삭제글 갤러리 랭킹