Seite 1 von 1

Keyboard Tastatur Navigation Steuerung Walkthrough javascript

Verfasst: 15.05.2009, 23:59
von Daniel Krüger
Acrobat 3D Navigation

Guten Tag,

auf der Suche nach einem javascript zur Navigation durch das 3D Modell per Tastatur habe ich folgendes script bereits gefunden:

Code: Alles auswählen

//get/set active camera
myCamera = scene.cameras.getByIndex(0);
myCamera.roll = 0.0;
myMoveDistance = 1;

//inform the user
console.println("Use the following keys to navigate in the scene:");
console.println("* Arrow Keys = Left/Right/Forward/Back");
console.println("* u or d = Up/Down");
console.println("* Home or End = Camera Roll(reversed on Mac/Win)");

//Create the handler, and set to drive camera
myKeyHandler = new KeyEventHandler();
myKeyHandler.onEvent = function(event)
{
switch(event.characterCode)
{
case 28: //Left arrow
myCamera.targetPosition.x = myCamera.targetPosition.x - myMoveDistance;
myCamera.position.x = myCamera.position.x - myMoveDistance;
myCamera.roll = 0.0;
break;

case 29: //Right arrow
myCamera.targetPosition.x = myCamera.targetPosition.x + myMoveDistance;
myCamera.position.x = myCamera.position.x + myMoveDistance;
myCamera.roll = 0.0;
break;

case 30: //Up arrow
myCamera.targetPosition.y = myCamera.targetPosition.y + myMoveDistance;
myCamera.position.y = myCamera.position.y + myMoveDistance;
myCamera.roll = 0.0;
break;

case 31: //Down arrow
myCamera.targetPosition.y = myCamera.targetPosition.y - myMoveDistance;
myCamera.position.y = myCamera.position.y - myMoveDistance;
myCamera.roll = 0.0;
break;

case 117: //U for up
myCamera.targetPosition.z = myCamera.targetPosition.z + myMoveDistance;
myCamera.position.z = myCamera.position.z + myMoveDistance;
myCamera.roll = 0.0;
break;

case 100: //Do for Down
myCamera.targetPosition.z = myCamera.targetPosition.z - myMoveDistance;
myCamera.position.z = myCamera.position.z - myMoveDistance;
myCamera.roll = 0.0;
break;

case 1: //Home or End (Reversed on Mac/Win)
myCamera.roll = myCamera.roll + 0.1;
break;

case 4: //Home or End (Reversed on Mac/Win)
myCamera.roll = myCamera.roll - 0.1;
break;
}
}
//register and process
runtime.addEventHandler(myKeyHandler);
Dieses javascript ermöglicht das Navigieren per Pfeiltasten (vor, zurück, links rechts) und den Tasten "u" (hoch) und "d" (runter). Allerdings navigiert man damit im 3D Koordinatensystem. So wird es schwierig die Kamera aus der Sicht eines Fußgängers zu bewegen, da die Koordinaten nicht auf die lokale Kamerablickrichtung umgerechnet werden.

Lange ist es her (analytische Geometrie) und nach erfolglosem Grübeln kann ich die Aufgabenstellung nicht lösen. Man müßte es mit Koordinaten Umrechnungen hinbekommen (Trigonometrie, Tangenz, Cosinus, delta x, delta y), dass das lokale Kamerakoordinatensystem auf das Weltsystem umgerechnet wird. So liese sich dann per Pfeiltasten eine Navigation aus der Sicht des Fußgängers realisieren.

Die bisherige Navigationsmöglichkeit per Mouse ist sehr gewöhnungsbedürftig und auch für 3D Experten sehr schwierig zu verwenden. Mit der Kombination aus Tastaturnavigation in der xy Ebene (spazieren gehen) und der Mousenavigation in der Schwenkrichtung (Blick schwenken, umhersehen) könnte man ein benutzerfreundliches Steuerungstool entwickeln. In der Architekturpräsentation wäre dies sehr sinnvoll.

Bitte berichten Sie mir über die Machbarkeit. Eventuell können Sie auch ein Ergebnis posten.

MfG
Daniel Krüger

Keyboard Tastatur Navigation Steuerung Walkthrough javascript

Verfasst: 22.05.2009, 17:10
von acronaut
Hi Daniel,

grundsätzlich ist Deine Anfrage relativ einfach machbar. Wie Du allerdings schon sagst, gehört da ein bisschen Rechnerei dazu. Wie eilig ist es Dir denn mit dieser Funktion? Im Augenblick hab ich nämlich grad noch einige szu tun mit Programmierung, aber ich hoffe, dass ich das jetzt bald mal durch hab.

Gruß,
Andreas Vogel 

Keyboard Tastatur Navigation Steuerung Walkthrough javascript

Verfasst: 22.05.2009, 19:17
von Daniel Krüger
Hallo,

wenn Sie es bis Juli schaffen könnten wäre das recht.

Vielen Dank.

Daniel Krüger

Keyboard Tastatur Navigation Steuerung Walkthrough javascript

Verfasst: 26.05.2009, 11:39
von acronaut
Hallo,

also bis Juli sollten wir das hinbekommen. Kann aber nicht versprechen, dass es kostenfrei wird. Schaun wir mal.

Gruß,
Andreas Vogel

Keyboard Tastatur Navigation Steuerung Walkthrough javascript

Verfasst: 12.07.2010, 11:15
von archilars
Hallo!

Auch wenn dieser Post schon etwas älter ist - hat sich diesbezüglich ein Lösung gefunden?

Ich wäre sehr interessiert...

LG,

Lars Oberwinter