【发布时间】:2013-08-14 13:18:25
【问题描述】:
想知道是否有可能获得指针锁定控件中偏航对象的朝向并将其用作光线投射器的方向。我一直在玩弄代码,试图在其中添加一些基本的射击游戏内容。我一直在尝试使用指针控件提供的偏航对象中的 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)来获得指向物体正在看的方向的光线。 -
我确实试了一下,但没有成功:(
-
您的问题是“我如何在使用
PointerLockControls时获得相机的方向?”。 -
好的。改变你的问题和标题,我会给你答案。 :-)
标签: javascript math three.js