vue+three.js开发

本文档介绍了如何在vue-cli3项目中结合three.js加载.obj和.mtl模型文件,强调了模型文件需放置在静态资源目录下。详细讲解了three.js中的各种网格材质类型,如MeshBasicMaterial、MeshLambertMaterial、MeshPhongMaterial和MeshStandardMaterial,并提到了OrbitControls控制器的引入。此外,还提及了ThreeBSP库用于几何体组合和动画插件tween.js的应用。同时,文章还分享了关于纹理处理和vue修饰符的使用心得。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 相机指向的焦点

// 安装依赖
npm install three-orbitcontrols
// 页面引入
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls'

安装依赖: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 // 采用事件捕获的方式触发事件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值