首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用CZML文件中的3D模型移动对象

使用CZML文件中的3D模型移动对象
EN

Stack Overflow用户
提问于 2015-09-16 20:59:32
回答 3查看 2.1K关注 0票数 2

我正在创建一个CZML文件,我有一个路径,我希望我的对象遵循该路径并按位置移动它(我根据时间时代定义了位置)。

它与带有图像的广告牌完美地工作在一起,但是当我将代码更改为有一个模型时,例如沙堡中的3D模型之一,而不是广告牌,它就无法工作。它甚至没有显示模型。我只是有个标签,在路上移动,但没有模特的迹象。

有什么问题吗?我非常想在CZML文件中使用3D模型,而不是在javaScript中。如果有人能帮助我,我会很高兴的。

我将数据保存在.czml文件中,然后通过javaScript将它们加载到html中,如下所示:

代码语言:javascript
复制
viewer.dataSources.add(Cesium.CzmlDataSource.load('../../SampleData/fstsp_solution.czml'));

我的czml文件的副本是:

代码语言:javascript
复制
[
  {
    "id":"document",
    "version":"1.0"
  },
  {
    "id":"Vehicle",
    "availability":"2012-08-04T16:00:00Z/2012-08-04T17:04:54.9962195740191Z",
    "model":{
    "show":true,
      "gltf":"../../SampleData/models/CesiumMilkTruck/CesiumMilkTruck.bgltf",
      "scale":2,
      "minimumPixelSize":25
    },
    "oriantation":{
      "interpolationAlgorithm":"LAGRANGE",
      "interpolationDegree":1,
      "epoch":"2012-08-04T16:00:00Z",
      "unitQuaternion":[some numbers, I am working on it]
    },
    "position":{
      "interpolationAlgorithm":"LAGRANGE",
      "interpolationDegree":1,
      "epoch":"2012-08-04T16:00:00Z",
      "cartographicDegrees":[time,long,lat,height,time,long,lat,height,time,long,lat,height]
    }
  }
]

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-09-17 15:58:09

我发现了问题,我没有给它在我的计算机上找到模型的合适的地方,当我使用我的本地主机时,我实际上应该给它来自我的本地主机或铯地址的完整地址,所以我应该输入它作为"gltf":"../../Apps/SampleData/models/CesiumMilkTruck/CesiumMilkTruck.bgltf",,而不是仅仅给它"../../SampleData/models/CesiumMilkTruck/CesiumMilkTruck.bgltf",的地址,所以它现在工作,感谢所有的帮助!

票数 0
EN

Stack Overflow用户

发布于 2015-09-17 14:01:46

ModelGraphics调用uri参数有一个奇怪的地方,但是CzmlDataSource加载器通过CZML文件中的名称gltf查找这个属性。不确定这是否是故意的。在任何情况下,如果使用正确的名称,就可以在CZML文件中显示模型。下面的示例缺少正确的模型方向,但显示模型已加载。

尝试加载沙堡并将以下内容粘贴到代码编辑器中,然后点击Run (F8)。

代码语言:javascript
复制
var viewer = new Cesium.Viewer('cesiumContainer');

var builtInCzml = [{
    "id" : "document",
    "version" : "1.0",
    "clock" : {
      "interval" : "2012-08-04T16:00:00Z/2012-08-04T16:02:00Z",
      "currentTime" : "2012-08-04T16:00:00Z",
      "multiplier" : 1,
      "range" : "LOOP_STOP",
      "step" : "SYSTEM_CLOCK_MULTIPLIER"
    }
}, {
    "id" : "Vehicle",
    "availability" : "2012-08-04T16:00:00Z/2012-08-04T16:02:00Z",
    "model" : {
        "show" : true,
        "gltf" : "../../SampleData/models/CesiumGround/Cesium_Ground.bgltf"
    },
    "billboard" : {
        "eyeOffset" : {
            "cartesian" : [0.0, 0.0, 0.0]
        },
        "horizontalOrigin" : "CENTER",
        "image" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEISURBVEhLvVXBDYQwDOuojHKj8LhBbpTbpBCEkZsmIVTXq1RVQGrHiWlLmTTqPiZBlyLgy/KSZQ5JSHDQ/mCYCsC8106kDU0AdwRnvYZArWRcAl0dcYJq1hWCb3hBrumbDAVMwAC82WoRvgMnVMDBnB0nYZFTbE6BBvdUGqVqCbjBIk3PyFFR/NU7EKzru+qZsau3ryPwwCRLKYOzutZuCL6fUmWeJGzNzL/RxAMrUmASSCkkAayk2IxPlwhAAYGpsiHQjbLccfdOY5gKkCXAMi7SscAwbQpAnKyctWyUZ6z8ja3OGMepwD8asz+9FnSvbhU8uVOHFIwQsI3/p0CfhuqCSQuxLqsN6mu8SS+N42MAAAAASUVORK5CYII=",
        "pixelOffset" : {
            "cartesian2" : [0.0, 0.0]
        },
        "scale" : 0.8,
        "show" : true,
        "verticalOrigin" : "BOTTOM"
    },
    "label" : {
        "fillColor" : {
            "rgba" : [255, 255, 0, 255]
        },
        "font" : "bold 10pt Segoe UI Semibold",
        "horizontalOrigin" : "LEFT",
        "outlineColor" : {
            "rgba" : [0, 0, 0, 255]
        },
        "pixelOffset" : {
            "cartesian2" : [10.0, 0.0]
        },
        "scale" : 1.0,
        "show" : true,
        "style" : "FILL",
        "text" : "Vehicle",
        "verticalOrigin" : "CENTER"
    },
    "path" : {
        "material" : {
            "solidColor" : {
                "color" : {
                    "rgba" : [255, 255, 0, 255]
                }
            }
        },
        "width" : 5.0,
        "show" : true
    },
    "position" : {
        "interpolationAlgorithm" : "LAGRANGE",
        "interpolationDegree" : 1,
        "epoch" : "2012-08-04T16:00:00Z",
        "cartesian" : [0.0, 1254962.0093268978, -4732330.528380746, 4074172.505865612,
                       120.0, 1256995.7322857284, -4732095.2154790815, 4073821.2249589274]
    }
}];

var czmlDataSource = new Cesium.CzmlDataSource();
czmlDataSource.load(builtInCzml, 'Sample CZML with 3D model');
viewer.dataSources.add(czmlDataSource);
viewer.trackedEntity = czmlDataSource.entities.getById('Vehicle');
票数 1
EN

Stack Overflow用户

发布于 2018-12-06 19:59:07

FYI -如果您正在执行uri路由,则必须包括https。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32618601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档