下载工具
链接:https://pan.baidu.com/s/1NembfsLpk_Deebe3xSkvCQ
提取码:3f8b
使用方法
进入到 \fbx2gltf\bin\Windows_NT目录下
在地址栏输入CMD后回车
在命令窗口输入
FBX2glTF -i 绝对路径 -o 绝对路径.gltf
例如
FBX2glTF -i D:\new\plane.FBX -o D:\gltf\plane.gltf
转换后在cesium中加载
var gltf = Cesium.Model.fromGltf({
url: 'http://127.0.0.1:8080/gltf/plane.gltf',
scale: 1.0,
});
viewer.scene.primitives.add(gltf);
设置动画 坐标 旋转角度
Cesium.when(gltf.readyPromise).then(function () {
gltf.activeAnimations.addAll({
reverse: true,
loop: Cesium.ModelAnimationLoop.REPEAT,
});
//设置坐标
var position = Cesium.Cartesian3.fromDegrees(118, 24, 50);
var mat = Cesium.Transforms.eastNorthUpToFixedFrame(position);
//Z轴旋转角度
var angel =Cesium.Math.toRadians(50)
var rotationX = Cesium.Matrix4.fromRotationTranslation(Cesium.Matrix3.fromRotationZ(angel));
Cesium.Matrix4.multiply(mat, rotationX, mat);
gltf.modelMatrix = mat;
});
后续flyTo
viewer.camera.flyTo({
destination: Cesium.Cartesian3.fromDegrees(118,24,50),
orientation: {
heading: Cesium.Math.toRadians(0.0),
pitch: Cesium.Math.toRadians(-25.0),
roll: 0.0,
},
});
也可通过位置矩阵,获取其世界坐标后,转化为地理坐标,再使用上面方法。适用于点击跳转gltf模型。
本篇原文地址https://blog.csdn.net/weixin_43791670/article/details/117462375