首页 > 编程知识 正文

js,threejs支持哪些3d模型格式

时间:2023-05-04 16:55:29 阅读:19200 作者:347

.obj和.mtl格式详解

obj文件是3D模型文件格式。 Alias|Wavefront公司为3D建模和动画软件“高级可视化器”开发的标准,适用于3D软件模型之间的互感,也可以在Maya中读写。

只支持模型的三角面数据和材质信息,不支持动画功能; 其中几何信息由. obj文件提供,材质信息由. mtl文件定义。

.obj格式

与# obj对应的材质文件

# mtllib testvt.mtl

#组名称

g默认

# o对象名称(Object name ) )

o testvt.obj

#顶点

v -0.5 -0.5 0.1

v -0.5 -0.5 -0.1

v 0 0.5 0.1

v 0 0.5 -0.1

v 0.5 -0.5 0.1

v 0.5 -0.5 -0.1

#纹理坐标

vt 0 1

vt 1 1

vt 0.5 0

#顶点法线

vn 0 0 1

vn 0 0 -1

#当前实体使用的材质

use MTL默认

# ssmoothshadingacrosspolygonsisenabledbysmoothinggroups。

# smoothshadingcanbedisabledaswell。

关闭系统

# v1/vt1/vn1v2/vt2/VN 2v3/vt3/vn3 (索引从1开始)

f 1/1/1 5/2/1 3/3/1

f 6/2/2 2/1/2 4/3/2

.mtl格式

#名为“XXX”的材质newmtl xxx #材质的Kd Kd 0.784314 0.784314 0.784314 #用于环境光ka00散射光diffuse color 玻璃的折射率是1.5。 Ni 1 #反射指数定义反射高光度。 该值越高,高光越密,通常取0到0~1000之间的值。 Ns 400 #滤光器透射率Tf 1 1 1 #淡入指数描述参数factor表示物体融入背景的数量,值的范围为0.0~1.0,值为1.0时完全不透明,值为0.0时完全透明。 为d 1 #漫反射指定颜色纹理文件map_Kd D:Threejsthree.js学习貂蝉1411_DiaoChan_D_512.png

http://www.Sina.com/http://www.Sina.com /

核心代码:

//*

*加载obj和材质文件mtl

*/

varobjloader=new three.obj loader (; //obj加载程序

varmtlloader=new three.MTL loader (; //材质文件加载器

mtlLoader.load (貂蝉/貂蝉. MTL ),function(materials )。

返回包含//材质的对象材质创建器

console.log (材料;

//obj模型对应于材质创建器中包含的材质

bjloader.set materials (materials;

OBJLoader.load ('貂蝉/貂蝉. obj ',function () obj )。

控制台. log (obj;

Sene.add(obj; //返回的组对象插入到场景中

//加载后的操作

obj.children [0].scale.set (2,2 ); //缩放球体的网格模型

//通过调节参数,地球表面的凹凸感增强

obj.children [0].material.normal scale.set (3,3 );

() )

() )

效果:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。