Message posté par : image95
----------------------------------------
Bonjour,
Je travaille sous Windows 10 et Cesium 1.79.1. NodeJS fonctionne bien.
J'arrive bien a charger/visualiser un jeu de scene 3D (Meshs+ texture associée) au
format Cesium 3D tiles.
Toutefois, je souhaite qu' un zoom automatique se fasse sur l'emprise de mon
tileset.
Mon souhait est qu'une fois que le tileset soit prêt à être affiché, la camera se
déplace et se positionne au-dessus du tileset. Le petit script fonctionne bien avec mon
fichier cesium3D tiles de version 0.0. Mais ne fonctionne pas pour le moment avec mes
fichiers tuilés au format 3D tiles de version 1.0.
J'ignore d'où peut venir l'erreur. Je n'ai pas de message d'erreur
dans la console. Mon tileset s'affiche bien mais
la camera quant à elle ne se déplace pas au dessus de mon tileset. Lors de
l'execution, La camera ne se déplace pas et reste à une emprise "globe"
mondial et aucun zoom ne s'effectue.
Ci dessous, un extrait du fichier tileset.json :
-----------------
Code :
{"asset":{"version":"1.0"},
"geometricError":10000,
"properties":{"Height":{"maximum":197.2902062288683,"minimum":158.81894164623267},
"Latitude":{"maximum":0.86549605155357123,"minimum":0.86536928860221218},
"Longitude":{"maximum":0.069327552218852465,"minimum":0.069115786360719259}},
"root":{"boundingVolume":{"sphere":[4133254.630298804,286568.64019880601,4833172.8602689737,596.59912274524095]},
"children":[{"boundingVolume":{"sphere":[4133289.5021612602,286493.75629316899,4833147.6480717165,514.11988103071815]},
-----------------
Ci dessous mon tout petit script javascript :
-----------------
Code :
// Création d'un viewer Cesium
var viewer = new Cesium.Viewer("cesiumContainer", {
});
// Création du tileset
var tileset = new Cesium.Cesium3DTileset({
url: 'http://localhost:8080/20210125_5RIAOM_CESIUM 3D Tlies_HQ/tileset.json'
});
// Ajout du tileset à la scène
viewer.scene.primitives.add(tileset);
// Une fois le tileset prêt à être affiché, on bouge la camera pour
// qu'elle se positionne au-dessus de ce tileset :
tileset.readyPromise.then(function (tileset) {
viewer.scene.camera.setView({
// La position finale doit englober la globalité du tileset
destination: tileset.root.boundingVolume.rectangle,
});
});
-----------------
Merci par avance.
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=341643#p341643
Pour y répondre : webmapping(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net