Vive Input Utility For Unity를 Oculus Go/Quest(Oculus Go 대응 수정됨)로 사용합니다.

입문


Vive Input Utility는 Unity+SteamVR과 Vive Wave의 VR 내 버튼 입력 등을 지원하는 편리한 도구입니다.

이 도구Github 상의 최신 제출(0cebb42418336213451fb52267b9fc47449bc737)도 Oculus Go와Quest를 지원합니다.아직 정식 버전은 아니지만 한번 해볼 만하다고 생각합니다.

설치


공식 Github 페이지에서 다운로드 최신 항목 하십시오.또한 AssetStore에서 Oculus Integration을 다운로드하십시오.또한 Vive Focus Plus용 Wave SDK는 Oculus Integration과 호환되지 않으므로 제거하는 것이 좋습니다.
항목을 열면 Unity의 기본 설정에서 Supporting Device를 선택해야 합니다.

Oculus Android Package를 설치한 후 Oculus Android를 선택하십시오.

그러면 [설정 추천] 을 선택하는 창이 나타납니다.

"Oculus Mobile Recommended Quality Settings 사용"에서 "recommended 사용"을 선택하면 오류가 발생하므로 이 오류를 무시하십시오. 그렇지 않으면 "recommended 사용"을 선택하십시오.
구축할 때 Android Manifest를 만들어야 합니다.없으면 실수할 거야.Oculus 통합을 가져오면 Unity 편집기에서 Manifest를 만드는 메뉴가 있습니다.

마지막으로 Quest를 구축하려면 Oculus Project Config에서 Target Device Type을 Quest로 설정합니다.

입력


기본적인 사용 방법은Vive Focus Plus와 동일.Vive Focus Plus를 위한 프로젝트라도 기본적으로 바뀌지 않는다.그러나 어쨌든 Vive Input Utility와 함께 제공된 Vive Input 클래스를 사용하여 터치 Oculus Go 터치판의 위치를 얻을 수 없습니다.Oculus Quest에는 문제가 없습니다.따라서 Go에 대해서는 Input.GetAxis("HTC_VIU_UnityAxis4")Input.GetAxis("HTC_VIU_UnityAxis5") 을 참조하십시오.Vive Focus Plus 등과 별도로 판정해야 하기 때문에 번거롭습니다.발행판이 개선되기를 희망합니다(v1.10.5 복구됨).

보충하여 기록하다


v1.10.5 수정 → Githubissue를 완료하고 해결 방안을 제시했다.OculusVRModule.cs를 추가하고 수정하십시오.이렇게 하면 Go의 터치보드도 ViveInput 클래스에서 입력할 수 있습니다.
OculusVRModule.cs

///中略

case OVRPlugin.Node.HandLeft:
    {
        var ctrlState = OVRPlugin.GetControllerState4((uint)OVRPlugin.Controller.LTrackedRemote);
        currState.SetAxisValue(VRModuleRawAxis.TouchpadX, ctrlState.LTouchpad.x);
        currState.SetAxisValue(VRModuleRawAxis.TouchpadY, ctrlState.LTouchpad.y);

///中略

case OVRPlugin.Node.HandRight:
default:
    {
        var ctrlState = OVRPlugin.GetControllerState4((uint)OVRPlugin.Controller.RTrackedRemote);
        currState.SetAxisValue(VRModuleRawAxis.TouchpadX, ctrlState.RTouchpad.x);
        currState.SetAxisValue(VRModuleRawAxis.TouchpadY, ctrlState.RTouchpad.y);

///以下略

좋은 웹페이지 즐겨찾기