2015-11-27 11 views
0

Я работаю над установкой Oculus Rift DK2 с большей зоной отслеживания. Отключение отслеживания позиции не вызывает проблем. Но я не могу отключить гироскоп. Я использую prefab OVRCameraRig. Я попытался отключить функциюКак отключить гироскоп Oculus Rift DK2 в единстве?

UpdateAnchors(); 

в функции Update(). Но ротация все еще обновляется. Я просмотрел все другие скрипты OVR и отключил несколько функций, но обновление roation-gyro все еще работает.

Я нашел решение здесь OVR wiki но я не могу найти функцию setOrientation() ...

Любые идеи? Благодаря!

Редактировать: Unity v5.2.3f1, Oculus Utilities v0.1.2.0, OVRPlugin v0.1.4.0.

ответ

2

Эти два метода предложены on the Oculus forums:

Добавить в конце UpdateAnchors() в OVRCameraRig.cs:

trackingSpace.FromOVRPose(centerEyeAnchor.ToOVRPose().Inverse()); 

Добавить в Awake функции и установить этот скрипт execute first:

OVRPlugin.rotation = false; 

Я пробовал оба в чистом проекте с помощью Oculus Utilities v0.1.2, Unity 5.1.2p3 и Oculus Runtime 0.6. Первый создал эффект стробирования, который был неприемлем, а второй не работал вообще. Возможно, это сработает для вас с более новой версией Unity.

Я также попытался взломать его, переопределив поворот камеры до нуля в Update, LateUpdate и EndOfFrame, но это тоже не сработало. Может быть, порядок событий Unity можно манипулировать, чтобы решить эту проблему.

+0

У меня одинаковые эффекты для обоих решений. С разными версиями Unity. Пока я вернулся к Unity 4.6.9 и 0.6.2 SDK из Oculus. Это не то решение, которое я хочу использовать. Я знаю проблему симуляционной болезни, отключив «headtracking», но я не знаю, как сделать жизнь такой неудобной для разработчиков. (в DK!) Мы используем собственную систему отслеживания, чтобы получить большую зону отслеживания ... – dome12b

+0

Полностью понять прецедент, хотя я уверен, что это не главный приоритет Oculus. Из потока, который я связал, это звучит как его скоро, так что, надеюсь, ваше решение доберет вас до этого момента. –