시작하기
펜을 설치해 씬에 펜 세트를 놓고, 친구들과 허공에 그리고, 원하는 색과 모양의 펜을 만듭니다.
설치
리스팅에서 Udonite Pens를 추가합니다. Udonite와 네트워크도 함께 들어옵니다.
씬에 펜 세트 놓기
Udonite > Pens > Create Pen Set을 실행하면 씬 뷰 앞의 트레이에 슬림한 펜 네 자루(검정, 빨강, 파랑, 초록)와 지우개가 놓입니다. 처음 한 번은 잉크를 관리하는 씬의 PenWorld도 추가됩니다.
각 펜은 자동 홀드 VRCPickup, 키네마틱 Rigidbody, VRCObjectSync를 가지므로, 누군가 들고 있는 동안 모두에게 움직여 보입니다. 메시와 머티리얼은 처음 한 번 Assets/Udonite/Pens에 만들어집니다. 거기서 모양을 바꾸거나 펜 아래에 직접 만든 모델을 넣으세요.
해 보기
컴파일한 뒤 VRChat SDK 패널의 Build & Test로 클라이언트 두 개를 띄우고 한쪽에서 그려 보세요.
| VR | 데스크톱 | 휴대폰 | |
|---|---|---|---|
| 들기 | 잡기 | 클릭. 계속 들고 있습니다 | 탭. 계속 들고 있습니다 |
| 그리기 | 트리거. 펜촉에서 잉크 | 왼쪽 클릭. 보는 곳에 잉크 | Use를 누른 채 시점을 끌기 |
| 마지막 선 되돌리기 | 든 손의 위쪽 페이스 버튼 | R | |
| 지우기 | 지우개 끝이 닿은 선을 지움 | 시선 위의 첫 선 | 데스크톱과 같음 |
데스크톱과 휴대폰에서는 4 m 안에서 보고 있는 보드에 잉크가 그려지고, 없으면 눈앞 0.5 m 허공에 그려집니다. 탭하면 점이 남습니다.
손에서 놓은 펜은 그 자리에 머뭅니다. returnAfter를 정하면 떨어뜨린 지 몇 초 뒤 놓아 둔 자리로 돌아갑니다.
나만의 펜
펜의 모양은 colour, width, 그리고 잉크 스타일입니다. 잉크 스타일은 PenWorld에 있는 템플릿 선으로, 그 스타일의 모든 선이 머티리얼, 굵기 곡선, 끝 모양을 따라 하므로 어떤 셰이더로도 잉크를 그릴 수 있습니다.
int neon = PensSetup.CreateInkStyle("Neon", neonMaterial, AnimationCurve.Constant(0f, 1f, 1f));
Pen glow = PensSetup.CreatePen("Pen Neon", Color.cyan, new Vector3(0f, 1f, 0f), neon, 0.008f);
snap은 모든 점을 격자에 맞춰 픽셀 아트처럼 각진 잉크를 만듭니다. drawInAir를 끄면 보드에만 그리는 펜이 됩니다.
쓰면서 정리하기
PenWorld는 선 풀을 가지고 있고, 기본은 192개입니다. 모두 쓰이면 가장 오래된 선이 다음 선에 쓰이므로 방이 가득 차는 일은 없습니다. inkLifetime은 몇 초 뒤 모든 클라이언트에서 잉크를 지우고, 지우기 버튼은 보드나 전부를 지웁니다.