cesiumlab中./assets/feiji.glb
时间: 2025-03-26 16:50:23 浏览: 35
### 加载和使用 `feiji.glb` 模型文件
在 CesiumLab 项目中加载并使用位于 `assets` 文件夹下的 `feiji.glb` 模型文件涉及几个关键步骤。为了实现这一目标,可以采用如下方法:
对于 CesiumJS 的环境设置,在 HTML 文档中引入必要的库之后,通过 JavaScript 或 TypeScript 编写代码来加载 GLB 格式的三维模型。
```javascript
// 假设已经初始化了一个 Cesium Viewer 实例 viewer
const url = 'assets/models/feiji/feiji.glb';
Cesium.Ion.defaultAccessToken = 'your_access_token'; // 如果需要访问 Ion 资源则提供 token
viewer.scene.primitives.add(
new Cesium.Cesium3DTileset({
url: url,
})
);
```
上述代码尝试直接作为 3D Tiles 来处理 `.glb` 文件[^1],然而更常见的方式是利用 Cesium 自带的 `Model.fromGltf()` 方法或其异步版本 `loadModelAsync()` 函数专门用于加载单个 glTF/GLB 模型实例。
以下是推荐的做法:
```typescript
async function loadFeijiModel(viewer) {
const modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(
Cesium.Cartesian3.fromDegrees(longitude, latitude, height)
);
try {
let model = await Cesium.Model.fromGltf({
url : 'assets/models/feiji/feiji.glb',
modelMatrix: modelMatrix,
scale : 1.0,
minimumPixelSize : 128,
maximumScale : 20000.0
});
console.log('Model loaded successfully');
return model;
} catch (error) {
console.error('Failed to load the model:', error);
}
}
```
这段脚本定义了一个函数 `loadFeijiModel` 接受一个参数即 Cesium `Viewer` 对象,并返回 Promise 类型的结果以便于后续操作。此函数内部创建了转换矩阵以指定模型放置的位置(需替换为实际坐标),并通过调用 `fromGltf` 静态方法完成模型加载过程。如果遇到错误,则会在控制台打印出来方便调试。
阅读全文
相关推荐













