Первое движение человек три js - PullRequest
0 голосов
/ 18 марта 2020

Итак, я начал проект, используя 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;
}
...