Md.*_*man 12 javascript 3d graphics three.js webvr
在three.js中,Y轴表示向上和向下,Z轴表示向前和向后.但我希望Z轴上下表示,Y轴前后表示.这是一张显示我想要的图片:
我想改变整个坐标系,如果我围绕y轴旋转网格,它会跟随新的坐标系而不是传统坐标系.
现在,我搜索了堆栈溢出,发现此链接:
有没有什么方法可以让tri.js像Z up坐标系一样工作?
Mar*_*ole 11
上面的答案适用于简单的情况,但是如果您希望例如使用编辑器,则最好在做任何事情之前进行设置
THREE.Object3D.DefaultUp = new THREE.Vector3(0,0,1);
Run Code Online (Sandbox Code Playgroud)
所以任何新对象也将使用这个约定。使用之前的答案,我在编辑器中对控件的所有影响、保存对象等进行了努力...
请注意,如果您使用网格,您仍然需要旋转它,使其覆盖 XY 平面而不是 XZ
var grid = new THREE.GridHelper( 30, 30, 0x444444, 0x888888 );
grid.rotateX(Math.PI / 2);
Run Code Online (Sandbox Code Playgroud)
小智 10
您可以使用设置摄像机的向上矢量
camera.up.set(0,0,1);
Run Code Online (Sandbox Code Playgroud)
然后,它会像你期望的那样工作.