您好,登錄后才能下訂單哦!
這篇文章給大家介紹Cesium左鍵點擊模型效果怎么實現,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
Cesium的樣例中,有一個3D Tiles Feature Picking,鼠標劃過模型,會在模型上顯示一個選中框,在模型旁邊浮現一個名稱標簽,點擊3dtiles中的模型,會高亮顯示框,并且彈出模型的詳細信息。
直接拿過來使用其中的代碼,發現這個點擊效果,是要根據模型(3dtile)的實際情況進行代碼修改,鼠標點擊到的模型是b3dm格式的,Cesium有詳細的文件格式說明,不過文件的有些部分需要可以進行省略,所以,導致不是每個3dtile的圖層都是一樣。
b3dm文件格式參見網址:https://github.com/AnalyticalGraphicsInc/3d-tiles/blob/master/TileFormats/Batched3DModel/README.md
在實際的代碼中,按照以下情況進行修改,完全代碼參照文章開頭的網址,以下只對關鍵代碼進行解釋:
if (Cesium.defined(highlighted.feature)) {
//此代碼處,要根據模型,判斷feature中是否存在color的屬性,否則設置不成功
highlighted.feature.color = highlighted.originalColor;
highlighted.feature = undefined;
}
//要根據模型,判斷feature中是否存在color的屬性,否則設置不成功
pickedFeature.color = Cesium.Color.LIME;
// 這處要判斷是否有name的屬性,這個和b3dm的batch Table和feature Table有關聯,需看b3dm模型中是否有以上這些
var featureName = pickedFeature.getProperty('name');
selectedEntity.name = featureName;
selectedEntity.description = 'Loading <div class="cesium-infoBox-loading"></div>';
viewer.selectedEntity = selectedEntity;
selectedEntity.description = .............;
在MOUSE_MOVE和LEFT_CLICK都有對應的代碼,需要同時都進行修改。
關于Cesium左鍵點擊模型效果怎么實現就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。