Поворот обьекта в сторону его движения

114
21 июля 2019, 21:00

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

Например, я нажимаю на "W" обьект должен двигаться по оси x и при этом повернуться ко мне попой, а мордочкой в сторону движения http://joxi.ru/p27REzgTo1BWWm

А если, нажал на "S", то развенуться на 180 градусов и уже на меня смотреть мордочкой.

if (keyBoard[87]) {
    camera.position.x -= Math.PI / 10;
    bulba.position.x -= Math.PI / 10;
}
if (keyBoard[83]) {
    camera.position.x += Math.PI / 10;
    bulba.position.x += Math.PI / 10;
}
if (keyBoard[65]) {
    camera.position.z += Math.PI / 10;
    bulba.position.z += Math.PI / 10;
}
if (keyBoard[68]) {
    camera.position.z -= Math.PI / 10;
    bulba.position.z -= Math.PI / 10;
}

вот таким макаром организовал движение без поворотов в нужную сторону.

Заранее спасибо

Answer 1

Вообщем, решил это таким вот образом, но не уверен, что правильно:

if (keyBoard[87]) {
    camera.position.x -= Math.PI / 10;
    bulba.position.x -= Math.PI / 10;
    bulba.rotation.y = (Math.cos(bulba.position.y) * Math.PI / 2) * -1;
}
if (keyBoard[83]) {
    camera.position.x += Math.PI / 10;
    bulba.position.x += Math.PI / 10;
    bulba.rotation.y = Math.cos(bulba.position.y) * Math.PI / 2;
}
if (keyBoard[65]) {
    camera.position.z += Math.PI / 10;
    bulba.position.z += Math.PI / 10;
    bulba.rotation.y = Math.sin(bulba.position.y);
}
if (keyBoard[68]) {
    camera.position.z -= Math.PI / 10;
    bulba.position.z -= Math.PI / 10;
    bulba.rotation.y = Math.cos(bulba.position.y) * Math.PI;
}
READ ALSO
Как MySQL сохраняет данные?

Как MySQL сохраняет данные?

Вопрос о том как MySQL занимает место на диске, и о правильном выборе типа данных

170
python lastrowid mysql

python lastrowid mysql

Пытаюсь вернуть id, только что обновленной строки, но он возвращает 0

136
Прижать к верхнему краю текст в input

Прижать к верхнему краю текст в input

Создал поле для ввода, но текст в нем начинает печататся с центраКак исправить?

142