Итак, я начал проект, используя three js
. Мне кое-как удалось добавить движение от первого лица, но, честно говоря, я не понимаю математики, лежащей в основе кода, поэтому кто-то здесь может найти время, чтобы объяснить это, плз
if( code == '8')
{
camera.position.x -= Math.sin(camera.rotation.y) * player.speed;
camera.position.z -= -Math.cos(camera.rotation.y) * player.speed;
}
else if (code == '2' )
{
camera.position.x += Math.sin(camera.rotation.y) * player.speed;
camera.position.z += -Math.cos(camera.rotation.y) * player.speed;
}
else if (code == '4' )
{
camera.position.x += Math.sin(camera.rotation.y + Math.PI/2) * player.speed;
camera.position.z += -Math.cos(camera.rotation.y + Math.PI/2) * player.speed;
}
else if (code == '6' )
{
camera.position.x += Math.sin(camera.rotation.y - Math.PI/2) * player.speed;
camera.position.z0 += -Math.cos(camera.rotation.y - Math.PI/2) * player.speed;
}
else if (code == '7' )
{
camera.rotation.y -= player.turnSpeed;
}
else if (code == '9' )
{
camera.rotation.y += player.turnSpeed;
}