2016-06-22 2 views
0

Ich mache ein Universum mit Three.js mit den Leap Motion Steuerelementen, aber irgendwie wechselt es nicht die Planeten (Ändert die Kameraposition und lookAt) nachdem ich nach links oder rechts swipe, weil es auf die Position zurückgesetzt wird, die es startet, wenn Sie die Webseite starten, als ob es auf der Position der eingestellten Position am Anfang des Codes stecken würde ich dies zu setzen Kameraposition, wenn ich die Webseite starte.Kamera bewegt sich nicht von einem Objekt zu einem anderen, wenn bestimmte Kriterien erfüllt sind, geht zur richtigen Position und dann zurück zur alten Position

// camera 
camera = new THREE.PerspectiveCamera(25, $(window).width()/$(window).height(), 0.1, 100000); 
camera.position.set(300, 300, 300); 
camera.lookAt(scene.position); 

und in meiner Schleife der Sprung Bewegung die ich habe zu sperren, wenn, wenn ich nach links oder dieser Swipe zu überprüfen i gutmachen.

if(frame.gestures.length > 0) { 
     for (var i = 0; i < frame.gestures.length; i++) { 
       var gesture = frame.gestures[i]; 

       if (gesture.type == "swipe") { 
        //Classify swipe as either horizontal or vertical 
        var isHorizontal = Math.abs(gesture.direction[0]) > Math.abs(gesture.direction[1]); 
        //Classify as right-left or up-down 
        if (isHorizontal){ 
         if (gesture.direction[0] > 0) { 
         camera.position.set(300, 300, 300); 
         camera.lookAt(moonMesh.position); 
         } 
         else{ 

         } 
       } 
     } 
    } 

Ich habe auch nur im Programmierung in Javascript erwähnen sicher sein ich es hier ^^ meine Frage ist, wie kann ich meine Kameraposition verändern und konzentrieren, ohne sie in ihre Ausgangspunkte zurück?

Dank im Voraus

aufrichtig Tsukio Akira

Antwort

0

aus dem Code es, wie Sie immer auf moonMesh.position konzentrieren sieht, wenn es eine Swipe ist, so wird es die moonMesh nie NICHT LookAt und an der Position sein von (300,300,300)

+0

Nein ich habe meinen Code so eingestellt, dass er meine Szene anschaut, wenn ich das nicht mache, wird nur eine weiße Seite angezeigt, auch wenn ich es wische, wie kann ich das ändern, damit ich es ändern kann mein Code sieht im Grunde am Anfang der Ausführung der ErdeMesh aber ich will es in der Lage zu wechseln, wenn ich geklaut habe gibt es eine Möglichkeit, dies zu tun? Auch wenn ich die Kamera an einem anderen Ort als die if-Anweisung eingerichtet habe ich die Kamera innerhalb meiner Funktion init und meine if-Anweisung für den Wechsel ist in meinem Leap.loop –

+0

Sind Sie sicher, es ist Swipes dann erkennen? Der beste Weg, um zu überprüfen, ob die situativen Kriterien erfüllt sind, ist das Protokollieren einer Nachricht. Wenn Sie wischen und es die Nachricht nicht anzeigt, könnte es da sein. Was ich ursprünglich meinte war, dass wenn es geklaut würde, es auf MondMesh wäre und sich nie ändern würde, ich habe nicht gemerkt, dass es auf einer Erde begannMesh – Rush2112

+0

Ja ich weiß sicher, dass es den Swipe erkennt, weil sich die Kameraposition ändert, aber sofort wieder zurück geht Die Position, die ich in meiner Frage einstelle, weißt du etwas? –

Verwandte Themen