cesium obj轉b3dm轉換及加載


參考文獻:github:https://github.com/PrincessGod/objTo3d-tiles

 https://blog.csdn.net/taiyang1987912/article/details/84339865    

1、先下載安裝node.js,再安裝boj23dtiles,在cmd中輸入==>npm install -g obj23dtiles
2、新建一個json,設置obj的坐標等信息,經緯度采用弧度制,高程按地形高程輸入,最多保留小數點后五位,內容如下
  
{
    "longitude":      -1.31968,     
    "latitude":       0.698874,     
    "transHeight":    1142.59807,          
    "region":         true,      // Using region bounding volume.  
    "box":            false,        // Using box bounding volume.
    "sphere":         false         // Using sphere bounding volume.
//"minHeight": 0.0, // BoundingVolume minimum height in meters.
//"maxHeight": 40.0, // BoundingVolume maximum height in meters.
//"tileWidth": 200.0, // Tile horizontal(cross longitude) length in meters.
//"tileHeight": 200.0, // Tile virtical(cross latitude) length in meters.
//"geometricError": 200.0, // Tile geometric error in meters.
}
3、cd至程序執行的目錄下,./代表當前目錄,前面的路徑為obj路徑,后面的路徑為json路徑,生成tileset.json及b3dm文件
   obj23dtiles -i ./east/east.obj --tileset -p ./east/eastoptions.json
4、將生成的文件導入至cesium目錄下,然后加入以下代碼對3dtile數據進行加載
var tileset = new Cesium.Cesium3DTileset({
    url: "model/out8/tileset.json",
    shadows:Cesium.ShadowMode.DISABLED,//去除陰影
});
//
viewer.scene.primitives.add(tileset);
viewer.zoomTo(tileset)

 5、模型偏移

var cartographic=Cesium.Cartographic.fromCartesian(tileset.boundingSphere.center);
var old_cart=Cesium.Cartesian3.fromRadians(cartographic.longitude,cartographic.latitude,cartographic.height);
var new_cart=Cesium.Cartesian3.fromRadians(cartographic.longitude,cartographic.latitude,cartographic.height+100);
var translation=Cesium.Cartesian3.subtract(new_cart,old_cart,new Cesium.Cartesian3());
tileset.modelMatrix=Cesium.Matrix4.fromTranslation(translation);

  

 ps:程序也支持gltf、glb、i3dm

-----------------------------cesium高程讀取-------------------------
https://www.cnblogs.com/implementer/p/10953676.html
 
  1.  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM