在模型中,相机绕Z轴水平旋转(THREE.Vector3(0, 0, 1))。垂直旋转时,如何确定旋转矢量? 我想计算旋转后的'newTarget',但总是失败。
var camera = viewer.navigation.getCamera();
var horizontalRadians = (horizontalAngle * Math.PI) / 180;
var verticalRadians = (verticalAngle * Math.PI) / 180;
// Compute the vector from position to target
var direction = new THREE.Vector3().subVectors(camera.target.clone(), camera.position.clone()).normalize();
// vertical
var verticalQuaternion = new THREE.Quaternion().setFromAxisAngle(new THREE.Vector3(x, y, z), verticalRadians);
direction.applyQuaternion(verticalQuaternion);
// horizontal
var horizontalQuaternion = new THREE.Quaternion().setFromAxisAngle(new THREE.Vector3(0, 0, 1), horizontalRadians);
direction.applyQuaternion(horizontalQuaternion);
var newTarget = new THREE.Vector3().addVectors(camera.position.clone(), direction);
console.log(newTarget)
我该如何修改这段代码或者有更好的方法吗?