小编laf*_*fan的帖子

将相机重新定位到物体并lookAt()(反应三纤维)

我试图在单个随机放置的对象的“缩小”和“放大”视图之间平滑camera.position过渡。camera.lookAt

定位效果很好。然而, LerpinglookAt()似乎并不能很好地与传统 ThreeJS 的其他解决方案配合使用(请参阅此处@bovesan 的答案),也没有通过 React-Three-Fiber 文档(链接)上的相关示例来解决。

放大超过 z 轴会翻转相机,并且在角落处会严重扭曲。

您可以在这里看到我的进度: https: //codesandbox.io/s/ Three-Fiber-zoom-to-object-rlme0?file=/src/App.js

相关代码位于App.js第 63 行:

 useFrame((state) => {
    const step = 0.05;

    // `focus` is a state variable that sends a Vec3 of the objects position
    zoom ? vec.set(focus.x, focus.y, focus.z + 0.2) : vec.set(0, 0, 5);

    // HERE, looking for a way to lerp camera lookAt in a way that can toggle.
    state.camera.lookAt(0, 0, 0);
    state.camera.position.lerp(vec, …
Run Code Online (Sandbox Code Playgroud)

javascript 3d three.js reactjs react-three-fiber

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

3d ×1

javascript ×1

react-three-fiber ×1

reactjs ×1

three.js ×1