컨트롤러의 GripButton을 눌렀을때 컨트롤러의 Raycast가 가르키는 방향으로 Teleport(텔레포트)를 합니다.
여기서 특정 위치의 텔레포트 좌표로 이동시키고 싶어서 .. 보니까
Teleport Anchor 컴포넌트가 있더라구요!
기록!!
1. 좌표 역할을 할 Object 생성하기
어떤 Object도 없이 가르킨다고 해서 이동할 순 없습니다.
그래서 좌표 역할을 할 Object가 필요합니다!
저는 그래서 Sphere(구)를 생성해 좌표 역할을 하도록 하겠습니다.
GameObject → 3D Object → Sphere

해당 구체가 생겼습니다.
음.. 그런데 저는 이 좌표가 다른 배경이나 사물을 가리면 안된다고 생각해서 투명하게 해주겠습니다.

해당 Project → Assets에 원하시는 폴더에 Material을 생성합니다.
저는 일단 New Folder에 생성하도록 하겠습니다.

이름은 AnchorOpacity 로 지었습니다.
Rendering Mode 를 Transparent로 변경하시고
컬러를 선택하셔서 투명도를 조절하시면 됩니다.
저는 절반으로 주겠습니다.
이제 해당 구체에 만드신 Material을 드래그 하시면 됩니다.

해당 사진 처럼 투명해졌다는 것을 볼 수 있습니다.
2. Teleport Anchor 컴포넌트 추가하기

해당 구체의 Add Component를 클릭하고 Teleport Anchor를 클릭!!

다른 설정들은 크게 건들일 것이 없고
Interaction Manager
Teleportation Provider (보통 Locomotion System에 Teleportation Provider 존재)
만 넣어줘도 기본 동작은 합니다.
Match Orientation은 텔레포트 시 어느 방향에 있을 것인지를 뜻 한다고 하는데 맞는 해석인진 모르겠으나
저 옵션에서 Target Up And Forward 하면 해당 구체의 위, 앞쪽에 텔레포트를 합니다.

이제 텔레포트가 될 것 입니다.
저는 테스트를 위해 해당 구체를 복사하여 두개를 만들어 놓고 테스트 진행 하겠습니다.
* 결과
영상에서 보시다시피 텔레포트가 해당 구체 위치로 잘 됩니다!!!
하지만 문제가...
해당 컨트롤러가 제대로 호버를 했는지 육안으로 구분이 안되네요.....
호버 시 불투명도를 높이는 작업을 해야하고
해당 좌표로 이동 시 오브젝트는 보이지 않게 해야겠습니다..
그건 다음에...
'Dev > Unity' 카테고리의 다른 글
| [Unity] XR Interactor 동작 캔슬하는 방법 (0) | 2023.12.01 |
|---|---|
| [Unity] Teleport Anchor Object Hover & Teleport 기능 추가 (0) | 2023.08.18 |
| [Unity] VR XR Interaction Toolkit 셋팅 (0) | 2023.08.14 |