抱歉,如果这篇文章的格式不正确,这是我的第一篇。
我目前正在尝试让CameraHelper沿着BezierCurve移动,相机移动正常,并且相机助手似乎移动良好,但是当从辅助“调试”相机查看场景时,该助手不是“ t“移动”。
当我切换到普通摄像机并返回时,调试凸轮上的辅助位置确实会更新,而在整个运动过程中从调试凸轮上查看时,辅助位置不会更新。
我已在渲染循环中包含了cameraHelper.update()
if (this.animationView) {
this._effectComposer.render();
} else {
this._renderer.render(this._scene, this._debugCamera);
}
this._cameraHelper.update();
任何帮助将不胜感激,我敢肯定它很小
答案 0 :(得分:0)
确保您的 cameraHelper 相机 (_debugCamera) 已添加到场景中。我注意到 cameraHelper 会渲染一次,但它不会更新,除非它被添加到场景中,即使你调用 update()。
答案 1 :(得分:-1)
使用“ CameraHelper”的前提是至少使用两个摄像头,以便“ CameraHelper”将完全显示在屏幕上。
‘CameraHelper’使用再生的设定是至少使用两个相机,例如‘CameraHelper’将完整的出现在屏幕内部。
// 屏幕相机
let camera = new THREE.PerspectiveCamera(45, 1, 0.01, 300)
camera.position.set(-1, 1.2, 1.5)
camera.lookAt(0, 0, 0)
// 带相机助手的相机
const camera1 = new THREE.PerspectiveCamera(45, 1, 0.01, 3)
camera1.position.set(-1, 1.2, 1.5)
camera.lookAt(0, 0, 0)
let cameraHelper = new THREE.CameraHelper(camera1)
scene.add(cameraHelper)
// 需要每帧更新旋转矩阵
stage.onUpdate(() => {
cameraHelper.update()
camera1.updateMatrix()
camera1.lookAt(0, 0, 0)
})