我正在使用OrbitControls类,并试图用panFront替换panUp函数。我的目标是沿着z轴移动相机。
我做了以下更改,但似乎不起作用:
var panFront = function() {
var v = new THREE.Vector3();
return function panFront( distance, objectMatrix ) {
v.setFromMatrixColumn( objectMatrix, 2 ); // get Z column of objectMatrix
v.multiplyScalar( distance );
panOffset.add( v );
};
}();
解决方案:
已编辑
将v.y = 0;
设置为仅在xz轴上固定平移。
var panFront = function() {
let v = new THREE.Vector3();
return function panFront( distance, objectMatrix ) {
v.setFromMatrixColumn( objectMatrix, 2 ); // get Z column of objectMatrix
v.y = 0;
v.multiplyScalar( -distance );
panOffset.add( v );
};
}();
我将x和y分量设置为0。