Я хочу повернуть камеру на оси z (вверх ногами), но белая капсула всегда должна находиться в центре камеры (см. Рисунок).Вращение вокруг центральной точки в Unity C#
Заранее спасибо!
Я хочу повернуть камеру на оси z (вверх ногами), но белая капсула всегда должна находиться в центре камеры (см. Рисунок).Вращение вокруг центральной точки в Unity C#
Заранее спасибо!
Самый простой способ сделать это, если вы не знакомы с тригонометрией, - это использовать метод LookAt. http://docs.unity3d.com/ScriptReference/Transform.LookAt.html
Установите положение камеры туда, где вы хотите, а затем используйте LookAt для поворота преобразования камеры.
LootAt - один из вариантов, но вы также можете использовать Transform.RotateAround(). В вашем случае, это было бы что-то вроде:
Camera.main.transform.RotateAround(cubeTransform.position, Vector3.forward, angle);
Это означает, что куб Преобразуем будет вращаться вокруг положения капсулы с помощью оси Z (вперед) с помощью angle
угла. Убедитесь, что ваша камера уже установлена, чтобы посмотреть на капсулу, а передняя ось камеры точно равна оси z.
Если передняя ось камеры не является осью z, вы можете использовать Camera.main.position - capsuleTransform.main.position
вместо Vector3.forward
в качестве вашей оси.
Когда я использую функцию lookat, мое вращение зависает по какой-то причине – Jeroen
Вам нужно будет установить правильный вектор «Вверх» в методе LookAt. «Вверх» должен быть перпендикулярен вектору от камеры к капсуле. – LVBen