Unity Oculus - вращение пустого родителя на персонаже вращается по странной оси, когда игрок не стоит в начале координат - PullRequest
0 голосов
/ 29 января 2019

Извините, я знаю, что название действительно сбивает с толку.

Обычно камера и стрелки находятся под пустым объектом.Этот пустой объект затем используется для поворота персонажа и телепортации персонажа.Дело в том, что камера может свободно перемещаться по пустому предмету вокруг него.Делая вращение, кажется, что вы бежите по кругу, а не просто вращаетесь.Затем, когда вы телепортируетесь, это немного смещается.Например, если вы стреляете телепортирующим лучом прямо вниз, вы двигаетесь, потому что он телепортирует пустой объект в камеру, которая перемещает камеру.

Так что, если гарнитура и камера не совсем на вершине пустого объекта, все становится шатким.Я понимаю, что проблема просто не может найти решение.

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

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 30 января 2019

Есть несколько способов подойти к этому.Грубым и не очень элегантным решением было бы привязать родительский элемент вашей камеры к еще одному объекту, созданному во время выполнения, который мог бы принять положение фактической камеры игрока, когда начнется вращение.Вы можете динамически перерисовывать объекты, чтобы вы могли вращать этот вновь созданный объект, который даст вам желаемый эффект, а затем потерять верхний родительский элемент, когда вращение прекратится.

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

...