整体思路:
fbx格式→dae格式→gltf格式→cesium加载gltf格式模型
具体方法:
1. fbx格式→dae格式
工具:3dsMax,
3dsMax插件:OpenCOLLADA,
下载地址:https://github.com/KhronosGroup/OpenCOLLADA/releases
方法:将下载好的COLLADAMaxNew.dle文件复制粘贴到3dsMax的安装目录的plugins文件夹中;打开3dsMax;选择导出,将fbx模型导出为OpenCOLLADA(*.dae)格式
2. dae格式→gltf格式
工具:ColladaToGltf.exe,
下载地址:https://github.com/KhronosGroup/COLLADA2GLTF/releases
方法:在Windows下进入到命令行模式,并进入到ColladaToGltf.exe文件夹下,输入下面的命令进行转换:collada2gltf.exe -f dae文件的绝对路径 –e
3. cesium加载gltf格式模型
let view = new Cesium.Viewer('cesiumContainer',{
animation:false,
timeline:false,
//vrButton: true
});
let scene = view.scene;
//位置
let position = Cesium.Cartesian3.fromDegrees(116.080591,39.919141,10);
let hpRoll = new Cesium.HeadingPitchRoll();
let fixedFrameTransforms = Cesium.Transforms.localFrameToFixedFrameGenerator('north','west');
//添加模型
let carPrimitive = scene.primitives.add(Cesium.Model.fromGltf({
url : '../model/demo1.gltf',
modelMatrix: Cesium.Transforms.headingPitchRollToFixedFrame(position,hpRoll,Cesium.Ellipsoid.WGS84,fixedFrameTransforms),
minimumPixelSize:128,
scale : 1.0
}));
view.camera.flyTo({
destination : Cesium.Cartesian3.fromDegrees(116.080591,39.919141,10)
});
4.具体案例
3dsMax中的FBX格式的模型
加载到cesium中的fbx→gltf格式的模型