VRChat 마이너 갤러리 저장소

제 목
강좌/정보 월드 제작 기본 강좌 - 3 : 프리팹 사용하기와 트리거 버튼
글쓴이
xx
추천
8
댓글
8
원본 글 주소
https://gall.dcinside.com/vr/133190
  • 2019-03-19 09:01:20
  • 220.72
 

전글 : https://gall.dcinside.com/mgallery/board/view/?id=vr&no=132675


저번에 제작하던 글에 이어서

몇 가지 장난을 더 쳐봅시다.




저번에 만들었던 월드인데 이대로는 좀 심심하죠?

유니티에는 제작물을 그대로 재활용하기 쉽도록 만든 프리팹이라고 하는 기능이 있습니다.

월드에 들어가있는 VRCWorld나 VRCMirror도 프리팹이에요.


간단히 말해 통짜로 저장하는 기능이죠.


이해를 쉽게 하기 위해서 지금 이 망루를 프리팹화시켜보겠습니다.

방법은 간단한데, 프리팹으로 만들고 싶은 오브젝트를 하이어라키에서 프로젝트로 드래그해주면 됩니다.



이제 이 프리팹은 제가 설정해놓은 스케일(크기)값이나 힘들게 박아놓은 콜라이더도 전부 저장한 상태가 됩니다.

만약 제가 똑같은 망루를 월드에 3~4개씩 배치하게 되거나, 여기서 만든 망루를 다른 월드에 배치할 때 유용하겠죠?


자, 이번엔 반대로 다른 사람들이 만들어놓은 프리팹을 쓰는 것도 가능합니다.


잠깐 URL 하나를 확인하고 갑시다.


https://docs.google.com/spreadsheets/d/e/2PACX-1vTP-eIkYLZh7pDhpO-untxy1zbuoiqdzVP2z5-vg_9ijBW7k8ZC9VP6cVL-ct5yKrySPBPJ6V2ymlWS/pubhtml


위 주소는 VR챗 공식 디스코드 월드 채널에 올라가 있는 VR챗 프리팹 모음입니다.

많은 사람들이 만들고 배포하고 있는 프리팹들을 모아놓은 것이죠.

상당히 유용하고 재미있는 것들이 많습니다.


원하는 녀석을 스프레드시트에서 찾아서 다운로드를 받고, 유니티패키지 열어서 임포트 시켜줍니다.

경우에 따라 유니티 패키지가 아니라 그냥 폴더채로 들어가있는 경우가 있는데, 그러면 프로젝트 안에 넣어주면 됩니다.


여기서는 WACOWater 라는 녀석을 써보도록 합시다.  최신에서 제대로 작동하지 않습니다. 주의하세요. 아래 내용은 참고만 하시기 바랍니다. 

폴더 안을 살펴보니 프리팹 파일이 있네요. 그대로 드래그해서 하이어라키나 씬에 던져줍니다.






와! 워터!


이제 깔려있는 프리팹을 제 취향대로 만져주도록 하겠습니다. 크기부터 바꾸고...

구조를 보아하니 내부에 있는 Plane의 크기를 조절해주면 될 거 같군요. 리플렉션 프루브라는 애도 들어있네요. 얘는 내버려둘게요.

콜라이더도 들어있지만 이미 바닥에 콜라이더를 깔았으니 지워주겠습니다.

여기서 이렇게 물을 집어넣었는데, 물을 다룰 때에는 주의하셔야할 점이 있습니다.


1. 느낌이 오시겠지만 일단 물은 렉이 걸립니다.

특히 이쁘게 만든 물 쉐이더일 수록 주의를 해야겠죠? 얘가 꿈틀거리는 걸 보니 벌써 느낌이 싸합니다.


2. VR을 지원하지 않는 물 쉐이더들이 꽤 있습니다.

싱글패스 스테레오 뭐시기하는 쉐이더가 필요한데 저도 모르고 님들도 모르겠죠? 일부 물 쉐이더는 왼쪽 눈에만 물이 비치거나 해서 원치 않는 시각 테러가 될 수 있습니다. 당연히 아까 위에 올린 VRChat Prefab에는 VR 지원 물 쉐이더들이 올라와있을 것입니다.



2번이야 다 고려해놨지만 1은 어떻게 하죠? 그야 물을 끄는 버튼을 넣으면 그만이죠 ㅎㅎ

월드에 이미 거울도 들어있으니 이 껐다 켰다하는 버튼을 만드는 법을 다뤄보도록 하겠습니다.


이 버튼을 만들기 위해 VRC Trigger라고 하는 애를 쓸 것입니다.


VRC 트리거라는 애가 뭐냐면 조건(트리거)을 만족시키면 특정한 일(액션)을 일으키는 VRC용 스크립트입니다.

SDK를 넣으면 자동으로 들어있어요.


일단은 버튼으로 쓸 물건이 필요하니 큐브를 만들어주세요.


설마 아직 큐브를 만들 줄 모르는 건 아니겠죠?


Add component -> VRC Trigger 를 추가해줍니다.

(Relay 아닙니다.)




그럼 인스펙터에 요로코롬 VRC_Trigger라는 애가 나옵니다. 사진에 빨간색으로 체크해둔 곳 있죠? 클릭하면 "트리거"를 고를 수 있습니다.

영어로 잔뜩 나올텐데, 나중에 천천히 살펴보면서 하나 하나 알아보세요.

https://docs.vrchat.com/docs/trigger-summary 여기에도 영문으로 자세히 설명이 되어있습니다.


일단은 OnInteract를 골르고 옆의 Add를 눌러주세요.

"이 트리거가 달려있는 물체를 클릭할 때"에 해당되는 트리거입니다.

그 다음에는 액션을 넣어줘야겠죠?


넣기 전에 Advanced Mode를 체크하고, AlwaysBufferOne을 Local로 바꿔줍니다.

이걸 브로드캐스트 타입이라고 하는데, 이 행동이 어디까지 영향을 미치냐를 의미합니다. 흔히 말하는 로컬이라는게 이겁니다.


잠깐 자주 쓰는 브로드캐스트 타입에 대해서 소개하자면


Local : 해당 트리거를 발동시킨 사람만

Always : 누구나.

Master : Always와 같지만 마스터만이 트리거를 발동시킬 수 있음.

Owner : Always와 같지만 오너이 트리거를 발동시킬 수 있음.

???Unbuffered : 트리거가 발동한 시점에 있던 사람들만

???BufferedOne : 뒤늦게 들어온 사람도 한번은


이 됩니다. ???Unbuffered나 ???BufferedOne은 Always나 Owner 등과 섞여서 쓰여요.

잘 모르겠으면 항상 AlwaysBufferedOne이나 Local을 쓰시면 됩니다.


마스터란 건 해당 인스턴스에 가장 먼저 들어온 사람이고, 그 사람이 나가면 다른 사람으로 바뀝니다.

오너라는 건 해당 물체의 싱크에 대해 우선권을 가진 사람입니다. 손으로 물건을 집거나 하면 그 사람이 오너로 바뀝니다.

뭔지 잘 모르겠죠? 이런 건 나중에 가야 쓸 일이 생길 겁니다.


그 뒤 밑의 플러스 버튼을 누르고 Basic Event -> SetGameObjectActive를 넣어줍니다.
이 액션은 물체를 껐다 켰다 해주는 액션입니다.

액션에 SetGameObjectActive라고 뜰텐데, 마우스로 클릭해서 선택해주면 상세설정이 가능해집니다.

상세설정은 액션마다 달라요.




주목할 부분은 리시버라고 적힌 부분과 오퍼레이션이라고 적힌 부분입니다.

리시버라는 건 어떤 물체가 이 액션의 영향을 받을 것인지 설정하는 부분입니다. 일단 거울부터 껐다켰다 해봅시다.

플러스 (+) 버튼을 누르면 None (Game Object)라고 뜨면서 오브젝트를 넣을 수 있게 변합니다. 거울을 하이어라키에서 드래그해서 넣어줍니다.


그 뒤 Operation을 False에서 Toggle로 바꿔줍니다. False는 아예 꺼버린다는거고 True는 반대로 켜준다는 겁니다.

Toggle은 꺼져있으면 키고, 켜져있으면 끄는거죠.

참고로 로컬이 아닌 경우에는 토글은 쓰지 않는게 좋습니다. 동기가 밀릴 경우 사람마다 다르게 보이기 좋거든요.


마지막으로 Interaction Text를 Mirror 로 바꿔서 알기 쉽게 해주고,

버튼으로 집어넣은 큐브를 적절한 위치에 배치해줍시다.




참 쉽죠?


이제 같은 요령으로 물도 꺼보도록 하겠습니다만... 숙제입니다.

물 프리팹을 넣지 않았다, 하시는 분들은 자기가 원하는 다른 물건이나 프리팹을 비활성화시키시면 됩니다.

이 큐브를 Ctrl+D로 복사한 뒤 리시버만 바꿔주면 날로 먹을 수 있겠죠?


완성하셨으면 테스트입니다. 아무튼 잘 모르겠을 때 테스트 버튼 한번 누를 때마다 월드 퀄리티가 1씩 올라간다고 보시면 됩니다.



망루에서 물을 내려다볼 수 있는 띵월드지만 미코는 키가 작아서 못내려다본대


질문 있으면 괘념치 말고 답글에 남겨주세요~


liar 2019.03.19 09:03:49
Byanka 와 워터!! 175.223 2019.03.19 09:09:42
Byanka 맨땅 헤딩으로 일일히 테스트해가면서 만들었더니 죽겠습니다. 강좌 좋아요 175.223 2019.03.19 09:12:55
xx 사실 앵간한 건 유튜브 검색하면 많이 나옵니다. 영문이나 일문 쪽은 국내보단 월드 제작 자료가 풀려있으니 구글 번역을 친구 삼으셔요. 220.72 2019.03.19 09:15:34
검은연 2019.03.19 09:17:14
Byanka Wacowater 따라 써봤는데 이거 VR에서 엄청 크게 반사되고 난리나네요.. 175.223 2019.03.19 23:35:04
xx 현 시점에서 WACO가 VR에서 제대로 표시되지 않는다고 하네요 ㅡㅡ;; 다른 물 쉐이더 사용법을 올려드리겠습니다. 220.72 2019.03.20 11:43:29
Byanka 열심히 찾고 있는데 쉽지 않네요잉 ㅠ 125.132 2019.03.20 12:36:00
번호 분류 제목 글쓴이 날짜 추천
330041 일반 반고닉하고 고닉하고 색 다르네 2 조개껍데기 2019-12-09 0
330040 일반 요즘 대세는 트리임 1 딜런 2019-12-09 0
330039 일반 초록트리라도 조!!!! 2 혀뇽 2019-12-09 0
330038 일반 난뭘까 ㅎ_ㅎ 2 네로남불 2019-12-09 0
330037 일반 난 처녀막 지켜야지.. 4 츄르 2019-12-09 0
330036 일반 테스트 1 dox 2019-12-09 0
330035 일반 발냄시나 1 엘렝 2019-12-09 0
330034 일반 양말 팝니다 1 헌책 2019-12-09 0
330033 일반 두근두근 가챠뽑기~ dox 2019-12-09 0
330032 일반 어휴 네덕색기들 3 멚져 2019-12-09 2
330031 일반 양말트리 머임 ㅋㅋ 병신들 3 고무백 2019-12-09 0
330030 일반 갤에서 양말냄새나 1 ㅇㅇ 122.35 2019-12-09 0
330029 일반 양말 어캐얻노 2 휠드래곤 2019-12-09 0
330028 일반 이거 암캐만 트리주나본데? https://event.dcinside.co 10 바다 2019-12-09 0
330027 일반 양치질 하고싶다 2 Space 2019-12-09 0
330026 일반 양말 솔직하게 병신같음 1 _YS_ 2019-12-09 0
330025 일반 트리특 1 헌책 2019-12-09 0
330024 일반 암캐들만 트리주나보네 2 ㅇㅇ 175.223 2019-12-09 0
330023 일반 닉 옆에 달리는거 갤러콘이라고 하는구나 3 악메 2019-12-09 0
330022 일반 시발 오염되가는거 보니까 개끔찍하네 3 계절을안고서 2019-12-09 0
330021 일반 님들 왜또 이상한거달고있음 중졸모 2019-12-09 0
330020 일반 양말색기들 특징 4 딜런 2019-12-09 0
330019 일반 말양 1 mechiba 2019-12-09 0
330018 일반 난 몰까 2 빅몬 2019-12-09 0
330017 일반 브붕..! 양말 트리 어디서구했어 2 바다 2019-12-09 0
330016 일반 mechiba 2019-12-09 0
330015 일반 섹스섹스섹스! 3 ^-^.. 2019-12-09 0
330014 일반 이상한것좀 달지마;; 1 츄르 2019-12-09 0
330013 일반 아싸 양말이당!!!! 6 혀뇽 2019-12-09 0
330012 일반 섹스 2 빅몬 2019-12-09 0
330011 일반 양말 2 조개껍데기 2019-12-09 0
330010 일반 나는 무슨 콘일까 4 딜런 2019-12-09 0
330009 일반 트리 달고오는 씹게이새낀 없을거라고 믿음 4 으ㅡ음 2019-12-09 1
330008 일반 이제 양말콘 내놔 2 헌책 2019-12-09 0
330007 일반 줬나? 1 면요리좋아함 2019-12-09 0
330006 일반 ㅋㅋ 풍선 터지니까 뭐 또주네 9 으ㅡ음 2019-12-09 0
330005 일반 라벤더가 네오스브얄보단 남 ㅋ 1 조개껍데기 2019-12-09 0
330004 질문 블렌더 뚜따 첨해보는데 텍스쳐가 이상하게 떠요 ㅇㅇ 211.172 2019-12-09 0
330003 일반 라벤더 마갤 없네 4 으ㅡ음 2019-12-09 0
330002 일반 군대로 가버렷 4 ㅇㅇ 211.243 2019-12-09 0
념글 삭제글 갤러리 랭킹