[Unity]10.HTC Vive 사용 #3 - 텔레포트

안녕하세요 유랑입니다.



오늘은 HTC Vive의 컨트롤러를 이용해서 텔레포트하는 방법에 대해서 알아보겠습니다.

지난 시간의 내용을 참고하셔서 따라와 주세요^^




1. 텔레포트



1-1) 레이저 포인터 만들기 - ㉠레이저 프리팹 



레이저 포인트는 VR 세계에서 매우 편리합니다.

큐브를 이용해서 만들어 볼테니 잘 따라와주세요^^

Cube 오브젝트를 생성 후 Box Collider를 제거하고 트랜스폼 값을 다음과 같이 변경해 주겠습니다.

이름은 Laser로 변경해 주겠습니다.






머티리얼을 만들어 준다음 Shader는 Unlit/Color로, 색깔은 붉은색으로 변경 후 Laser 오브젝트에 적용해 주세요.

적용하는 방법은 드래그앤 드랍을 통해서 쉽게 가능합니다.





Laser 오브젝트 설정이 끝났으면 프리팹으로 만들어주고, 하이라키 뷰에서는 삭제해 주세요.






1-2) 레이저 포인터 만들기 - ㉡스크립트 작성



터치패드 버튼을 누르면 레이저 포인트 프리팹이 생성되로록 스크립트를 작성해 보겠습니다.

RayCast를 통해서 물체와 부딪쳤는지 확인 후 해당 위치까지만 레이저 길이가 증가합니다.



 






1-3) 레이저 포인터 만들기 - ㉢스크립트 연결



컨트롤러에 Laer Pointer 스크립트를 연결 후 해당 설정값으로 세팅해 주겠습니다.








해당 컨트롤러의 터치패드를 클릭하면 레이저가 나가게 됩니다.






1-4) 텔레포트 - ㉠스크립트 작성



기존의 LaserPointer 스크립트에 텔레포트 기능 내용을 추가해 주겠습니다.

사용할 텔레포트 프리팹과 플레이어 프리팹 정보 등을 이용해 이동시켜 줍니다.









1-5) 텔레포트 - ㉡프리팹과 레이어 연결



스크립트에 작성했듯이 레이저가 해당 레이어에 충돌했을 때만 텔레포트가 되도록 설정해 줄게요.

CanTeleport 레이어를 만들어 준다음 바닥에 해당 레이어로 설정해 주세요.






CameraRig(플레이어의 몸), Camera(플레이어의 머리 부분), Telport 레티클 프리팹을 각각 연결해 주세요.

바닥 위에 텔레포트가 보여야 하므로 Offset은 Y축으로 0.05정도로 설정해 주세요.







터치패드를 이용해 해당 위치로 텔레포트가 가능합니다.

녹화중 프레임이 높아서 화면이 일그러졌네요ㅠㅠ






2. 마무리



오늘 강의는 여기까지입니다.

HTC Vive를 사용해 레이저 구현과 텔레포트 기능을 알아보았습니다.

다음 시간부터는 VRChat 구현을 위해서 차근차근 공부해 보겠습니다.

오늘도 고생하셨습니다.

감사합니다.




수업자료: https://github.com/YouRang12/-Tistory-Unity---Extra-VR-







댓글

Designed by JB FACTORY