cesium 模型设置中心点
时间: 2023-08-01 14:10:19 浏览: 279
在Cesium中,可以使用`Entity`对象来表示3D模型并设置其位置、方向和缩放。要设置模型的中心点,可以使用`position`属性指定模型的位置,然后使用`modelMatrix`属性来进一步调整模型的方向和缩放。
例如,以下代码将把一个3D模型放置在地球表面上,并将其中心点设置为模型底部的中心:
```javascript
var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(position);
var model = viewer.entities.add({
name: 'My Model',
position: position,
orientation: orientation,
model: {
uri: 'path/to/model.gltf',
scale: 1.0,
minimumPixelSize: 128,
maximumScale: 20000,
runAnimations: true,
clampAnimations: true
},
modelMatrix: Cesium.Matrix4.multiply(modelMatrix, Cesium.Transforms.headingPitchRollToFixedFrame(new Cesium.HeadingPitchRoll(0, 0, 0))),
});
```
在这里,`position`是模型的位置,可以是`Cartesian3`对象或`Cartographic`对象。`modelMatrix`使用`eastNorthUpToFixedFrame`函数将模型从地球表面的位置转换为固定坐标系中的位置。然后,`modelMatrix`与`headingPitchRollToFixedFrame`函数一起使用,可以更进一步地调整模型的方向和缩放。
阅读全文