Kamera synchronisierung angepasst

This commit is contained in:
2026-05-26 08:49:38 +02:00
parent 677a71755e
commit 6c2b0626bb
3 changed files with 2478 additions and 610 deletions
+12 -10
View File
@@ -47,6 +47,14 @@ viewer.setPointBudget(3*1000*1000);
viewer.setMinNodeSize(0); viewer.setMinNodeSize(0);
viewer.setBackground("none"); viewer.setBackground("none");
console.log(viewer.orbitControls);
console.log(viewer.fpControls);
console.log(viewer.deviceControls);
viewer.orbitControls.enabled=false;
viewer.fpControls.enabled=false;
viewer.deviceControls.enabled=false;
//Dateipfade der Punktwolken //Dateipfade der Punktwolken
const pointCloudFiles={ const pointCloudFiles={
@@ -86,7 +94,7 @@ function loadPointCloud(path){
material.pointSizeType=Potree.PointSizeType.ADAPTIVE; material.pointSizeType=Potree.PointSizeType.ADAPTIVE;
viewer.fitToScreen(); viewer.fitToScreen();
syncCamera(); setTimeout(() => syncCamera(), 500);
}); });
} }
@@ -120,7 +128,7 @@ function syncCamera() {
// ----------------------------------------- // -----------------------------------------
const earthCircumference = 40075016.686; const earthCircumference = 40075016.686;
const metersPerPixel = earthCircumference * Math.cos(center.lat * Math.PI / 180) / Math.pow(2, zoom + 8); const metersPerPixel = earthCircumference * Math.cos(center.lat * Math.PI / 180) / Math.pow(2, zoom + 8);
const distance = metersPerPixel * map.getCanvas().height; const distance = metersPerPixel * (map.getCanvas().height/2);
// ----------------------------------------- // -----------------------------------------
// Zielpunkt = Kartenzentrum // Zielpunkt = Kartenzentrum
@@ -144,16 +152,10 @@ function syncCamera() {
// ----------------------------------------- // -----------------------------------------
// Potree Kamera setzen // Potree Kamera setzen
// ----------------------------------------- // -----------------------------------------
const camera = viewer.scene.getActiveCamera();
camera.position.copy(cameraPosition);
camera.lookAt(target);
viewer.scene.view.position.copy(cameraPosition); viewer.scene.view.position.copy(cameraPosition);
viewer.scene.view.lookAt(target); viewer.scene.view.lookAt(target);
camera.updateMatrixWorld(); viewer.renderer.resetState();
viewer.renderer.render(
viewer.scene.scene,
camera
);
} }
// Kameras bei jeder Kartenbewegung synchronisieren // Kameras bei jeder Kartenbewegung synchronisieren
+2464 -599
View File
File diff suppressed because it is too large Load Diff
+2 -1
View File
@@ -15,9 +15,10 @@
"@loaders.gl/core": "^4.4.1", "@loaders.gl/core": "^4.4.1",
"@loaders.gl/las": "^4.4.1", "@loaders.gl/las": "^4.4.1",
"deck.gl": "^9.3.1", "deck.gl": "^9.3.1",
"latest": "^0.2.0",
"maplibre-gl": "^5.22.0", "maplibre-gl": "^5.22.0",
"proj4": "^2.20.8", "proj4": "^2.20.8",
"three": "^0.124.0", "three": "^0.124.0",
"vite": "^8.0.7" "vite": "^8.0.13"
} }
} }