Je suis un total noob à Cesium alors pardonnez-moi pour toute bêtise. J'essaie d'écrire une application qui transmet les données de position et d'orientation au Césium, où elle est tracée en temps réel avec un chemin montrant où elle a été. J'ai un problème où il y a un bégaiement visuel de l'entité, presque certainement causé par le fait que la propriété entity.position est mise à jour plus rapidement que l'appel draw peut s'exécuter. J'avais le même problème avec le chemin polyligne, mais trouvé un extrait de code qui fixe pour moi:Césium Mise à jour dynamique des entités à partir de flux de données externes
var pathtrace = new Cesium.PolylineCollection();
primitives = viewer.scene.primitives;
var objpath = pathtrace.add({
name : 'Path',
polyline : {
positions : Cesium.Cartesian3.fromDegreesArrayHeights([0, 0, 0,
0, 0, 0])
}
});
primitives.add(pathtrace);
...Inside loop...
data = JSON.parse(result.data);
objpos = data.concat(objpos);
objpath.positions = Cesium.Cartesian3.fromDegreesArrayHeights(objpos);
Cependant, je suis incapable de trouver quoi que ce soit avec les mêmes fonctionnalités que PolylineCollection pour optimiser l'entité dynamique mise à jour. En ce moment j'emploie:
var vehicle = viewer.entities.add({
name : "Vehicle",
position : Cesium.Cartesian3.fromDegrees(0, 0),
orientation : orientation,
model : {
url : url,
minimumPixelSize : 50
}
});
...Inside loop...
vehicle.position = Cesium.Cartesian3.fromDegrees(data[0], data[1], data[2]);
... qui fait que l'entité saute d'avant en arrière pendant qu'elle se déplace. Y a-t-il une meilleure manière de faire cela?