Cesium 转换成gltf格式

将3D模型转换成Cesium需要的gltf格式。 
工具:3Ds Max 2014软件 ,COLLADAMaxNew.dle插件,collada2gltf.exe工具 

软件配置

安装3Ds Max 2014,可以在http://www.xiadele.com/a/rj3d/中下载,里边有各种版本的软件和破解方法。 
安装完软件后需要加载COLLADAMaxNew.dle插件为的是将3D模型转换成正确的dea格式的数据。如果没有插件可以在http://download.csdn.net/download/y5492853/9926459下载,里边有COLLADAMaxNew.dle插件,collada2gltf.exe工具等。 
1)打开软件,选择 自定义->插件管理器 
tianjia1 
2)在空白处点击右键,选择 加载新插件在找到插件位置即可 
tianjia2 
3)添加完成后,在插件管理器中会出现添加进的插件 
tainjia3 
添加完成后就可以进行数据的转换了。

将3D模型转换成dae格式

一般的模型格式,比如obj、3ds、fbx都可以通过3Ds Max或者其他的建模工具(blender等)转换为dae格式后再使用collada2gltf.exe转化成gltf格式的数据。 
本文以.max格式为例,先将.max格式的数据转换成obj格式的,再转为dae格式的,最后在转为gltf格式的数据。 
1)在3Ds Max打开max文件,选择导出,格式obj格式 
obj 
2)点击保存,配置BOJ导出选项,如下图 
obj2 
3)在3Ds Max导入刚才导出的obj文件,再将其导出为dae文件,注意导出时有两个dae格式选型,要选择正确的选项。 
dae 
4)配置OpenCOLLADA Export选项,如下图所示 
dae2

将dae格式转换成gltf格式

1)下载转换工具 ColladaToGltf.exe 
2)在Windows下进入到命令行模式,并进入到ColladaToGltf.exe文件夹下,输入下面的命令进行转换

  collada2gltf.exe -f dae文件的绝对路径 -e
  • 1

-f : 指定dae文件的绝对路径 
-e:将所有的文件全部打包成一个gltf文件,如果没有指定的话则会生成 bin gltf glsf等多种文件。 
该命令执行完成后,就会发现dae所在文件中出现了一个 同名的 gltf文件。最好将dea文件和ColladaToGltf.exe放到一个文件夹中,不然的话很容易出错。 
转换成功如下图所示 
gltf 
3)将gltf格式的数据放入到项目中即可。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cesium中,GLTF(Graphics Language Transmission Format)是一种用于表示3D模型和场景的开放标准格式GLTF模型可以在Cesium中进行加载和展示,并且可以通过一些技术实现模型的动画效果。 要在Cesium中展示GLTF模型并使其动起来,可以按照以下步骤进行操作: 1. 加载GLTF模型:使用Cesium的`Viewer`对象的`scene`属性来获取场景对象,然后使用场景对象的`primitives`属性来添加GLTF模型。可以使用`Cesium.Model.fromGltf`方法加载GLTF模型文件,并将其添加到场景中。 2. 设置模型位置和缩放:通过设置模型的`position`属性来指定模型的位置,可以使用`Cesium.Cartesian3.fromDegrees`方法将经纬度转换为场景中的坐标。还可以使用模型的`scale`属性来调整模型的大小。 3. 添加动画效果:如果GLTF模型包含动画效果,可以使用Cesium的`ModelAnimationCollection`对象来管理和播放动画。可以通过调用模型的`readyPromise`属性来等待模型加载完成,然后获取模型的动画集合,并使用`start`方法开始播放动画。 下面是一个示例代码,展示了如何在Cesium加载并播放GLTF模型: ```javascript // 创建Cesium Viewer对象 var viewer = new Cesium.Viewer('cesiumContainer'); // 加载GLTF模型 var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame( Cesium.Cartesian3.fromDegrees(longitude, latitude, height) ); var model = viewer.scene.primitives.add(Cesium.Model.fromGltf({ url: 'path/to/model.gltf', modelMatrix: modelMatrix, scale: 1.0 })); // 等待模型加载完成 model.readyPromise.then(function(model) { // 获取模型的动画集合 var animations = model.animations; if (Cesium.defined(animations) && animations.length > 0) { // 播放第一个动画 var animation = animations[0]; var animationClip = model.activeAnimations.add(animation, 0.0); animationClip.start(); } }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值