總體思路:git
fbx格式→dae格式→gltf格式→cesium加載gltf格式模型github
具體方法:工具
1. fbx格式→dae格式url
工具:3dsMax,spa
3dsMax插件:OpenCOLLADA,插件
下載地址:https://github.com/KhronosGroup/OpenCOLLADA/releases命令行
方法:將下載好的COLLADAMaxNew.dle文件複製粘貼到3dsMax的安裝目錄的plugins文件夾中;打開3dsMax;選擇導出,將fbx模型導出爲OpenCOLLADA(*.dae)格式3d
2. dae格式→gltf格式code
工具:ColladaToGltf.exe,orm
下載地址: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格式的模型