three.js实现3D视野缩放效果


Posted in Javascript onNovember 16, 2017

首先,不再废话了,什么是three.js,是干什么的,知道的就是知道,不知道的就百度吧。

小编为大家推荐一篇:Three.js快速入门教程

昨儿发现three.js中的3D视野的缩小和放大效果可以用照相机的远近焦来实现。

three.js实现3D视野缩放效果

缩小后:

three.js实现3D视野缩放效果

这里采用的是透视照相机:

//照相机配置
  var fov = 40;//拍摄距离
  var near = 1;//最小范围
  var far = 1000;//最大范围
  var camera = new THREE.PerspectiveCamera(fov, window.innerWidth / window.innerHeight, near, far);

在这里可以改变fov的值,并更新这个照相机就可以了。

camera.fov = fov;//fov是变量哦 
camera.updateProjectionMatrix();
renderer.render(scene, camera);

另外:咱们都是习惯用鼠标上下滑轮实现放大缩小效果,so看代码

canvas.addEventListener('mousewheel', mousewheel, false);
    //鼠标滑轮
    function mousewheel(e) {
      e.preventDefault();
      //e.stopPropagation();
      if (e.wheelDelta) { //判断浏览器IE,谷歌滑轮事件
        if (e.wheelDelta > 0) { //当滑轮向上滚动时
          fov -= (near < fov ? 1 : 0);
        }
        if (e.wheelDelta < 0) { //当滑轮向下滚动时
          fov += (fov < far ? 1 : 0);
        }
      } else if (e.detail) { //Firefox滑轮事件
        if (e.detail > 0) { //当滑轮向上滚动时
          fov -= 1;
        }
        if (e.detail < 0) { //当滑轮向下滚动时
          fov += 1;
        }
      }
      camera.fov = fov;
      camera.updateProjectionMatrix();
      renderer.render(scene, camera);
      //updateinfo();
    }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
Aug 13 Javascript
document.designMode的功能与使用方法介绍
Nov 22 Javascript
23个超流行的jQuery相册插件整理分享
Apr 25 Javascript
js中hash和ico的关联分析
Feb 05 Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
Dec 21 Javascript
js实现微博发布小功能
Jan 12 Javascript
jquery.form.js异步提交表单详解
Apr 25 jQuery
Bootstrap 表单验证formValidation 实现表单动态验证功能
May 17 Javascript
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
Aug 24 Javascript
微信小程序使用Socket的实例
Sep 19 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
May 07 Javascript
element-ui 本地化使用教程详解
Oct 28 Javascript
three.js中3D视野的缩放实现代码
Nov 16 #Javascript
js的函数的按值传递参数(实例讲解)
Nov 16 #Javascript
React/Redux应用使用Async/Await的方法
Nov 16 #Javascript
详谈DOM简介及节点、属性、查找节点的方法
Nov 16 #Javascript
图片加载完成再执行事件的实例
Nov 16 #Javascript
详解React 在服务端渲染的实现
Nov 16 #Javascript
Angular 5.0 来了! 有这些大变化
Nov 15 #Javascript
You might like
用PHP实现ODBC数据分页显示一例
2006/10/09 PHP
xajax写的留言本
2006/11/25 PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
2016/02/14 PHP
laravel withCount 统计关联数量的方法
2019/10/10 PHP
JavaScript性能陷阱小结(附实例说明)
2010/12/28 Javascript
如何实现移动端浏览器不显示 pc 端的广告
2015/10/15 Javascript
JavaScript的Backbone.js框架的一些使用建议整理
2016/02/14 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
canvas压缩图片转换成base64格式输出文件流
2017/03/09 Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
2017/07/18 Javascript
vue+ESLint 配置保存 自动格式化代码
2020/03/17 Javascript
js+cavans实现图片滑块验证
2020/09/29 Javascript
使用setup.py安装python包和卸载python包的方法
2013/11/27 Python
python实现封装得到virustotal扫描结果
2014/10/05 Python
Python SQLite3数据库日期与时间常见函数用法分析
2017/08/14 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
2017/11/03 Python
python中找出numpy array数组的最值及其索引方法
2018/04/17 Python
python爬虫_实现校园网自动重连脚本的教程
2018/04/22 Python
Python实现的文本对比报告生成工具示例
2018/05/22 Python
pandas 读取各种格式文件的方法
2018/06/22 Python
Django web框架使用url path name详解
2019/04/29 Python
python实现图片插入文字
2019/11/26 Python
如何利用python读取micaps文件详解
2020/10/18 Python
python爬虫scrapy框架之增量式爬虫的示例代码
2021/02/26 Python
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
Fossil加拿大官网:化石手表、手袋、首饰及配饰
2019/04/23 全球购物
销售心得体会
2014/01/02 职场文书
《钱学森》听课反思
2014/03/01 职场文书
农村婚庆司仪主持词
2014/03/15 职场文书
学校党的群众路线教育实践活动对照检查材料
2014/09/24 职场文书
基层党支部承诺书
2015/04/30 职场文书
2019 入党申请书范文
2019/07/10 职场文书
导游词之宁夏贺兰山岩画
2019/11/08 职场文书
Mysql多层子查询示例代码(收藏夹案例)
2022/03/31 MySQL
Python 中面向接口编程
2022/05/20 Python