SCNCamera limitiert Arcball Rotation

8

Ich habe ein Szenen-Setup mit SCNCamera, das sich um ein Objekt dreht.

Was wäre der beste Weg, um den Umfang der Drehung zu begrenzen, den die Kamera um das Objekt herum erreichen kann?

Beispiel: Wie könnte ich die Rotation auf eine einzelne Hemisphäre beschränken, anstatt sich um eine ganze Kugel drehen zu können?

Mein erster Versuch war zu sehen, ob es Klammern für .allowsCameraControl gibt. Konnte nichts finden.

Ich habe dann versucht, c # Unity: Maus-Orbit-Skript , kein Glück.

Einige Hinweise darauf, wie man das angehen oder lösen könnte, wären großartig.

Boilerplate Arcball dank diese Antwort.

%Vor%     
Magrafear 28.11.2015, 04:56
quelle

2 Antworten

4

Es sieht so aus, als ob Sie fast schon da wären, nur mit dem @ Rickster-Code von die Antwort, die du zitiert hast.

Die Änderung, die Sie vornehmen könnten, wäre in diesen Zeilen:

%Vor%

die implizit erlauben, dass Pitch und Gier das Ganze abdecken Kugel. Das ist, wo Sie Ihre Begrenzung tun können. Zum Beispiel, anstatt zuzulassen, dass die Tonhöhe ( eulerAngles.x ) von 0 abweicht zu -π, könnten Sie tun

%Vor%

um zwischen -π / 2 und -π im Vollbildmodus zu variieren vertikales Scrollen, um diesen Bereich abzudecken. Oder du könntest es tun harte Min / Max-Grenzen / Checks in diesen beiden Zeilen zu beschränken zu einem bestimmten Bereich des Globus.

(Bearbeiten, um den Trägheitskommentar zu adressieren)

Für Rotationsdämpfung oder Trägheit würde ich es mit der eingebauten SceneKit-Physik angehen und die Kamera vielleicht auf einen unsichtbaren (keine Geometrie) SCNNode setzen. Dieser Kamera-Knoten wird zu einem Gimbal, ähnlich dem Ansatz in diesem Projekt: Ein interaktiver sieben Fuß großer Globus, der komplett in RubyMotion und SceneKit erstellt wurde .

Der virtuelle Gimbal erhält dann eine SCNPhysicsBody (du fügst hinzu, dass es standardmäßig keine gibt) mit einigen damping . Oder setzen Sie die Physik auf Ihr zentrales Objekt und geben Sie diesem Objekt angularDamping .

    
Hal Mueller 30.11.2015, 23:23
quelle
4

Vielleicht könnte das für Leser nützlich sein.

%Vor%     
Lorenzo Andraghetti 09.03.2016 09:12
quelle

Tags und Links