[Unity]07.삼성 Gear VR 사용 #2 - 리모트를 이용한 이동과 공격 구현

안녕하세요 유랑입니다.



지난 시간에 이어서 삼성 GearVR을 이용해 이동과 간단한 공격 구현을 해보겠습니다.




1. 삼성 기어 VR Controller



오큘러스 시리즈 마다 컨트롤러를 이용한 방식이 조금 다르기 때문에

삼성 기어 또한 정해진 메소드가 존재합니다.

터치패드를 이용해 캐릭터 이동과 트리거를 이용해 공격 구현하는 로직을 구성해 보겠습니다.


- 터치패드 => OVRInput.Get(OVRInput.Touch.PrimaryTouchpad)

- 터치패드 클릭 => OVRInput.Get(OVRInput.Button.PrimaryTouchpad)

- 트리거 버튼 클릭 => OVRInput.Get(OVRInput.PrimaryIndexTrigger)

- 홈/볼륨 버튼 => 예약된 버튼(아직 개발자가 접근할 수 없는 버튼)







1-1) Oculus Integration



기존에 있던 씬 이름을 EyeRaycaster로 변경한 뒤 OVRInput이라는 씬을 새로 만들어 줍니다.






오큘러스는 VR 콘텐츠 개발에 유용한 자사의 Oculus Utilities와 OVRPlugin을 제공한다.

오큘러스 홈페이지와 요새는 에셋스토어에서도 다운 가능하다.

https://developers.oculus.com







에셋스토어에서는 Unity Integration을 받으며 되며, Oculus Utilities와 OVRPlugin 모두 포함하고 있다.





기존에 있는 카메라를 삭제 후 OVRCameraRig를 하이라키 뷰에 넣어주자.

해당 프리팹은 사람의 눈을 기준으로 여러 앵커 포인트를제공한다.





시야가 있으니 컨트롤러를 움직이는 프리팹 또한 필요하다.

TrackedRemote를 LeftHandAnchor와 RightHandanchor 자식으로 넣어주자.

그대신 TrackedRemote 자식으로 있는 OculusGo를 삭제하자.

넣어도 상관없지만 쓰이지 않기 때문에 불필요하다.





OVRtrackedRemote 스크립트 안에 있는 m_modeloculusGocontroller.SetActive를 주석 처리하자.

게임 실행시 자동으로 기기를 찾아주는 코드이다.





컨트롤러를 두개나 넣어줬기 때문에 따로 설정이 필요하다.

왜냐하면 삼성 GearVR은 컨트롤러가 한 개이기 때문이다.

각각 다음과 같이 설정하자.

기기를 처음 연동하게 되면 오른손잡이, 왼손잡이 유무에 따라 활성화, 비활성화가 된다.








1-2) 이동 구현



이동 구현을 하기전에 1인칭 시점이기 때문에 이동했는지 모를 수 있다.

적당히 장애물을 설치해 주자.






이동과 공격구현 스크립트 작성을 하자.

ControllerInput이라는 스크립트를 작성 후 OVRCameraRig 오브젝트에 넣어 주자.

터치패드를 이용한 이동, 트리거 버튼을 이용한 공격기능을 담고 있다.












1-3) 공격구현



트리거 버튼을 누르면 총알이 나가게 코드 구성을 하였다.

이제 총알을 만들 차례인다. 다음과 같이 구성 후 프리팹으로 만들어 주자.






BulletCtrl 스크립트는 총알이 생성되면 앞으로 날아가라라는 내용을 담고있다.





총알이 생성될 위치는 오른쪽 손 위에서 나가도록 하자.

빈오브젝트를 생성 후 다음 위치에 넣어주자.






1-4) 게임 실행



OVRCameraRig에 Character Controller를 추가하고, 

해당 프리팹과 오브젝트를 스크립트 안에 넣어주자.






핸드폰에 게임을 넣어주고, 실행시켜 보자.

터치패드를 통해서 좌우상하로 이동 가능하며, 

트리거 버튼을 누르면 FirePos 위체에서 총알이 생성된 후 날라가게 된다.

이번에는 총알 프리팹을 삭제하는 코드가 없어서 부딪쳐도 남아있게 된다.






2. 마무리



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

삼성GearVR 컨트롤러를 이용해 이동과 공격 구현을 해보았습니다.

다음 시간에는 fps느낌의 게임을 간단하게 만들어 보겠습니다^^

오늘도 고생하셨습니다.

감사합니다.



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







































댓글

Designed by JB FACTORY