Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设置透视摄影机动画以模拟动态观察控件[three.js]_Three.js_React Three Fiber - Fatal编程技术网

设置透视摄影机动画以模拟动态观察控件[three.js]

设置透视摄影机动画以模拟动态观察控件[three.js],three.js,react-three-fiber,Three.js,React Three Fiber,我正在尝试在单击时设置摄影机动画,以在0,0,0处围绕对象旋转。我用TWEEN试过下面的设置,但相机似乎在移动,而不是旋转。我还尝试使用带有摄影机位置+旋转的AnimationClip,但线性插值会导致摄影机从点A线性移动到点B,而不是在曲线中。有没有办法实现我想要的功能 function createTween(){ var qa = new THREE.Quaternion().copy(camera.quaternion); var

我正在尝试在单击时设置摄影机动画,以在0,0,0处围绕对象旋转。我用TWEEN试过下面的设置,但相机似乎在移动,而不是旋转。我还尝试使用带有摄影机位置+旋转的AnimationClip,但线性插值会导致摄影机从点A线性移动到点B,而不是在曲线中。有没有办法实现我想要的功能

function createTween(){
              var qa = new THREE.Quaternion().copy(camera.quaternion);
              var qb = destinationQuaternion;
              var qm = new THREE.Quaternion();
              let r = new TWEEN.Tween({t: 0})
              .to({t: 1}, 5000)
              .onUpdate((tween) => {
                  THREE.Quaternion.slerp(qa, qb, qm, tween.t);
                  camera.quaternion.set(qm.x, qm.y, qm.z, qm.w);
              })
              .easing(TWEEN.Easing.Quartic.InOut)
              .start();
            }