Вид от третьего лица

Последние пару дней я пытался сделать камеру от третьего лица в libgdx и не могу понять, как это сделать. Я пробовал использовать функцию rotateAround в PerspectiveCamera, но когда я перемещаю камеру так, чтобы она была позади модели, которой, как предполагается, следует следовать, вращение нарушается. Я в недоумении, что попробовать сейчас. Я хочу, чтобы камера была установлена ​​назад и чуть выше модели и следовала за ней. Если бы кто-то мог указать мне правильное направление, я был бы очень признателен.

1 ответ

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

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

В цикле рендеринга вы хотите что-то вроде этого:

обратите внимание, что в этом примере игрок - это вектор 3, а камера - перспективная камера

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

cam.lookAt(player.x, 0, player.z);

Здесь мы устанавливаем местоположение камеры, чтобы мы могли видеть, что она всегда будет плавать позади и над персонажем

cam.position.set(player.x, 10f, player.y-20f)

Это обновляет камеру, чтобы применить все ваши преобразования

cam.update();

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

Другие вопросы по тегам