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 相关文章推荐
基于jquery实现漂亮的动态信息提示效果
Aug 02 Javascript
jQuery 写的简单打字游戏可以提示正确和错误的次数
Jul 01 Javascript
AngularJS入门教程(二):AngularJS模板
Dec 06 Javascript
jquery代码实现简单的随机图片瀑布流效果
Apr 20 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
Sep 25 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
Jan 27 Javascript
Bootstrap轮播图的使用和理解4
Dec 14 Javascript
Vue过滤器的用法和自定义过滤器使用
Feb 08 Javascript
详解VUE 定义全局变量的几种实现方式
Jun 01 Javascript
ES6新增数据结构WeakSet的用法详解
Aug 07 Javascript
vue中appear的用法
Aug 17 Javascript
Vue3.x源码调试的实现方法
Oct 13 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发送HTTP请求的几种方式
2017/07/25 PHP
thinkPHP5.0框架事务处理操作简单示例
2018/09/07 PHP
Web层改进II-用xmlhttp 无声息提交复杂表单
2007/01/22 Javascript
JQuery autocomplete 使用手册
2010/04/01 Javascript
10个实用的脚本代码工具
2010/05/04 Javascript
js下利用控制器载入对应脚本
2010/07/17 Javascript
js获取IP和PcName(IE)在vs中可用
2013/08/02 Javascript
原生JS实现响应式瀑布流布局
2015/04/02 Javascript
js实现带有介绍的Select列表菜单实例
2015/08/18 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
批量下载对路网图片并生成html的实现方法
2016/06/07 Javascript
轻松实现jquery选项卡切换效果
2016/10/10 Javascript
基于jQuery实现的查看全文功能【实用】
2016/12/11 Javascript
原生js仿淘宝网商品放大镜效果
2017/02/28 Javascript
JavaScript和JQuery获取DIV值的方法示例
2017/03/07 Javascript
JavaScript的六种继承方式(推荐)
2017/06/26 Javascript
Nuxt页面级缓存的实现
2020/03/09 Javascript
浅谈对yield的初步理解
2017/05/29 Python
Python中偏函数用法示例
2018/06/07 Python
Tensorflow 合并通道及加载子模型的方法
2018/07/26 Python
djano一对一、多对多、分页实例代码
2019/08/16 Python
django列表筛选功能的实现代码
2020/03/27 Python
python3爬虫GIL修改多线程实例讲解
2020/11/24 Python
html5 canvas 使用示例
2010/10/22 HTML / CSS
从零实现一个自定义html5播放器的示例代码
2017/08/01 HTML / CSS
金讯Java笔试题目
2013/06/18 面试题
餐饮主管岗位职责
2013/12/10 职场文书
对标管理实施方案
2014/03/12 职场文书
学雷锋月活动总结
2014/04/25 职场文书
植树造林的宣传标语
2014/06/23 职场文书
公安机关纪律作风整顿剖析
2014/10/10 职场文书
怀孕辞职信怎么写
2015/02/28 职场文书
Python自动化爬取天眼查数据的实现
2021/06/15 Python
Python数据处理的三个实用技巧分享
2022/04/01 Python
Python爬虫网络请求之代理服务器和动态Cookies
2022/04/12 Python
关于的python五子棋的算法
2022/05/02 Python