为了账号安全,请及时绑定邮箱和手机立即绑定

前端迈进3D时代-three.js高阶(3D图片预览)

标签:
Html5 JavaScript

前言

前面通过一篇简单的文章,讲述了three.js是干什么的,有哪些主要的对象,今天我们来学习一下更深层次的知识。下面是上一期文章。
《前端迈进3D时代-Three.js初识》

前端迈进3D时代-three.js高阶(3D图片预览)

核心代码

材质中使用纹理,这里的纹理就是图片,添加到场景中

THREE.ImageUtils.loadTexture(url, {}, function(){}

控制器

controls = new THREE.OrbitControls(camera, renderer.domElement)

控制器参数

//鼠标控制是否可用
controls.enabled = true;

//聚焦坐标
controls.target = new THREE.Vector3();

//最大最小相机移动距离(景深相机)
controls.minDistance = 0;
controls.maxDistance = Infinity;

//最大最小鼠标缩放大小(正交相机)
controls.minZoom = 0;
controls.maxZoom = Infinity;

//最大仰视角和俯视角
controls.minPolarAngle = 0; 
controls.maxPolarAngle = Math.PI;

//水平方向视角限制
controls.minAzimuthAngle = - Infinity;
controls.maxAzimuthAngle = Infinity;

//惯性滑动,滑动大小默认0.25
controls.enableDamping = false;
controls.dampingFactor = 0.25;

//滚轮是否可控制zoom,zoom速度默认1
controls.enableZoom = true;
controls.zoomSpeed = 1.0;

//是否可旋转,旋转速度
controls.enableRotate = true;
controls.rotateSpeed = 1.0;

//是否可平移,默认移动速度为7px
controls.enablePan = true;
controls.keyPanSpeed = 7.0;

//是否自动旋转,自动旋转速度。默认每秒30圈
controls.autoRotate = false;
controls.autoRotateSpeed = 2.0;

//是否能使用键盘
controls.enableKeys = true;

//默认键盘控制上下左右的键
controls.keys = { 
 LEFT: 37, 
 UP: 38, 
 RIGHT: 39, 
 BOTTOM: 40 
};

//鼠标点击按钮
controls.mouseButtons = { 
 ORBIT: THREE.MOUSE.LEFT,
 ZOOM: THREE.MOUSE.MIDDLE, 
 PAN: THREE.MOUSE.RIGHT
};

演示程序:演示代码

公告

以后每月5、15、25号更新原创文章,内容不限,喜欢小编的可以点击关注,也可在下方评论留言,你喜欢什么内容,小编根据大家喜欢的内容尝试更新

点击查看更多内容
2人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
1.5万
获赞与收藏
5278

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消