Вид от третьего лица
Последние пару дней я пытался сделать камеру от третьего лица в 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();
Насчет вращения я не очень уверен, я не пробовал. Вот статья, которая должна помочь.