2016-01-13 7 views
0

Я использую THREE.js для игры VR, и я хотел бы заблокировать вращение камеры по оси Y между двумя углами. Я не хочу, чтобы пользователь видел позади них, но вместо этого смотрел влево и вправо. Я не знаю, как работает система координат для камеры, но вот картина того, что я хочу.«Замок» Вращение камеры в интервале

enter image description here

Я использую threeVR, который не имеет максимальное и минимальное настройки таким образом, я прибегая к ручной блокировки вращения моей камеры в update функции моей программы, но я не знаю, как.

+0

В апи threeVR есть rotatestart, rotateend события - могли бы установить минимальные и максимальные значения на rotatestart – Neil

+0

@Neil какой API, THREE.PerspectiveCamera? Спасибо – Carpetfizz

+0

Думаю, вам, возможно, понадобится копаться в библиотеке. Глядя на код, он обновляет ориентацию устройства xyz, поэтому я лично лично посмотрю на добавление функции в библиотеку, чтобы сделать ограничения и выдать запрос на перенос, если вам это нравится. – Neil

ответ

0

Можете ли вы не просто заблокировать угол с помощью min/max в петле обновления?

camera.rotation.y = Math.max(startAngle, Math.min(endAngle, camera.rotation.y)); 
+0

В библиотеке можно прочитать акселерометр устройства. Нужно было бы тестировать это, чтобы увидеть, прыгает ли он. – Neil

+0

Спасибо за предложение, но это не делает того, что ожидается. Камера имеет вид искажений в разных направлениях, когда она достигает предела. – Carpetfizz

Смежные вопросы