一、
在上一篇文章里,我简单介绍了一个项目的创建及模型加载过程。本篇文章我主要是介绍模型加载后的一些常规操作。我们在进入三维场景的时候,一般都会对场景或场景中的对象进行一些操作,例如缩放、旋转、平移等。这里我们的操作一搬都是操作相机来完成这些动作,话不多说,进入主题。
二、
各位还记得之前我们引入的相机控制器OrbdiyicitControls,我们一切场景和关于模型的视觉操作都是通过这控制器来完成的。我们还在上一个基础上继续改造.
2.1
controls=new THREE.OrbitControls(camera, renderer.domElement);//相机控制器 还记得这个吧
下面我们就介绍一些 controls有哪些可控参数
controls.autoRotate =true;// Boolean 值 这个是可以让相机发生自转 有了自转 就会关联下一个 自转速度 这两个是同时使用的
controls.autoRotateSpeed=0.5;//float 相机发生自传速度 也只有autoRotate为true时才有意义
controls.enablePan =true;// Boolean 值 这个参数是决定我们是否可以在场景平移对象(因为我们平移的是相机所以是相对平移)
controls.keyPanSpeed =6;// Float 既然可以平移 就有对应的平移速度 当前参数只有在enablePan=true时才有意义
controls.enableZoom =true;//Boolean 值 是否启用相机缩放功能 就是所谓的放大缩小功能
controls.zoomSpeed =1;// Float 控制缩放速度的哟
controls.enableRotate=true;//Boolean 是否启用相机旋转功能 这个和autoRotate 是不一样的 一个是自传 一个是鼠标控制自由旋转
对于相机的基本操作我只介绍这些,如果您想了解更多可以去threejs 官网api里去查看OrbitControls的所有属性
对于上面相机这些参数 如果您想让它有效,单纯给它设置时不够的,还记得上一篇的我写的刷新场景的方法吗:
function onUpdate() {
requestAnimationFrame( onUpdate );
renderer.render( scene, camera );
controls.update();// 想让相机控制器有效 这个就需要实时更新控制器。必须在摄像机的变换发生任何手动改变后调用
}
好了 今天就先介绍到这 后面时间充足的话 会持续更新三维UI、二维UI已经模型方面的知识
网友评论