如何在Three.js中更改几何体的初始位置?
问题描述:
我想改变我的几何体出现的初始位置;现在它出现在画布的中心。我希望它出现在左上角。你可以帮我吗?如何在Three.js中更改几何体的初始位置?
scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera(45, window.innerWidth/window.innerHeight, 1, 10000);
camera.position.z = 1000;
下面是完整的代码: Three js example
答
更改使用mesh.position.set(x, y, z)
我用window.innerWidth
和window.innerHeight
到对象移动到屏幕的角落立方体的位置。
这里是一个更新的fiddle与您的盒子在屏幕的左上角。
如果您不喜欢拖动时多维数据集飞行的方式,则不能再使用orbitControls
。为了使立方体旋转静态通常情况下,使用此代码(jQuery的要求):
var isDragging = false;
var previousMousePosition = {
x: 0,
y: 0
};
$(renderer.domElement).on('mousedown', function(e) {
isDragging = true;
})
.on('mousemove', function(e) {
//console.log(e);
var deltaMove = {
x: e.offsetX-previousMousePosition.x,
y: e.offsetY-previousMousePosition.y
};
if(isDragging) {
var deltaRotationQuaternion = new THREE.Quaternion()
.setFromEuler(new THREE.Euler(
toRadians(deltaMove.y * 1),
toRadians(deltaMove.x * 1),
0,
'XYZ'
));
mesh.quaternion.multiplyQuaternions(deltaRotationQuaternion, mesh.quaternion);
}
previousMousePosition = {
x: e.offsetX,
y: e.offsetY
};
});
$(document).on('mouseup', function(e) {
isDragging = false;
});
function toRadians(angle) {
return angle * (Math.PI/180);
}
function toDegrees(angle) {
return angle * (180/Math.PI);
}
源出于此代码:使用你的代码https://jsfiddle.net/MadLittleMods/n6u6asza/