想知道是否有可能获取指针锁定控制中的偏航对象面对的方向,并将其用作射线投射器的方向。我一直在玩弄代码,试图为其添加一些基本的射手游戏内容。我已经尝试了一些在堆栈溢出上找到的关于从指针控制提供的偏航对象的X和Y值尝试的方法,但没有成功。以下是我目前的代码:
setupTarget: function() {
//var vector = new THREE.Vector3(game.mouse.x, game.mouse.y, 0);
var yaw = game.controls.getObject();
var pitch = game.controls.pitchObject;
var vector = new THREE.Vector3(
yaw.position.x * Math.cos(pitch.rotation.x),
yaw.position.y * Math.sin(yaw.rotation.y),
0
);
var dir = vector.sub(yaw.position).normalize();
this.ray = new THREE.Raycaster(yaw.position.clone(), dir);
}
除了它不起作用之外,我知道这是错误的。我混淆了一些数学,用于基于旋转计算x和y平移,但显然这对目标没有用。
new THREE.Raycaster(this.position, this.rotation)
来获取一个射向物体所望方向的光线。 - IceCreamYouPointerLockControls
时,如何获取相机的朝向?” - WestLangley