当前位置: 首页 > news >正文

Three.js + Vue 处理glb文件过大问题(DRACOLoader加载压缩glb)

起因,three.js editer导出的glb文件过于庞大,导致部署后文件加载过久

解决方法:

第一步(得有个blender),压缩:

导出时把压缩勾选上

这时候我们会得到一个glb文件,但与three.js editer导出不同的的是,这个文件引入代码中会报如下错误

这个警告表明在使用 THREE.GLTFLoader 时,没有提供 DRACOLoader 实例。DRACOLoader 是用于加载 Draco 压缩格式的模型数据的 loader。如果你的模型使用了 Draco 压缩,你需要为 THREE.GLTFLoader 提供一个 DRACOLoader 实例。

第二步,引入:

点击node_modules找到three,复制以下文件夹

粘贴到public目录

第三步,使用:

在three页面引入DRACOLoader

import {DRACOLoader} from 'three/examples/jsm/loaders/DRACOLoader.js'

修改原来的代码为:

const dracoLoader=new DRACOLoader();dracoLoader.setDecoderPath('/draco/gltf/');// 加载3D模型const loader = new GLTFLoader();loader.setDRACOLoader(dracoLoader);loader.load(this.file, (gltf) => {
//...
})

DRACOLoader能够帮我们解析压缩后的glb,这样就可以解决报错了!

同一模型优化后的结果展示:

http://www.lryc.cn/news/258089.html

相关文章:

  • ICC2:low power与pg strategy(pg_mesh)
  • Python基础期末复习 新手
  • 建筑可视化数据大屏汇总,UI源文件(PC端大屏设计)
  • 万户协同办公平台ezoffice wpsservlet接口任意文件上传漏洞
  • ​shelve --- Python 对象持久化​
  • web服务器之——搭建两个基于不同端口访问的网站
  • 如何使用GaussDB创建外表(FOREIGN TABLE)
  • 服务器数据恢复—raid5少盘状态下新建raid5如何恢复原raid5数据?
  • 软件工程 考试重点
  • swing快速入门(六)
  • 《opencv实用探索·十四》VideoCapture播放视频和视像头调用
  • Vue中$props、$attrs和$listeners的使用详解
  • 爱智EdgerOS之深入解析AI图像引擎如何实现AI视觉开发
  • Pytest+Allure生成自动化测试报告!
  • HTMLTestRunner
  • ELK架构监控MySQL慢日志
  • Linux命令---关机
  • 点云从入门到精通技术详解100篇-基于拓扑约束的3D点云实例分割(续)
  • java版Spring Cloud+Spring Boot+Mybatis之隐私计算 FATE - 多分类神经网络算法测试
  • Java之时间类2(JDK8新增)
  • MySQL InnoDB Replication部署方案与实践
  • 进程的同步和异步、进程互斥
  • 搞定课件录制,新手必备指南!
  • DevOps搭建(九)-Jenkins实现基础CI、CD详细操作
  • 十指波课堂:让学习编程不再是难事
  • IDEA卡顿,进行性能优化设置(亲测有效)——情况二
  • 利用Python和OpenCV实现将图像识别为Excel表格的便捷方法
  • mysql:查看一个表的索引信息
  • 12月11日作业
  • HTTP协议在Linux上进行数据库访问代码示例