Как лучше всего вращаться вокруг такого объекта, как Exhibit, в приложении Google Cardboard?

Я хочу вращаться вокруг определенной точки в зависимости от движения головы пользователя. Функциональность такая же, как в демо-версии «Exhibit» в приложении Google Cardboard.


person Droidkie    schedule 02.10.2015    source источник


Ответы (2)


Я новичок в Cardboard и Unity, но именно так я модифицировал пример поиска сокровищ от Google. для Unity 5.2.1 и Cardboard SDK 0.5.2:

  • В средстве просмотра иерархии Unity я выбрал файл Head. В Инспекторе найдите скрипт Cardboard Head и установите для свойства Target значение Cube (Transform).
  • Отредактируйте сценарий CardboardHead.cs. В методе UpdateHead() существующий код изменяет вращение головы в зависимости от ориентации картона. Я изменил код, чтобы применить вращение к целевому объекту следующим образом:
if (trackRotation) {
  var rot = Cardboard.SDK.HeadPose.Orientation;
  if (target == null) {
    transform.localRotation = rot;
  } else {
    //transform.rotation = target.rotation * rot;
    target.transform.localRotation = rot;
  }
}
person gnuf    schedule 15.10.2015

Это очень просто, если вы используете префаб CardboardMain. В Инспекторе для основной камеры просто переместите его положение Transform назад по оси Z. Теперь он будет вращаться вокруг точки, где находится головной родитель, как в демонстрации Exhibit.

person smd    schedule 17.10.2015