Математика за камерой от третьего лица

1

Я пробовал уже довольно давно, и я не могу найти ничего о камерах третьего лица. Я просто хочу сделать простую камеру третьего лица, но мне становится сложно, потому что я нахожусь в 3d. Пока я могу сделать камеру на 1 самолете, но после этого ее испортили. Я использую libgdx с ModelInstances, если кто-то знает libgdx.

Мне не нужно, чтобы вы передавали мне код для этого, мне просто нужна помощь в том, как написать это с информацией, которую я имею. Я знаю скорость в xy и z, вращение в xyz объекта и его положение в xy z. Я могу заставить камеру смотреть на объект, поэтому все, что мне нужно сделать, это расположить его позади и над ним независимо от ориентации на объект. Любые ссылки или объяснения приветствуются :)


Решение:
Xoppa опубликовала в комментариях ссылку на его chaseCam, которая расширяет перспективную камеру, и это потрясающе. Поскольку это был не ответ, я мог отметить его как принятый, но он сделал то, что мне было нужно. Heres ссылка chaseCamera.java Все кредиты Xoppa для ответа, просто чтобы было легче найти.

  • 0
    Не уверен, что вы пытаетесь сделать, делая камеру от третьего лица. Вы пытаетесь создать изображение, основанное на положении, взгляде и ориентации камеры?
  • 0
    Я нахожусь в трехмерном мире, пытаясь расположить камеру позади моего объекта игрока, я не могу заставить камеру следовать за объектом
Показать ещё 8 комментариев
Теги:
camera
libgdx
3d

1 ответ

1
Лучший ответ

Я бы сделал на каждом кадре после обновления позиции игрока:

camera.up.set(0,1,0); //Not sure if this is necessary. 
                      //Making sure up is always up after 
                      //last frame lookAt() call.
camera.postion.set(player.position)
    .add(-UNITS_BACK, UNITS_UP, 0)
    .rotate(Vector3.UP, player.angle);
camera.lookAt(player.position);
camera.update();

где player.angle - количество градусов против часовой стрелки, игрок player.angle к оси X.

Это простая отправная точка. Вероятно, вы захотите сгладить движение, ограничив скорость, с которой камера может двигаться, или давая ей интерполированное движение второго порядка в это целевое положение и направление.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню