cesiumjs获取3dtiles各个顶点坐标
时间: 2023-08-18 11:07:55 浏览: 300
要获取3dtiles中各个顶点的坐标,可以使用Cesium的Tileset类中的方法。以下是一个获取3dtiles各个顶点坐标的示例代码:
```javascript
var viewer = new Cesium.Viewer('cesiumContainer');
var tileset = new Cesium.Cesium3DTileset({
url: 'path/to/your/3dtiles'
});
viewer.scene.primitives.add(tileset);
tileset.readyPromise.then(function(tileset) {
var content = tileset.root.content;
var featuresLength = content.featuresLength;
for (var i = 0; i < featuresLength; i++) {
var feature = content.getFeature(i);
var geometry = feature.geometry;
var positions = geometry.attributes.position.values;
for (var j = 0; j < positions.length; j += 3) {
var x = positions[j];
var y = positions[j + 1];
var z = positions[j + 2];
console.log(x, y, z);
}
}
});
```
这段代码中,首先创建了一个Cesium的Viewer对象,并加载了一个3dtiles模型。然后,在tileset的readyPromise回调函数中,获取了3dtiles中所有feature的geometry,并通过geometry的attributes属性获取了所有顶点的坐标。最后,将各个顶点的坐标输出到控制台中。
阅读全文