當前基於Web的三維應用越來越多,這其中基於Cesium的WebGL應用占了絕大部分,同時能在Cesium中加載的B3DM格式的3DTiles幾乎已經成為了WebGL的數據標准,如果你手頭只有OSGB數據,想把OSGB數據發布成3DTiles,那么OSGBLab這個工具將會是不錯的選擇。
Step 1 數據准備。
下載OSGBLab(傾斜伴侶) https://pan.baidu.com/s/1ZtoanNs1iHrYi2UkvjYwqA?pwd=1234
打開OSGBLab(傾斜伴侶),點擊“OSGB轉Cesium 3dtile” 按鈕

設置好輸入目錄,輸出目錄,同時勾選Draco壓縮,點擊確定開始轉換,幾分鍾之后s3m數據就轉換完成,速度非常快。

下圖是轉換前后OSGB和Cesium 3Dtiles的大小,原始27.2G,轉換后14.1G,這個Draco的壓縮率還是很恐怖的。

轉換后的目錄結構如下圖所示:Data目錄是存儲B3DM數據的目錄,CesiumViewer是一個網頁三維瀏覽器。
Step 2 安裝nginx。
nginx是一個小型的web服務器,安裝體積小,性能強悍,下載地址為:http://nginx.org/en/download.html,選擇最新版下載即可,下載后解壓即可。打開nginx目錄,編輯conf/nginx.conf。找到里面的server節點。修改如下:
server {
listen 80;#端口號
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#設置允許跨域
add_header Access-Control-Allow-Origin * always;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
if ($request_method = 'OPTIONS') {
return 204;
}
root C:/test/B3DM; #指向發布Cesium 3Dtiles的輸出目錄
index index.html index.htm;
autoindex on; #開發環境設置on,生產環境設置為off
}
然后啟動nginx:打開cmd命令窗口,切換到nginx目錄下,輸入命令 nginx.exe 或者 start nginx ,回車即可。
Step 3 用瀏覽器瀏覽數據。
在Chrome或者Microsoft Edge瀏覽器中,輸入
http://localhost/CesiumViewer/ ,就能看到三維場景展現在瀏覽器中。

關注微信公眾號有更多驚喜!!!

