Kamera synchronisierung angepasst
This commit is contained in:
@@ -47,6 +47,14 @@ viewer.setPointBudget(3*1000*1000);
|
||||
viewer.setMinNodeSize(0);
|
||||
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
|
||||
const pointCloudFiles={
|
||||
@@ -86,7 +94,7 @@ function loadPointCloud(path){
|
||||
material.pointSizeType=Potree.PointSizeType.ADAPTIVE;
|
||||
|
||||
viewer.fitToScreen();
|
||||
syncCamera();
|
||||
setTimeout(() => syncCamera(), 500);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -120,7 +128,7 @@ function syncCamera() {
|
||||
// -----------------------------------------
|
||||
const earthCircumference = 40075016.686;
|
||||
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
|
||||
@@ -144,16 +152,10 @@ function syncCamera() {
|
||||
// -----------------------------------------
|
||||
// Potree Kamera setzen
|
||||
// -----------------------------------------
|
||||
const camera = viewer.scene.getActiveCamera();
|
||||
camera.position.copy(cameraPosition);
|
||||
camera.lookAt(target);
|
||||
|
||||
viewer.scene.view.position.copy(cameraPosition);
|
||||
viewer.scene.view.lookAt(target);
|
||||
camera.updateMatrixWorld();
|
||||
viewer.renderer.render(
|
||||
viewer.scene.scene,
|
||||
camera
|
||||
);
|
||||
viewer.renderer.resetState();
|
||||
}
|
||||
|
||||
// Kameras bei jeder Kartenbewegung synchronisieren
|
||||
|
||||
Reference in New Issue
Block a user