cesium加载飞机模型,entity方式和primitive方式加载,缩放至模型处

<!DOCTYPE html>
<html lang="en">
<head>
    <!-- Use correct character set. -->
    <meta charset="utf-8">
    <!-- Tell IE to use the latest, best version. -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!-- Make the application on mobile take up the full browser screen and disable user scaling. -->
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
    <title>Hello World!</title>
    <script src="./Build/Cesium/Cesium.js"></script>
    <style>
        @import url(./Build/Cesium/Widgets/widgets.css);
        html, body, #cesiumContainer {
            width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden;
        }
    </style>
</head>
<body>
<div id="cesiumContainer"></div>

<script>
    Cesium.Ion.defaultAccessToken='token';
    var viewer = new Cesium.Viewer('cesiumContainer',{
        baseLayerPicker:false,
        timeline:false,
        homeButton:false,
        fullscreenButton:false,
        infoBox:false,
        sceneModePicker:false,
        navigationInstructionsInitiallyVisible:false,
        navigationHelpButton:false,

        animation:false
    });
    var scene = viewer.scene;

    //在搜索框中搜索 Exton, PA即可找到飞机所在位置
//entity方式加载
    // var entity = viewer.entities.add({
    //     position : Cesium.Cartesian3.fromDegrees(-75.62898254394531, 40.02804946899414,0),
    //     model : {
    //         uri : './Apps/SampleData/models/CesiumAir/Cesium_Air.gltf',
    //         scale:200
    //     }
    // });
 //viewer.trackedEntity = entity; </script>
//primitive方式加载
    var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(
        Cesium.Cartesian3.fromDegrees(-75.62898254394531, 40.02804946899414, 0.0));
    var model = scene.primitives.add(Cesium.Model.fromGltf({
        url : './Apps/SampleData/models/CesiumAir/Cesium_Air.gltf',
        modelMatrix : modelMatrix,
        scale : 200.0,

    }));
    // Cesium.when(model.readyPromise).then(function(model) {
    //     model.activeAnimations.addAll({
    //         loop : Cesium.ModelAnimationLoop.REPEAT
    //     });
    // });
//通过viewer设置镜头,飞行至实体位置
    viewer.camera.setView({
        destination : Cesium.Cartesian3.fromDegrees(-75.62898254394531, 40.02804946899414, 0.0)
    });
    //viewer.zoomTo([-75.62898254394531, 40.02804946899414,0]);
  
</body>
<script ></script>
</html>
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
你好!对于Cesium加载飞机模型的问题,我可以给你一些建议。首先,请确保你已经正确地安装了Cesium库,并且在你的项目中正确引入了相关文件。然后,你需要确保你有正确的飞机模型文件,通常是一个.gltf或.glb文件。 接下来,你可以使用CesiumEntity API来创建一个实体并加载飞机模型。以下是一个简单的示例代码: ```javascript var viewer = new Cesium.Viewer('cesiumContainer'); var entity = viewer.entities.add({ position: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883), model: { uri: 'path/to/your/airplane.gltf' } }); viewer.zoomTo(entity); ``` 请确保将`path/to/your/airplane.gltf`替换为你飞机模型文件的实际路径。如果一切设置正确,飞机模型应该能够加载并显示在Cesium的地球上。 另外,你还可以尝试使用CesiumModel API手动加载飞机模型,这样可以提供更多的控制选项。以下是一个示例代码: ```javascript var viewer = new Cesium.Viewer('cesiumContainer'); var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame( Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883, 0.0) ); var model = viewer.scene.primitives.add(Cesium.Model.fromGltf({ url: 'path/to/your/airplane.gltf', modelMatrix: modelMatrix, scale: 1.0 })); viewer.zoomTo(model); ``` 同样地,请替换`path/to/your/airplane.gltf`为你的飞机模型文件路径。这段代码将手动创建一个模型矩阵,并使用`Cesium.Model.fromGltf`方法加载飞机模型。 如果问题仍然存在,请确保你的飞机模型文件没有损坏,并且你的路径设置正确。另外,你还可以检查浏览器的控制台输出,以查看是否有任何相关的错误信息。希望这些信息对你有帮助!如果你还有其他问题,请随时提问。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值