Cesium 三维模型使用 blender 调整位置、坐标轴、比例等
最近项目使用 Cesium 加载三维模型(glb、gltf 格式),模型按照轨迹路线飞行移动的时候,发现模型角度不对,有的模型是反方向飞,有的模型是横着飞,从代码层面尝试一天,没有解决。
但是最终确定原因是 模型的坐标系-坐标轴问题,不同软件创建的模型,坐标轴可能不一致。
Cesium 虽然可以随意调整模型角度,但是模型沿轨迹移动,是自动计算角度,目前未发现怎么调整,最终 使用软件重新调整模型的默认方向,来解决问题。
通过 Cesium 自带模型坐标系工具查看,可以发现显示行进方向跟头部不一致。
Cesium 三维球和模型坐标系介绍:Cesium应用篇-1.Cesium中的坐标系和坐标转换
本示例介绍 blender 软件,调整模型的格式有:Obj、glb、gltf。其他格式应该也一样,可自行尝试!
模型坐标轴展示
页面中增加 viewer.extend(Cesium.viewerCesiumInspectorMixin); 即可开启 Cesium 监测模型。
可以看到,图中小汽车,车头与红色坐标轴相反,
因此,在使用 orientation: new Cesium.VelocityOrientationProperty(property) 自动计算角度的时候,车前进方向是反的(车会朝红色轴行进)!
使用 blender 调整模型方向
1. 下载安装 blender
网盘链接:https://pan.baidu.com/s/1Fw67AAHqPoh9PbfAdvCaGg 提取码:2jnn
安装很简单,对路径没有要求,直接下一步即可。
2. 打开blender,导入模型文件
-
打开软件,或者新建文件的时候,软件会自带默认模型,全选,右键删除。 如果想操作一下模型也可以,可以直接使用左右工具栏修改模型。 -
导入模型文件,支持:obj、glb、gltf 等,基本上支持大多数格式了。 选择自己的对应模型格式。 选择路径,选择模型。 blender 加载模型。
3. 根据需要调整模型参数,这里以旋转为例
-
注意 左侧工具栏,包括平移、旋转、缩放 等。 -
全选模型,调整角度。 注意 blender 左右功能区,笔者用到 旋转、坐标轴,其他的可以自己尝试。 调整角度,这里将 模型调整 180°,方向即可纠正(根据自己模型的角度调整即可)。 注意:可以 安装 shift 微调,或者按住 curl 定位 到大角度(比如45°,90°,180°)。
4. 保存模型
-
这里可以选择保存模型文件;或者直接 导出需要的模型。 保存模型文件,可以后边更方便修改操作,导出 glb -
选择路径,填写模型名称,保存即可。
效果展示
在线地址
示例中展示了,两个 方向相反的小车、正向模型小车行进和反向模型小车行进。
三维展示模型展示示例
|