예지의 개발 로그포스 (Yeji's Log Force)

[Unity - VR 공포게임] 컨트롤러로 플레이어 움직이기 본문

[Unity] Projects & Study/우물 속에서 - VR 공포 게임

[Unity - VR 공포게임] 컨트롤러로 플레이어 움직이기

Yeji Heo 2022. 7. 7. 12:27

2021년 한이음 프로젝트에서 VR개발을 하게 되면서 오큘러스 퀘스트2를 지원받았었다.

이번 개발도 그래서 오큘러스 퀘스트2로 빌드해보면서 진행했다.

 

 

이 분 글을 참고해서 VR개발 세팅을 마쳤다.

https://yoonstone-games.tistory.com/102

 

[Unity + Oculus] VR 개발하기 - 1 (환경 구현, 개발자 등록)

오큘러스와 유니티를 이용하여 콘텐츠를 개발하는 과정을 기록하는 게시글입니다. 사용한 오큘러스 기기는 '오큘러스 퀘스트2' 입니다 :) 1. 2020.3.22f1 버전 설치 후 프로젝트 생성 혹시나 해서 게

yoonstone-games.tistory.com

하이어라키에 추가해주고 우선은 맵을 만들었다.

맵은 적당히 나무, 돌, 집 등 에셋을 다운로드 해서 우물까지 가는 길을 배치해주었다.

이제 플레이어가 컨트롤러 작동에 따라 움직이도록 해야 했다.

1인칭 시점 게임이기 때문에 OVRCameraRig자체를 플레이어로 생각하고 개발했다.

OVRCamerarig에 CharacterController컴포넌트를 추가하고

InputController라는 스크립트도 생성해서 추가했다.

 void Update()
    {
        Vector2 thumbstick = OVRInput.Get(OVRInput.Axis2D.PrimaryThumbstick);

        float h = thumbstick.x; //가로
        float v = thumbstick.y; //세로

        Vector3 dir = new Vector3(h, 0, v);
        dir = Camera.main.transform.TransformDirection(dir);

        if (OVRInput.Get(OVRInput.Button.PrimaryIndexTrigger))
        {
            Speed = 10;
        }
        else
        {
            Speed = 5;
        }

        cc.SimpleMove(dir * Speed);
    }

CharacterController가 제공하는 SimpleMove를 이용해서 Thumbstick의 방향대로 움직이도록 했다.

PrimaryIndexTrigger를 당기면 Speed를 조절하여 달리도록 했다.

 

오큘러스 Input에 관한 정보는 https://ojui.tistory.com/12

 

02. Oculus Map Controllers, 컨트롤러 입력값

🔷 Map Controllers 🔶 document https://docs.unity3d.com/kr/2017.4/Manual/OculusControllers.html 오큘러스 입력 - Unity 매뉴얼 오큘러스 리프트(Oculus Rift)에는 세 개의 입력이 있습니다. 오큘러스 터치..

ojui.tistory.com

이 글을 참고하여 스크립트에서 다루었다.

 

Comments