传统上,在3D投影中,Y轴是代表“上下”的轴。在我使用其他引擎的时候,我习惯把Z轴看作是那个轴。我想知道在Three.JS中是否有一种方法可以使Z轴成为“上/下”轴。如果有,是否会有任何影响?
这是我想要的图示:
传统上,在3D投影中,Y轴是代表“上下”的轴。在我使用其他引擎的时候,我习惯把Z轴看作是那个轴。我想知道在Three.JS中是否有一种方法可以使Z轴成为“上/下”轴。如果有,是否会有任何影响?
这是我想要的图示:
你可以只更改相机而不是整个坐标系。例如:
var WIDTH = 1024;
var HEIGHT = 768;
var VIEW_ANGLE = 45;
var ASPECT = WIDTH / HEIGHT;
var NEAR = 0.1;
var FAR = 10000;
camera = new THREE.PerspectiveCamera(VIEW_ANGLE, ASPECT, NEAR, FAR);
camera.position.z = 300;
camera.up = new THREE.Vector3( 0, 0, 1 );
scene.add(camera);
这将更改相机使用Z-UP的up
向量。
编辑:
为了举例说明,这里有一个略微修改后调用了lookAt
函数来设置up
向量的 jsfiddle 示例: http://jsfiddle.net/NycWc/1/
lookAt
等方法吗? - Alex TurpinTHREE.Object3D.DefaultUp
回答。 - MacKTHREE.Object3D.DefaultUp.set(0, 0, 1);
根据文档:我遇到了一个对象的问题。这是我修复它的方法。
object.rotation.z = 90 * Math.PI/180;
object.rotation.x = -90 * Math.PI/180;
这个操作可以按照您的要求改变它的方向。
xyz坐标系应始终按照右手定则设置。自己创建约定并不是一个好主意,会导致很多混乱。您可以随意旋转坐标系,但不要改变轴的方向。如果您真的想要显示所做的事情,可以创建一个x,y,-z坐标系。