본문 바로가기
IT

[유니티/VR 콘텐츠 제작] 5. 움직임 세팅 + 텔레포트 포인트 만들기 + 이동할 수 있는 바닥 설정

by 배애앰이 좋아 2024. 2. 6.
반응형

 

목표 : 유니티 VR 콘텐츠 제작하는 방법에 대해 알아봅시다.

 

https://www.youtube.com/watch?v=pm9W7r9BGiA&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=3

영상을 기반으로 작성된 글입니다.

사용한 유니티 버전 : 2022.3.16f
사용한 VR 기기 : meta quest 3

 

 

1. 움직임 세팅

 

아래 player 오브젝트에 아래와 같이 컴포넌트를 추가 후에 설정해줍니다. (최신 버전으로 틀면 이미 세팅이 다 되어있지만 실습을 위해 따라합니다.)

Gravity Application Mode : 실시간 중력을 체크해줍니다

Forward Source : 이동했을 때 전방 조건

Left Hand Move Action : 설정시 왼쪽 컨트롤러를 이용하여 이동할 수 있습니다. 

 

앞에서 Left Hand Move Action > Reference 에 넣은 객체를 두 번 클릭하면 아래와 같이 창이 뜨는데 보시다싶이 움직임에 대한 정의를 할 수 있는 것을 확인할 수 있습니다.

 

다시 돌아가서 추가적인 설정을 해줍니다. 움직이는 것만 아닌 방향을 바꾸기 위한 설정입니다. 참고로 continue turn provider 을 쓰던 snap turn provider 를 쓰던 둘 중에 하나 사용하시면 됩니다. 

 

텔레포트에 대한 움직임도 추가하기 위해 아래와 같이 추가 컴포넌트를 설정해줍니다. (Teleportation provider 추가)

 

그리고 Teleport 할 수 있는 레이어를 설정해주어야 하는데 기본적으로 31에 하도록 안내되어 있습니다. 그러니 꼭 31번째에 Teleport 를 추가하시면 됩니다.

 

right controller 안에 아래 주소에 들어있는 teleport lnteractor prefab 을 넣어주고 레이어 마스크에 아까 추가한 teleport 레이어로 바꿔줍니다.

 

그리고 테스트를 해보면 왼쪽을 이용하여 움직임을 오른쪽을 이용해서 방향 조절을 그리고 텔레포트가 작동되는 것을 확인할 수 있습니다. 하지만 이동할 수 있는 곳이 없어서 빨간색으로 밖에 언 뜨는 것을 확인할 수 있습니다.

 

 

2. 텔레포트 포인트 만들기

 

아래 주소에 있는 teleport anchor 를 추가 후, 테스트 해보면 해당 원판 위에는 텔레포트 표시가 초록색으로 바뀌며 올라갈 수 있는 것을 확인할 수 있습니다. 

 

하지만, 저희는 이 함선을 다 움직이고 싶기 때문에 수정해봅시다.

 

 

3. 이동할 수 있는 바닥 설정

 

teleport area 라는 오브젝트를 만들어준 후 teleportation area 스크립트를 달아줍니다. 그리고 함선 바닥인 3개의 오브젝트를 colliders 에 넣어줍니다.

 

이때 이동할 때 단순히 이동만 말고 방향도 같이 조절해주고 싶다면 아래 부분을 체크해줍니다.

그러면 방향과 같이 조정해서 텔레포트가 가능합니다.

 

여기서 문제가 있습니다. 보통 이렇게 조작이 많아지면 겹치면서 의도대로 안되는 경우가 있습니다.

예를 들어 물건을 집고 싶은데 이동을 한다거나 말이죠. 이를 방지하기 위해 아래처럼 설정해줍니다.

 

Right controller > Teleport Interactor 에 XR controller 를 추가해주고 아래 표시한 빨간 버튼을 눌려 Light Controller 선택해줍니다. 이 경우 기존에 Right Controller 에 들어있던 설정을 오버라이딩 해주는 것과 같습니다.

 

그 다음은 아래와 같이 바꿔줍니다.

 

참고로 최신 버전에는 이미 설정이 다 되어 있기 때문에 없애고 설정하기 위해서는 아래 빨간색 부분을 비활성화해주고 컴포넌트 설정을 다음과 같이 바꿔줍니다.

 

그 다음 테스트 해보면 정상적으로 함선 바닥을 마음대로 돌아다닐 수 있는 것을 확인할 수 있습니다!

반응형

댓글