Javascript 三个Js中的自定义相机/对象轴?(第一人称)

Javascript 三个Js中的自定义相机/对象轴?(第一人称),javascript,rotation,three.js,axis,Javascript,Rotation,Three.js,Axis,我有一个可能是初学者的问题,关于3J中的相机旋转,我开始做第一人称游戏,但是相机控制有一个小问题:如果我上下看,它们似乎工作得很好,但是如果我走到我的对象的一侧并使用它们,那么对象(立方体)在我的屏幕中心做一个圆圈 我的代码分类: 指针锁定告诉我鼠标何时移动,我使用它进行来回移动: camera.rotation.y += movementX; 这很好,因为y轴始终是向上和向下的,但对侧对侧不起作用: camera.rotation.x += movementY; 就像我说的

我有一个可能是初学者的问题,关于3J中的相机旋转,我开始做第一人称游戏,但是相机控制有一个小问题:如果我上下看,它们似乎工作得很好,但是如果我走到我的对象的一侧并使用它们,那么对象(立方体)在我的屏幕中心做一个圆圈

我的代码分类:

指针锁定告诉我鼠标何时移动,我使用它进行来回移动:

    camera.rotation.y += movementX;
这很好,因为y轴始终是向上和向下的,但对侧对侧不起作用:

    camera.rotation.x += movementY;
就像我说的,如果我不从起始位置移动,那么它工作得很好,否则就会搞砸

我基本上是在寻找这样的东西: 照相机。旋转(一个数字)

与translateX()类似,它使用局部对象轴,而不是与世界轴平行

我知道第一人称控件,但我不想使用它们,我更喜欢更长但更容易理解的代码(如果可能/必要)


抱歉,问题太长:)

camera.rotateX(角度)
摄像机旋转(角度)