2017-09-01 1 views
0

Ich bin eine komplette Newbee zu three.js, und ich kann nicht herausfinden, wie Sie eine "Zoom alle" mit einer OrthograpicCamera implementieren. Ich habe auf der Dokumentation und im Internet gesucht, und ich habe nur Lösungen für PerspectiveCamera gefunden, die das Sichtfeld ändern.three.js Orthographische Kamera: Zoom Alle

Mein Ziel ist es, alle 3D-Objekte einer Szene auf dem Bildschirm anzupassen, damit sie so groß wie möglich dargestellt werden. Irgendwelche Ideen, um dies zu erreichen, werden hilfreich sein. Vielen Dank.

+0

Kennen Sie die Weltraumszenenbox und die Ansichtmatrix? – Rabbid76

+0

Ja, das tue ich. Das Objekt 'OrthographicCamera' hat das Attribut 'projectionMatrix'. Und ich habe die Begrenzungsbox des Objekts, das ich zeigen möchte (tatsächlich ist es ein Würfel). – GLR

+0

Ich habe den Code, den ich entwickelt habe, und den Ansatz, den ich gerade verwende, hier gepostet: https://stackoverflow.com/questions/45996637/three-js-orthographic-camera-zoom-all-for-a-cube- mit Perspektive – GLR

Antwort

1

Sie können den Begrenzungsrahmen für den 2D-Bildschirmbereich um alle Objekte herum berechnen und dann die Höhe und Breite der orthografischen Kamera festlegen. Sehen Sie, wie man es hier berechnet: ThreeJS 2D bounding box of 3D object