Название может быть немного запутанным. У меня есть простой проект Vuforia в Unity, где я рендерил несколько блоков поверх QR-кодов. Я хотел бы, чтобы эти блоки (или любая другая 3D-модель) всегда стояли вертикально в мире, независимо от положения цели или (смартфона) камеры, а затем также вращались в постоянном темпе. вокруг этой оси.
То, что я сделал, это передал показания акселерометра устройства через фильтр низких частот, который дает мне вектор, который направлен вдоль гравитации. Затем я нормализую его и умножу на -1, чтобы получить единичный вектор, который всегда указывает вверх. Это делается один раз за кадр.
Когда я сталкиваюсь с проблемой, что делать с этим вектором; до сих пор я пытался просто установить его для transform.up модели в функции Update, что правильно делает модель всегда стоящей, но также предотвращает любой вид поворота, который я пытаюсь дать объекту с помощью transform.Rotate.
Есть ли правильный способ установить ось Y модели, которая все еще будет позволять ей вращаться вокруг указанной оси?