오-개_SteamVR Input 2

astray36·2021년 6월 10일
0

오늘의 개발

목록 보기
1/10
post-thumbnail

오전중에 2가지 이슈를 해결했다.

첫번째는 초기화 문제.

프로젝트 세팅의 Oculus의 체크박스를 체크 해제하니 초기화가 다시 정상화됬다... 분명히 이전에는 Oculus와 OpenVR Loader를 동시에 체크해도 상관 없었는데. 뭐 원인은 정확하게 알 수 없지만 구글링 중에 OpenVR Loader를 체크하라는 내용을 보고 혹시나 해서 Oculus 체크 해제를 해보니 어쨋든 해결되었다.

두번째는 바인딩 문제.
SteamVR을 설치하면 SteamVR input binding UI를 쓸 수 있는데 그곳에서 SteamVR 인풋 형식에 맞게 셋팅을 해야한다.
아무튼 이것도 Live View를 통해 인풋이 들어오는것을 확인하였다.

그런데 문제는 해결되지 않았다.

NullReferenceException: Object reference not set to an instance of an object
Valve.VR.SteamVR_Action`2[SourceMap,SourceElement].GetActive (Valve.VR.SteamVR_Input_Sources inputSource)

이 계속 발생하는데 아직 왜그러는지를 모르것다.

휴.... 디버깅을 헛으로 보고있었다.

if(TrackpadAction.GetActive(MovementHand)) trackpad = TrackpadAction.GetAxis(MovementHand);

부분에서 Null이 발생하고 있었는데 public SteamVR_Action_Vector2 TrackpadAction; 으로 선언된 변수에 바인딩된 것이 없어서 발생하는 것이였다.

아무튼 이 부분을 해결하니 성공.

Oculus Quest2로 개발하더라도 SteamVR Input을 사용할 수 있게 되었다. 처음 셋팅 시작할때부터 글을 썻어야했는데 너무 복잡해서 안했다..

시간이 지나서 Valve에서 지원을 해주면 이렇게 따로 처리를 안해도 되는 부분이 될 수도 있다.

어쨋든 처음부터 셋팅할 일이 생기면 그때 따로 글로 정리하도록 하겠다.
참고한 블로그는 https://skarredghost.com/2020/09/25/steamvr-unity-xr-interaction-toolkit-input/ 여기. 해당글과 CrossPlatform 관련글 모두 참고했다.

아직도 햇갈리는 부분은 SteamVR Input과 XR Interaction Toolkit Input중 어떤것을 사용하는가이다. 추후 두개를 상황에 따라 맞춰 쓰며 어떤것을 쓸지 확인해보도록 하겠다.

profile
한줄로는 어렵다

0개의 댓글