记录一下在vue中使用threejs遇到的一些问题

1、three对象身上没有OrbitControls

最简单的方法
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls'
其他方案
  • 使用 @three-ts/orbit-controls, ts项目也能正常使用
  • 安装
npm install --save @three-ts/orbit-controls
  • 使用
import * as THREE from 'three';
import { OrbitControls } from '@three-ts/orbit-controls';const camera = new THREE.SomeCamera(...);
const controls = new OrbitControls(camera, renderer.domElement);
// 照常使用即可

也可以直接看npm原文

在此之前也试过其他包, three-orbit-controls, three-orbitcontrols-ts
但是时间都比较久了,我没成功。

还有其他方法https://github.com/mrdoob/three.js/blob/master/examples/js/controls/OrbitControls.js 下载OrbitControls源码然后自己改改,并不复杂(亲测有效)

下载后可以看见,大致内容就是一个立即执行函数, 并向THREE添加了2个对象,该文件没有引入其他文件

  1. 文件用到了THREE, 所以先在文件头引入 THREE
import * as THREE from 'three'
  1. 删除外包立即执行函数(首行,尾行)
  2. 删除(使用ts时不删除会有警告)
1107行  THREE.MapControls = MapControls
1108行 THREE.OrbitControls = OrbitControls
  1. 末尾导出文件中定义的对象,MapControls, OrbitControls
export { MapControls, OrbitControls }

使用:import { OrbitControls } from './OrbitControls.js'

vue中使用threejs的一些问题,THREE上没有OrbitControls相关推荐

  1. vue中slot(插槽)详解,slot、slot-scope和v-slot

    slot是什么 slot,也称插槽,可以类比为插卡式的FC游戏机,游戏机(子组件)暴露卡槽(插槽)让用户插入不同的游戏磁条(自定义内容),游戏机会读取并加载磁条里的游戏 Vue的slot,是组件的一块 ...

  2. vue中{active: isActive} 是什么意思?

    vue中{active: isActive} 是什么意思? 上面的语法表示 active 存在与否将取决于 : 后面的isActive的真值.

  3. threejs在vue中帧数低的问题

    vue会对threeJs的变量进行双向绑定导致渲染效率极大幅度降低,解决方案是是写在外部js文件中,渲染效率大幅度提高. 更好的做法是那threejs写在js文件里导入,vue页面只提供一个canva ...

  4. 在vue中使用three.js

    vue中使用three.js vue 安装: npm install --save three 在要使用的页面中引入three.js import * as Three from 'three' 参考 ...

  5. 高德地图中加载three.js(vue中)(封装

    这几天公司有一个要结合高德地图的智慧园区的项目(大致就是在3d地图中加载自己的three.js模型) 1.首先要引入高德地图 官方文档给出来的引用方法 <template><div ...

  6. canvas java 上传截图_在Vue项目中使用html2canvas生成页面截图并上传

    使用方法 项目中引入 npm install html2canvas html代码 //html代码 js代码 // 引入html2canvas import html2canvas from 'ht ...

  7. 怎么将vue模板转换为html,vue中自定义html文件的模板

    如果默认生成的 HTML 文件不适合需求,可以创建/使用自定义模板. 一是通过 inject 选项,然后传递给定制的 HTML 文件.html-webpack-plugin 将会自动注入所有需要的 C ...

  8. props写法_简单理解vue中Props属性

    本文实例为大家解析了vue中Props的属性,供大家参考,具体内容如下 使用 Props 传递数据 组件实例的作用域是孤立的.这意味着不能并且不应该在子组件的模板内直接引用父组件的数据.可以使用 pr ...

  9. vue ts 设置tslint提示_Typescript 在 Vue 中的实践(包含2.x、3.x)

    1 使用 typescript 的优势 聊到 ts 时有一个不能规避的问题:为什么要使用 ts ,相比 js 有什么优势吗?下面我从两个方面试着回答一下这个问题: 1.1 项目开发时的便利 避免低级 ...

最新文章

  1. 免费公开课 | 机器学习的第二次入门
  2. 小猿圈之Linux初学者掌握的基本命令
  3. boost::hana::members用法的测试程序
  4. java 枚举类 扑克牌_Java中的枚举和多态,扑克牌示例
  5. PHPCMS代码生成器
  6. 个位数统计(java)
  7. flink知识点总结
  8. 上班工作压力太大?来玩个游戏解压下
  9. C语言进阶(一):宏函数内定义结构体
  10. 图像变换 - 图像拉伸、收缩、扭曲、旋转- 仿射变换(cvWarpAffine)
  11. 高速学习的奥秘:大脑的不同学习机制
  12. OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
  13. 单片机作业1_为OLED制作汉字字库_第3部分
  14. 计算机基础知识学习第七课,7、新建文件夹--电脑基础知识
  15. 《Bitly》可能是全球最好用的短链接生成工具
  16. 第8章第18节:制作企业宣传册的公司团队第五页面 [PowerPoint精美幻灯片实战教程]
  17. vue 封装公用函数
  18. Windows的Safari(可能)已死:如何迁移到另一个浏览器
  19. Excel粘贴长文本数字 精度丢失
  20. 美国FBI招聘测试题

热门文章

  1. 富士胶片消毒喷雾及湿巾证实可抑新冠感染;巴厘岛实施旅行健康安全新准则 | 美通企业日报...
  2. .\Fire_FreeRTOS.axf: Error: L6221E: Execution region ER_RO with Execution range [0x00000000,0x000001
  3. 【20220207】【信号处理】三次样条插值原理详解
  4. 顺序表--C语言版(从0开始,超详细解析 ,小白一听就懂!!!)
  5. 【调研】Soft Prompt Tuning 模型发展调研:P-tuning,Prefix-tuning,Prompt-tuning,P-tuning v2,PPT
  6. TypeScript Property ‘XXX‘ does not exist on type ‘never‘.
  7. js串口 Java web串口 调用客户端的串口 串口上云 硬件上云
  8. SQL Server健康检查的重要性
  9. Adobe Acrobat 虚拟打印机安装方法
  10. 电脑连上网,可以登录qq、微信,但是打不开网页,怎么办?