gltf在模型中移动问题

0 投票
请问一下viewer.entities.add添加gltf模型,人物没加载出来就先跑起来了,红色是path加载出来就走一段了(图1),
var stopTime = Cesium.JulianDate.addSeconds(startTime, 10000, new Cesium.JulianDate());
positions.addSample(stopTime, Cesium.Cartesian3.fromDegrees(118.881988, 42.272145, 638.473243));
时间设成10000就在原地,那就说明viewer.entities.add之后图形没加载出来就走了对吧(图2),
但是换成管廊之外的点,时间设置成很小也没有这问题(图3),请问如何把点定在管廊中避免偷跑的这种现象呢,
第二个问题,改变viewer.trackedEntity的视角是改变entity中的viewFrom属性么,如果是的话,
viewFrom: new Cesium.Cartesian3(50, 50, 50),这三个参数的属性值的设定有什么参照或者获取方式么。

8月 24, 2020 分类:  258次浏览 | 用户: s1401146279 初出茅庐 (29 分)

1个回答

1 投票
 
已采纳

您好,第一个问题您是想要实现在模型内部添加移动实体吗?第二个问题改变viewer.trackedEntity的视角是改变entity中的viewFrom属性,具体观察位置的偏移量您可以参考范例http://support.supermap.com.cn:8090/webgl/examples/editor.html#trafficSimulation

8月 24, 2020 用户: 卷饼先生 名扬四海 (3,996 分)
采纳于 8月 25, 2020 用户:s1401146279
你和上周我打电话问的那个人的方法好像不太一样....我能看一下你的不嫁计时器的Demo么
我的意思就是写一个定时器,在指定多少秒之后执行移动方法,这个时候模型已经加载完事儿了,所以当执行移动方法的时候,模型就是从起点开始走出去的,而不是等模型加载出来的时候就已经走了一段路程了。
移动信息都在在var positions=SampledPositionProperty()然后addSample各个节点,添加实体的时候position: positions,就绑定进去了,这个定时器要写在哪呢
您说的是用交通仿真里的那个updateObjectWithModel方式么,如果是这种方式200毫秒一更新,gltf就不能正常显示了吧
解决了,第二个点定在和第一个点相同的一个点,走一秒,第三个点定成原来的第二个点,依次往后推,希望以后有这种问题的人能看到,早点出坑吧
...