В моей функции animate() у меня есть следующий код:
if (this.controls.forward) {
// move in direction we look at
var cameraDirectionVector = new THREE.Vector3(0, 0, -1);
cameraDirectionVector.applyQuaternion(this.camera.quaternion);
var angle = cameraDirectionVector.angleTo(this.characterMesh.position);
this.characterMesh.translateOnAxis(cameraDirectionVector.cross(this.characterMesh.position), moveDistance);
this.characterMesh.translateZ(-moveDistance);
}
if (this.controls.backward) {
this.characterMesh.translateZ(moveDistance);
}
Камера является дочерним элементом characterMesh. Движение вперед и назад работает отлично. Но я хочу двигаться (на самолете) туда, куда я на самом деле смотрю (просто рыскать). Я нашел пример кода для Unity3D и попытался адаптировать его для three.js, что не сработало.
Любая помощь или подсказки будут очень признательны!