在three.js中,Y轴表示向上和向下,Z轴表示向前和向后。但我希望Z轴上下表示,Y轴前后表示。这是一张显示我想要的图片:
我想改变整个坐标系,如果我围绕y轴旋转网格,它会跟随新的坐标系而不是传统坐标系。
现在,我搜索了堆栈溢出并找到了这个链接:
有什么方法可以让tri.js像Z up坐标系一样工作?
答案 0 :(得分:6)
您可以使用
设置相机的向上矢量camera.up.set(0,0,1);
然后,它会像你期望的那样工作。
答案 1 :(得分:1)
上面的答案在简单的情况下有效,但是例如,如果您希望使用编辑器,则最好在进行任何操作之前进行设置
THREE.Object3D.DefaultUp = new THREE.Vector3(0,0,1);
因此,任何新对象也将使用此约定。 使用上一个答案,我在编辑器中苦苦研究控件周围的所有含义,保存对象等...
请注意,如果使用栅格,则仍必须旋转栅格,以使其覆盖XY平面而不是XZ
var grid = new THREE.GridHelper( 30, 30, 0x444444, 0x888888 );
grid.rotateX(Math.PI / 2);