学习threejs,导入CTM格式的模型

👨‍⚕️ 主页: gis分享者
👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅!
👨‍⚕️ 收录于专栏:threejs gis工程师



一、🍀前言

本文详细介绍如何基于threejs在三维场景中导入CTM格式的模型,亲测可用。希望能帮助到您。一起学习,加油!加油!

1.1 ☘️THREE.ColladaLoader DAE模型加载器

THREE.ColladaLoader用于加载和处理Collada(.dae)格式3D模型文件的扩展。
CTM三维文件:

  • CTM是由openCTM创建的一种文件格式,可以用来以压缩格式存储三维网格的三角形面片。
  • OpenCTM 本质上是一种文件格式,用于以紧凑而通用的格式存储 3D
    三角形网格。同时为了方便软件开发人员和3D设计人员支持该格式,提供了一个易于使用的软件库,可以读写OpenCTM格式文件。

CTM三维文件特点:

  • 开放的数据格式。
  • 支持存储每个顶点的法线、UV 坐标和自定义顶点属性。
  • 可以存储非常大的几何图形(数十亿个三角形和顶点)。
  • 非常紧凑的3D 三角形几何存储,使用高效的熵减少技术,结合最先进的熵编码 (LZMA)。
  • 用户可控精度的无损压缩:真正的无损压缩(IEEE 754 32 位浮点),适用于需要
    1:1表示数据的情况。需要出色的压缩比时,具有用户可控精度的固定点表示。

二、🍀导入CTM格式的模型

1. ☘️实现思路

  • 1、初始化renderer渲染器
  • 2、初始化Scene三维场景scene
  • 3、初始化camera相机,定义相机位置 camera.position.set,设置相机方向camera.lookAt。
  • 4、初始化THREE.SpotLight聚光灯光源spotLight,设置spotLight的位置信息,场景scene中添加spotLight。
  • 5、加载几何模型:创建THREE.CTMLoader加载器loader,loader调用load方法加载‘auditt_wheel.ctm’轮胎模型。在load回调函数中,创建THREE.MeshLambertMaterial漫反射材质mat,传入回调函数获取的几何体对象geometry和mat参数创建THREE.Mesh网格对象group,设置group的大小,scene中添加group。具体代码参考代码样例。
  • 6、加入stats监控器,监控帧数信息。

2. ☘️代码样例

<!DOCTYPE html>

<html>

<head>
    <title>导入CTM格式的模型</title>
    <script type="text/javascript" src="../libs/three.js"></script>
    <script type="text/javascript" src="../libs/CTMLoader.js"></script>
    <script type="text/javascript" src="../libs/ctm.js"></script>
评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gis分享者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值