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 相关文章推荐
服务器安全设置的几个注册表设置
Jul 28 Javascript
跨域请求之jQuery的ajax jsonp的使用解惑
Oct 09 Javascript
可自己添加html的伪弹出框实现代码
Sep 08 Javascript
JavaScript获取路径设计源码
May 22 Javascript
js匿名函数的调用示例(形式多种多样)
Aug 20 Javascript
xmlplus组件设计系列之列表(4)
Apr 26 Javascript
jquery实现限制textarea输入字数的方法
Sep 06 jQuery
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
May 07 Javascript
前后端如何实现登录token拦截校验详解
Sep 03 Javascript
vue-form表单验证是否为空值的实例详解
Oct 29 Javascript
Vue路由切换页面不更新问题解决方案
Jul 10 Javascript
Openlayers显示地理位置坐标的方法
Sep 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 正则 过滤html 的超链接
2009/06/02 PHP
PHP分多步骤填写发布信息的简单方法实例代码
2012/09/23 PHP
php读取csv实现csv文件下载功能
2013/12/18 PHP
简单的php+mysql聊天室实现方法(附源码)
2016/01/05 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
又一个图片自动缩小的JS代码
2007/03/10 Javascript
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
用JavaScript隐藏控件的方法
2009/09/21 Javascript
javascript DOM编程实例(智播客学习)
2009/11/23 Javascript
js模拟点击以提交表单为例兼容主流浏览器
2013/11/29 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
2016/09/05 Javascript
将JSON字符串转换成Map对象的方法
2016/11/30 Javascript
基于JavaScript实现带缩略图的轮播效果
2017/01/12 Javascript
JavaScript实现的搜索及高亮显示功能示例
2017/08/14 Javascript
代码整洁之道(重构)
2018/10/25 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
2020/05/17 Javascript
[19:24]DOTA2客户端使用指南 一分钟快速设置轻松超神
2013/09/24 DOTA
[43:35]EG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
Win10下Python3.7.3安装教程图解
2019/07/08 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
python 6.7 编写printTable()函数表格打印(完整代码)
2020/03/25 Python
基于Keras中Conv1D和Conv2D的区别说明
2020/06/19 Python
html5实现的便签特效(实战分享)
2013/11/29 HTML / CSS
印度尼西亚综合购物网站:Lazada印尼
2016/09/07 全球购物
贪睡宠物用品:Snoozer Pet Products
2020/02/04 全球购物
幼师岗位求职简历的自荐信格式
2013/09/21 职场文书
挖掘机司机岗位职责
2014/02/12 职场文书
机械系毕业生求职信
2014/05/28 职场文书
服务明星事迹材料
2014/12/29 职场文书
学校隐患排查制度
2015/08/05 职场文书
MySQL 重写查询语句的三种策略
2021/05/10 MySQL
浅谈Redis的几个过期策略
2021/05/27 Redis
linux下安装redis图文详细步骤
2021/12/04 Redis