THREE.js:OrbitControls使用PerspectiveCamera在z轴上平移



我正在使用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。

最新更新