как изменить вид камеры в точке в XNA - PullRequest
0 голосов
/ 11 февраля 2012

Я хочу сделать гоночную игру, машина едет, но мне нужна камера, чтобы следить за ней, у меня есть матрица creataLookAt с именем view. я попытался добавить к положению Z камеры и взгляду на точку: (скорость автомобиля) * (- 1), когда машина едет, но она работает только в том случае, если машина едет вперед, потому что, когда машина поворачивает, камера все еще движется вперед. Я хотел повернуть камеру по оси Y, когда машина поворачивается влево или вправо, и здесь я застрял.

Может кто-нибудь сказать мне, как камера может следить за автомобилем?

Ответы [ 2 ]

2 голосов
/ 11 февраля 2012

У вас есть матрица, которая представляет ориентацию автомобиля.Положение камеры основывается на этой автомобильной матрице, например:

CameraPosition = carPosition + (carMatrix.Backward * trailingDistance);
cameraTarget = carPosition;

view = Matrix.Createlookat(cameraPosition, cameraTarget, Vector3.Up);

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

0 голосов
/ 11 февраля 2012

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

...