19three.js相机控制器

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 函数在使用了相机控制器平移功能之后会有影响,互相干扰。建议不用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 球球是一只流浪狗,后来被宠物收容所收入,没人知道这毛茸茸的晃着脑袋的狗狗为什么会被人遗弃,直到有一天,有一个收养...
    油炸橘子皮阅读 4,666评论 6 7
  • 初中的时候遇到过两次别人将我心里的故事讲给了别人,而且两次都是同一人。 她叫Z,是我初中时同一个寝室...
    N撒浪嘿哟阅读 3,196评论 0 0
  • 接龙客栈专题投稿【接龙客栈】之摆渡灵魂【摆渡灵魂】酒吧开业招募令 星辰变换,日月轮回。 接龙栈地不可寻,红尘俗世不...
    清风自来阅读 3,526评论 28 13
  • 这是一个讨论已久的话题,小朋友不反抗被打死的都有,可惜高老师的一方获胜了,很不开心。 我是主张打回去的,为什么打你...
    满满张旭阅读 1,306评论 0 1