合作qq:(550891796)

===================================

实例源码: http://download.csdn.net/download/zzjzmdx/10110882

以下是已开发的视频展示连接

https://www.bilibili.com/video/BV18V41187p9/

https://www.bilibili.com/video/BV1Xy4y1277M/

https://www.bilibili.com/video/BV1ka4y1n7fh/

1.前言

threejs 官网 https://threejs.org/ threejs 源码下载地址 https://github.com/mrdoob/three.js/

threejs支持多种格式, 这个从threejs源码例子里的loader文件夹(three.js-dev\examples\js\loaders )

就可以看出来 如:

现在主要分析其中的三种格式:obj格式,和stl格式,json格式。

2.三种格式的生成方式(基础格式为max格式)

obj格式 

打开max文件 ctrl+a 全选 或 选择要到处的模型,之后点击max图标,选择

导出功能下的 导出选中物体功能

选择则生成类型为obj格式

配置相关信息

如果选择导出材质,会生成building.obj主文件,材质配置文件building.mtl和一些图片 如果不选择导出材质,

会只生成building.obj主文件。

完成

stl格式 

下载并安装blender软件(blender 下载地址 https://www.blender.org/,3dmax也可以导出stl但是只能导出整体)

打开 blender软件,导入已生成的obj文件(也可在blender中自己创建模型然后导出)

导出stl文件

json格式 

导入blender的threejs插件 将源码包three.js-dev\utils\exporters\blender\addons 下的 io_three 文件夹

拷贝到 C:\Program Files\Blender Foundation\Blender\2.78\scripts\addons 文件夹下 打开blender软件,

选择file下的User Preferences

选择Add-ons选项 搜索three 勾选 结果的复选框,之后保存。

导出json文件 选择file下的export选项下的threejs

配置导出页面

之后会生成json文件。

3.格式导入到threejs 

obj格式(无材质)

var loader = new THREE.OBJLoader();

loader.load( "models/test.obj",

function ( object ) {

scene.add( object );

}

);

obj格式(有材质)

var Loader = new THREE.MTLLoader();

Loader.setPath( 'models/' );

Loader.load( 'test.mtl', function( materials ) {

materials.preload();

var objLoader = new THREE.OBJLoader();

objLoader.setMaterials( materials );

objLoader.setPath( 'models/' );

objLoader.load( 'test.obj', function ( object ) { 
scene.add( meshchangematerial );

});

});

stl格式

var material = new THREE.MeshLambertMaterial( { color: 0x012028 ,transparent: true,opacity: 0.5 } );

var loader = new THREE.STLLoader(manager);

loader.load( "models/test.stl", function ( geometry) { 
var mesh = new THREE.Mesh(geometry, material); 
scene.add( mesh ); 
} );

json格式

var loader = new THREE.JSONLoader();

loader.load('models/test.json',

function(geometry) {

mesh = new THREE.Mesh(geometry);

scene.add(mesh);

});

4.各格式优缺点比较

同模型,各格式大小比较

obj格式 优点:此格式文件可导入材质,可以获得模型中的每一个元素,能对每个元素进行操作, 且应用广泛。 缺点:此格式文件导入后,不能获取整体的中心点位置,且同模型下,obj格式文件较大, 不利于网页端展示 总结:此格式适合简单小巧模型,既能完美展示和操作所有元素,最终模型也不会较大。

stl格式 优点:此格式文件为二进制文件,压缩比较大,且同模型下,stl格式文件较小, 能获取整体中心点。 缺点:不能直接导入材质,需要后期操作,模型以此格式导入,获取的为模型整体, 不能单独操作元素。 总结:此格式适合大型,单一材质模型导入,能快速导入。

json格式 优点:threejs 常用格式,可导入材质。 缺点:文件较大。

5.经验分享

threejs 模型导入时,模型继承3dmax内模型位置属性。 做多建筑模型导入时,可在3dmax文件的整体文件中分别单个导出建筑模型, 之后导入到threejs中,此时不用修改导入模型位置,模型会自己导入到相对位置上。 做单一设备模型导入时,可将模型放置在3dmax原点,当导入到threejs中时, 可将设备模型手动移动到想要的位置。

3dmax模型导入到threejs里时,如果整体未报错,但是模型不显示,有以下几种可能 1.模型比例太小,摄像头拍摄不到,请将模型到处是的比例加大。 2.模型比例太大,摄像头填充不下,请将模型到处是的比例加大。 3.模型导入后位置在摄像头视线外,请旋转摄像头查找导入模型位置。

obj文件导入后正常显示,stl文件导入后会旋转90度,可用mesh.rotation.x = -Math.PI/2;

threejs知识点:1.模型分析相关推荐

  1. Algorithm:数学建模大赛(CUMCM/NPMCM)之全国大学生数学建模竞赛历年考察知识点统计可视化分析、论文评阅标准参考、国内外CUMCM数学建模类参考文献论文集合之详细攻略

    Algorithm:数学建模大赛(CUMCM/NPMCM)之全国大学生数学建模竞赛历年考察知识点统计可视化分析.论文评阅标准参考.国内外CUMCM数学建模类参考文献论文集合之详细攻略 目录 全国大学生 ...

  2. 使用Threejs加载模型1

    最近有时间又研究了一下Threejs,之前研究过,但之后就不用了,现在就忘完了,所以这次记录一下,尤其是0到1的过程,因为网上有很多1到2的过程,但是在不了解Threejs的情况下,创建一个工程都很困 ...

  3. deeplearning模型分析

    deeplearning模型分析 FLOPs paddleslim.analysis.flops(program, detail=False) 获得指定网络的浮点运算次数(FLOPs). 参数: • ...

  4. 机器学习(12)欠拟合过拟合、模型分析与正则化

    目录 一.欠拟合 二.过拟合 三.模型分析 四.正则化 4-1.L2正则化 4-2.L1正则化 一.欠拟合 机器学习的特征过少,导致预测不准确.(训练集和测试集表现都不好) 解决方法:增加数据的特征数 ...

  5. RFM模型分析与客户细分

    今天偶然看到沈浩老师的文章<数据挖掘应用案例:RFM模型分析与客户细分>(http://shenhaolaoshi.blog.sohu.com/201923838.html),感慨不少.这 ...

  6. 基于深度学习的脑电图识别 综述篇(三)模型分析

    作者|Memory逆光 本文由作者授权分享 导读 脑电图(EEG)是一个复杂的信号,一个医生可能需要几年的训练并利用先进的信号处理和特征提取方法,才能正确解释其含义.而如今机器学习和深度学习的发展,大 ...

  7. 第4章-无人车UGV模型分析

    第3章 回到目录 第5章 4 无人车UGV模型分析 4.1 建立无人车动力学模型 4.2 一阶控制器通过速度控制小车 4.2.1 一维直线运动 4.2.2 二维平面运动 4.3 二阶控制器通过加速度控 ...

  8. 【视频课】先搞懂你用的模型,深度学习模型分析课程来了!

    前言 欢迎大家关注有三AI的视频课程系列,我们的视频课程系列共分为5层境界,内容和学习路线图如下: 第1层:掌握学习算法必要的预备知识,包括Python编程,深度学习基础,数据使用,框架使用. 第2层 ...

  9. C语言一级指针(char *)易错模型分析

    C语言一级指针char *易错模型分析 char *(字符串)做函数参数出错模型分析 越界 不断修改指针变量的值 你向外面传递什么 重复的错误何时休 char *(字符串)做函数参数出错模型分析 建立 ...

  10. select * 映射错误_高性能IO模型分析-浅析Select、Poll、Epoll机制(三)

    本章(第三章)内容其实和第二章内容,都是第一章内容的延伸.第二章内容是第一章内容的延伸,本章内容则是第一章内容再往底层方面的延伸,也是面试中考察网络方面知识时,可能会问到的几个点. select.po ...

最新文章

  1. PNAS:微生物组互作塑造宿主适应度
  2. CVPR 2022|MLP才是无监督学习比监督学习迁移性能好的关键因素
  3. exceptionhandler注解_SpringMVC 中 @ControllerAdvice 注解的三种使用场景!
  4. 783. 二叉搜索树节点最小距离(dfs)
  5. NAT(网络地址转换)技术与代理服务器原理
  6. Spring IoC,Spring Bean示例教程
  7. LoadRunner学习笔记
  8. ×××购回“四不像”笔记本
  9. github客户端与git使用指南
  10. Oracle执行计划——查看执行计划的方法
  11. 中国程序员容易发错音的单词「GitHub 热点速览 v.22.23」
  12. 论文在线翻译神器-唐帕翻译
  13. 卸载python2.7_完美的.NET Framework卸载工具(支持卸载framework 1.0~4.7.2)
  14. 语音动画设置 android,Anroid Studio第七期 - 语音动画
  15. 原力计划S5上榜博主名单公布(第四期已更新)
  16. VRChat简易教程4-使用VRC的接口实现物体的移动(VRC的action和trigger接口)
  17. 封装百度AI语音朗读句子
  18. Java假期班泰安_泰安2019年放假时间表出炉! 春节居然这样放假
  19. 阿德勒:你的不幸都是自己选择的结果
  20. APS生产排产帮助面粉加工企业进行成本管控

热门文章

  1. 千锋好程序员与京东云大数据共建班,开班典礼在京东总部圆满举行
  2. html5实现宠物图片网站(html,css)
  3. 单调函数的不连续点可数——泛函分析观点
  4. 不定代词both/either/neither的区别
  5. 关键信息基础设施安全控制措施
  6. Cris 的 Python 数据分析笔记 08:NumPy 和 Pandas 整理脑图
  7. 商汤科技20年秋招智慧城市-数据运营工程师笔试题(2019.8.19)
  8. SCTP-流控制传输协议
  9. 关于邮件服务器的dns解析及mx记录问题!
  10. EDIUS中怎么实现卡拉OK字幕的制作