three.js中文文档

Three.js Examples
在vue-cli3中使用three.js的OBJLoader和MTLLoader来加载三维模型文件.obj和.mtl
注意:需要threeJs load的模型,只能放在静态资源目录下。

    1. 新建vue-cli3项目。
    1. 引入three.js:cnpm i three --save-dev (最好用cnpm,npm下载的包版本过低)
/*** 创建渲染器对象
*/this.renderer = new THREE.WebGLRenderer({antialias: true // 抗锯齿})// 参数:相机的开角,成像的比例,1 相机能拍摄到的最近距离,10000是相机能拍到的最远距离
const width = this.container.clientWidth // 窗口宽度
const height = this.container.clientHeight // 窗口高度
const k = width / height // 窗口宽高比 2
this.camera = new THREE.PerspectiveCamera(45, k, 1, 100000) // 透视摄像机
// up是头顶的方向,position 是相机的位置,lookAt 相机指向的焦点
  • 材质类型
    MeshBasicMaterial:基础网格材质,不受光照影响的材质
    MeshLambertMaterial:Lambert网格材质,与光照有反应,漫反射
    MeshPhongMaterial: 高光Phong材质,与光照有反应
    MeshStandardMaterial:PBR物理材质,相比较高光Phong材质可以更好的模拟金属、玻璃等效果
    1. 引入three中的OrbitControls控制器
// 安装依赖
npm install three-orbitcontrols
// 页面引入
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls'
    1. 引入ThreeBSP (用于组合多个几何体),threeJs挖洞教程
安装依赖:cnpm install tthreebsp
// 页面使用:
import * as THREE from 'three'
const ThreeBSP = require('tthreebsp')(THREE)
intersect(交集)
union(并集)
subtract(差集)
    1. 引入动画插件tween
npm install --save @tweenjs/tween.js

文档阅读笔记:

  • 纹理(Textures)
    如果更改了图像,画布,视频和数据纹理,则需要设置以下标志:
texture.needsUpdate = true;

渲染对象就会自动更新。

  • 废置对象——dispose()

  • 旋转——绕向量
    网格模型绕(0,1,0)向量表示的轴旋转π/8

var axis = new THREE.Vector3(0,1,0);//向量axis
mesh.rotateOnAxis(axis,Math.PI/8);//绕axis轴旋转π/8

vue修饰符:

.capture // 采用事件捕获的方式触发事件

vue+three.js开发相关推荐

  1. Vue.config.js开发环境与生产环境配置

    Vue.config.js开发环境与生产环境配置 首先在项目根目录创建 .env.development 开发环境 .env.production 生产环境 VUE_APP_SERVICE_URL V ...

  2. 基于 Laravel、Vue.js开发的全新社交系统----ThinkSNS+

    2019独角兽企业重金招聘Python工程师标准>>> ThinkSNS(简称TS)始于2008年,一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方 ...

  3. 【vue.js开发】如何在vue里面优雅的解决跨域,路由冲突问题

    [vue.js开发]如何在vue里面优雅的解决跨域,路由冲突问题 当我们在路由里面配置成以下代理可以解决跨域问题 proxyTable: {'/goods/*': {target: 'http://l ...

  4. mpvue 微信小程序_使用Vue.js开发微信小程序:开源框架mpvue解析

    戳蓝字"CSDN云计算"关注我们哦! 作者 | 成全 责编 | 阿秃 转自 | 美团技术团队企业博客 前言 mpvue是一款使用Vue.js开发微信小程序的前端框架.使用此框架,开 ...

  5. js时间选择器_Vuestic Admin一款免费与美妙基于Vue.js开发的管理模板

    Vuestic Admin 简介 vuestic admin是一款流行,免费与美妙的基于Vue.js开发出来的管理模板,包括38以上个定制用户界面组件,由Epicmax开发,由Vasili Savit ...

  6. 用Vue.js开发微信小程序:开源框架mpvue解析

    前言 mpvue 是一款使用 Vue.js 开发微信小程序的前端框架.使用此框架,开发者将得到完整的 Vue.js 开发体验,同时为 H5 和小程序提供了代码复用的能力.如果想将 H5 项目改造为小程 ...

  7. 详细记录基于vue+nodejs+mongodb构建的商城学习(四)基于项目的node.js开发后端的学习与梳理总结...

    前置: 本系列文章是一个本人边学习边梳理的学习笔记,俗话说好脑袋不如烂笔头,再好的记忆力时间长了也会有细节忘记,本项目选择的前端框架是vue,后端开发使用是node.js,数据库使用的是mongodb ...

  8. Vue CLI 3.0 正式发布,Vue.js 开发标准化工具

    Vue CLI 3.0 已发布,该版本经历了重构,旨在: 减少现代前端工具的配置烦扰,尤其是在将多个工具混合在一起使用时: 尽可能在工具链中加入最佳实践,让它成为任意 Vue 应用程序的默认实践. V ...

  9. 基于node.js开发环境下创建及开发vue.js项目的环境配置骤

    基于node.js开发环境下创建开发vue.js项目的环境配置骤如下: 步骤一:安装node.js,安装完后运行node -v命令检安装node的查版本,判断是否安装成功.Npm是node.js包管理 ...

最新文章

  1. Scala 中的函数式编程基础
  2. Oracle 查询库中所有表名、字段名、字段名说明,查询表的数据条数、表名、中文表名...
  3. sql 日期和当前日期时间差_详解PostgreSQL 如何获取当前日期时间
  4. 程序员面试金典 - 面试题 02.04. 分割链表
  5. 【转】android Notification 的使用
  6. cordova指定版本_Cordova/Ionic构建android Gradle错误:支持的最小Gradle版本是2.14.1。当前版本是2.13...
  7. 此变量非彼变量(python变量)
  8. c语言函数与宏定义的应用,C语言第3次实_函数与宏定义的应用.doc
  9. 局域网连接外网时,二级路由器设置
  10. 后端优化 | VINS-Mono 论文公式推导与代码解析分讲
  11. 外贸收汇方式你都真的清楚了吗?外贸B2B收款结汇方法详解!
  12. windows cmd 中无法粘贴内容
  13. 信息安全导论 实验四 RSA算法(不要求支持大数)
  14. 利用PPT的平滑变换功能以及Onekey插件做变形金刚变身的过程
  15. java动态规划货车运输,题解 P1967 【货车运输】
  16. 做人做事需牢记20条原则
  17. kicad最小布线宽度默认是多少_PCB布线设计,提高有一套完整的方法
  18. MFC加载图标,位图。LoadImage LoadIcon, LoadBitmap
  19. 阿里云VOD 视频点播(二)、VUE视频上传,视频播放
  20. 【P02】OP并联缓冲器

热门文章

  1. content-providers
  2. MVC3 Razor 语法检查 -(转)
  3. HDU2043 密码【密码】
  4. 常用编程软件站点、镜像站、科技类 PDF
  5. 重温微积分 —— 偏微分与链式法则
  6. C++11 —— 基于区间(range)的 for 循环
  7. 生活中的数学 —— 操场几何学
  8. Python 标准库 —— os 路径(os.path)
  9. C++ 标准库 —— random
  10. Python 进阶 —— defaultdict