美文网首页WebGLThree.js
19three.js相机控制器

19three.js相机控制器

作者: 狂暴机甲 | 来源:发表于2018-05-04 23:25 被阅读6次
    image.png
    1. 轨迹球控制器 TrackballControls。
      非常常用。
    2. 轨道控制器 Orbit Controls
      这个和轨迹球控制器类似。用的最多,可以设置上下旋转的角度(-90~90)。
    3. 翻滚控制器
    4. 飞行控制器
    5. 第一视角控制器

    写控制器的时候有时候会这样写controls.update(clock.getDelta()),结果场景有多个动画需要更新的时候出现了意想不到的错误。
    正确的方法是:渲染之前定义delta。不能在用的时候再次获取时间。和var width = window.innerWidth不一样,这个在更新的时候也需要更新,不能直接写width,否者不行。

    function render() {
    var delta = clock.getDelta();
    requestAnimationFrame(render);
    controls.update(delta); //要统一定义delta。
    //camera.lookAt(new THREE.Vector3(0,8,0)); // 使用控制器就不能用这个功能
    mixers[ i ].update(delta ); //不能再次获取clock.getDelta()
    renderer.render(scene,camera);
    }

    camera.lookAt 函数在使用了相机控制器平移功能之后会有影响,互相干扰。建议不用。

    相关文章

      网友评论

        本文标题:19three.js相机控制器

        本文链接:https://www.haomeiwen.com/subject/jnnjrftx.html