three.js Trackball-Kontrolle ohne die Rolle

8

Weiß jemand, ob und wie die Trackball-Steuerung so geändert werden kann, dass der Horizont beibehalten wird, Sie aber trotzdem um ein Objekt herum drehen können?

Wenn Sie axis.x und axis.z auf 0 setzen, wird die Rolle gestoppt, aber auch die Fähigkeit, sich über das Objekt zu drehen.

Die Steuerung der Umlaufbahn ist nahe an dem, nach dem ich suche, aber nicht in der Lage zu schwenken.

Irgendwelche Hilfe?

    
pete80 11.10.2012, 11:19
quelle

2 Antworten

3

Es ist eine Weile her, seit diese Frage gestellt wurde, aber ich stieß auf das gleiche Problem und fand nicht viel Diskussion online, also dachte ich, ich würde meine Lösung posten.

Wenn Sie TrackballControls verwenden und einen flachen Horizont haben möchten, können Sie einfach die TrackballControls.js-Bibliothek bearbeiten, indem Sie am Ende der Methode "this.rotateCamera" die folgende Zeile hinzufügen:

this.object.up = new DREI.Vektor3 (0,1,0); Dies sperrt die Aufwärtsrichtung der Kamera in der (0,1, 0) -Richtung (d. H. In der y-Richtung). Die gesamte modifizierte Methodenfunktion würde dann lesen:

%Vor%     
Daniel Kocevski 10.12.2015 18:25
quelle
0

Das scheint für mich zu funktionieren und arbeitet immer noch an der Mathematik dahinter. [Bearbeiten] Ich verwende zuerst camera.lookAt(someObj) , dann das.

%Vor%     
geedew 22.11.2012 05:32
quelle

Tags und Links