我有一个用THREE.js构建的场景,其中一个摄影机(附带"手电筒")在黑暗的空间中充当移动的POV(用户必须避免小仙人掌作为障碍物)
我希望相机围绕其y轴自由旋转,并以有限的方式绕x轴旋转。说明控件的代码段如下;添加了环境光的版本链接在此处:
http://card.gda.itesm.mx/mark/baldridge/cameraquestion.html
在原始相机方向上按预期工作,但围绕y轴的几个单位和x旋转开始表现出明显的z旋转:在某些y旋转值处,期望的x rot显然是全部z腐烂。
是什么给出的?我意识到我误解了一些基本的东西,并欢迎采用新的方法。 此外,我还没有解决的一个问题是在相机方向上的相机移动"一旦我理解了这些问题,我想补充一下。我欢迎包含此功能的答案。
// code example for limiting tilt and righting the camera as y rot occurs
function update()
{
if ( keyboard.pressed("up") )
{
camera.rotation.x += .01;
if (camera.rotation.x > .3 )
{
camera.rotation.x = .3;
}
}
if ( keyboard.pressed("left") )
{
camera.rotation.y += .01;
if (camera.rotation.x > 0)
{
camera.rotation.x -= .01;
}
if (camera.rotation.x < 0)
{
camera.rotation.x += .01;
...
}
}