"dune" was ist das ?

Dune ist ein graphischer VRML97 Editor, ein simpler NURBS 3D Modeller und ein Animationwerkzeug in Entwicklung.
Es kann ein VRML97 file lesen, stellt dessen Szenengraph dar und erlaubt es dem Benutzer, den Szenengraph, die Fieldwerte und Routes zu verändern.
Dune kann benutzt werden, um einfache Animationen und Interaktionen in VRML97 zu erstellen. Als 3D Modelling Werkzeug ist es in der Regel ungeeignet. Es ist sinnvoll, zusätzlich einen statischen 3D Modeller mit VRML97 Export (wie z.B. wings3D oder Art Of Illusion) einzusetzen.
Im Gegensatz zu vielen 3D Modellern basiert das Beleuchtungsmodell von Dune auf den VRML97 Standard und kann deshalb benutzt werden, um deren exportierten VRML97 files nachzubeareiten.

"dune" abgestürzt, bisherige Arbeit verloren ?

Dune ist noch in der Entwicklungsphase und es läuft noch nicht so stabil, wie es sollte.

Wenn dune abgestürzt ist, ist die bisherige Arbeit verloren ?

Nein, nicht automatisch.

"dune" versucht noch, das VRML97 file kurz vor dem Absturz zu speichern. Wenn das erfolgreich ist, wird dune unter Unix/Linux so etwas wie

   Internal Crash !
   Try to save Files
  attempt to write file to /home/someone/.dune_crash_NUMBER_NUMBER.wrl
  write successfull
in die Standartfehlerausgabe des dune starteten Fensters und auf die Systemkonsole (z.B. das Fenster der "xconsole" Anwendung) schreiben.
Unter M$Windows erscheint eine entsprechende Messagebox

Benutzt werden hier die Systemvariablen "%HOMEDRIVE%" und "%HOMEPATH%".
Wenn sie dann dune neu starten und das file Menü öffnen, sollten Sie den Dateinamen des .dune_crash Files sehen.

Klicken Sie darauf und speichern Sie in eine andere Datei.

Allgemeine Tips zu Dune

Was bedeuten Szenengraph, Fieldwerte und Routes usw. ?

Dune ist ein Lowlevel Werkzeug zum Bearbeiten von VRML97 Files. Dabei wird angenommen, dass dem Benutzer die grundlegende Struktur von VRML97 bekannt ist.
Nährere Informationen findet man dazu (ausser in einer Anzahl entsprechender Bücher) in der offiziellen ISO Spezifikation unter http://www.web3d.org/x3d/specifications/vrml/ISO_IEC_14772-Allindex.htm Für die Benutzung von Dune ist vor allem die Node Referenz http://www.web3d.org/x3d/specifications/vrml/ISO_IEC_14772-Allpart1/nodesRef.html wichtig.

Die 5 Fenster von "dune"


Neben diversen Toolbars für Icons und Nachrichten besteht "dune" im wesentlichen aus 5 Fenstern. Ausser dem "3D Preview" Fenster lassen sich die Fenster über den Menüpunkt "View" angepasst an den jeweiligen Arbeitsschritt ein- und ausschalten.

Navigation

Um im 3D Preview Fenster navigieren zu können steht zur Verfügung:

zusätzlich steht ab der Version 0.16 eine SGI artige Navigation zur Verfügung. Bitte beachten Sie, dass ein fehlkonfigurierter Windowmanager diese Eingaben für seine eigenen Zwecke interpretieren könnte... Statt dem Gedrückthalten der Alt-Taste steht ab version 0.19beta auch das Icon zur Verfügung.
Ist ein 6D Eingabegerät aktiv, kann bei angewähltem Scene-Icon im Scene Tree Fenster je nach der Auswahl der Transformicons durch das VRML File navigiert werden.

Verändern des Szenengraph

Einen neuen VRML node mit eine Mausklick auf das entsprechenden Icon hinzufügen ist der einfachste Weg, den Szenengraph zu ändern.
Um ein VRML node zu identifizieren, bewegen Sie den Mousezeiger über das Icon und warten Sie kurz. Ein beschreibender Text wird auf der status bar am unteren Ende des Fensters erscheinen.
Dune versucht, entweder den neuen node am blau untermalten Selektionspunkt des Szenengraph

oder am root node des Scenengraph ("Scene" Icon) einzufügen.
Dune graut alle node Icons aus, die nicht eingefügt werden können.

Die folgende Tabelle zeigt die Anforderung für die entsprechenden Knoten im VRML97 Standard:


So muss zum Beispiel ein Appearence Knoten selektiert sein, damit ein ImageTexture Knoten eingefügt werden kann, oder ein Shape Knoten selektiert sein, damit ein Appearence Knoten eingefügt werden kann.
Alle die entsprechenden Felder im VRML97 Standard sind vom Datentyp SFNode, deshalb kann nur ein Knoten eingefügt werden. Deshalb wird ein Icon auch dann ausgegräut, wenn schon ein entsprechender Knoten vorhanden ist. Zum Beispiel können keine zwei ImageTexture Knoten zu einem Appearence Knoten hinzugefüt werden. Deswegen ist das ImageTexture Icon ebenfalls ausgegraut, wenn ein Appearence Knote selektiert wird, aber ein ImageTexture Knoten schon vorhanden ist.

Ein anderer Weg, den Szenengraph zu verändern, ist Teile davon mit der Maus herumzuschieben.
Dune zeigt das Icon eines Stopschildes, wenn der Ziel node dies nicht erlaubt.

Wenn der Ziel node es erlaubt, benutzt dune den normalen Mauszeiger.

Genauso wie beim lokalen kopieren/verschieben im Explorerprogramm von M$Windows2000 und ähnlichen Filemanagern kann man das Verhalten beeinflussen, wenn man die Tastatur benutzt, nachdem man angefangen hat, den VRML Knoten herumzuschieben:

Eingabe/Löschen von ROUTE's

ROUTEs werden in dune angelegt, indem man das entsprechende Icon im RouteView Fenster findet (klicken auf die Icons selektiert die entsprechenden Icons im Scene Tree Fenster), auf die Kästchen für die Events klickt. Dabei wird der Name des Events angezeigt und es lässt sich eine Linie zum nächsten Icon/Event ziehen.

Es können (wie im VRML Standard verlangt) nur Events mit gleichen Datentypen (gleiche Farbe der Kästchen) verbunden werden.
Zum Löschen der ROUTEs kann die Linie einfach durchgestrichen werden.

Als Vorschlag für Anfänger sind einige Event-Kästchen mit einem kleinen roten Punkt markiert. Der rote Punkt zeigt wichtige/oft benutzte Events.
Natürlich hängt die Wichtigkeit/Benutzungshäufigkeit eines Events vom Thema der VRML Welt ab. Alle Sensor Knoten (die eigentlich Quelle bei der Verarbeitung der meisten Events) haben mit roten Punkten markierte Event-Kästchen.

Bei komplexen VRML Welten mit vielen Objekten (zum Beispiel dem VRML Export aus einem 3D-Modelling-Programms wie Wings3D, Blender, AOI, Catia, 3D Studio Max, Maya usw.) kann es sehr schwierig werden, die gewüschten VRML Knoten im RouteView Fenster wiederzufinden. eine

Fieldwerte verändern

Es gibt mehrere Möglichkeiten, Fieldwerte zu verändern:

Vereinfachtes Skriptbau-Verfahren (neu in Version 0.22beta)

Bevor man den Scripteditor Dialog benutzen kann, muss man planen, welche Datentypen und eventIn/eventOut Informationen die Knoten haben, die man anschliessen will. Dazu muss man die Knotenbeschreibung des VRML standards (zum Beispiel über den Menüpunkt Help -> Name des gerade selektierten Knoten lesen (oder ein entsprechendes Buch benutzen).
Zum schnellen Ausprobieren kann es dagegen angenehmer sein, das vereinfachte Skriptbau-Verfahren zu benutzen.
Erzeugen Sie einen "leeren" Scriptknoten mit dem "Script" icon (oder benutzen Sie den Menüpunkt Create -> Programming -> Script).
Gemäss der "Weg da!" Philosophie des ursprünglichen dune Projekts drücken Sie einfach nur "OK" im Scripteditor Dialog (siehe oben).
Jetzt wird das RouteView Fenster für die weitere Arbeit benutzt.



Scriptknoten haben ein spezielles "connect anything" ("verbinde alles") eventOut. Wenn man draufklickt, die Maustaste festhält und die Maus verschiebt ("drag") wird eine weisse Route gezeichent



Wenn man die Maustaste gedrückt hält, kann man sehen, dass man diese Route (wie beim "normalen" Routing) an eventIns anderer Knoten anschliessen kann,



dass aber (im Gegensatz zum "normal" Routing) die Farbe dieser Route (also eigentlich der Datentyp) mit dem abgefragten eventIn wechselt.



Wenn man die Maustaste loslässt, wird die Route vollendet.



Entsprechend lässt sich der spezielle "connect anything" eventIn des Scriptknotens benutzen



und mit dem eventOut eines anderen Knoten verbunden.



Jetzt müssen Sie noch das "url" Feld des Scriptknoten verändern. Neben der Benutzung von urledit können sie auch den Scriptknoten im SceneTree Fenster und das "url" Feld im FieldView Fenster selektieren und dann



das "Object Edit" Icon drücken (oder benutzen den Menüpunkt Action -> Object edit).



Nun wird "dune" versuchen einen externen Editor zu starten - eingefleischte UNIX Benutzer benutzen "xterm -e vi", das ist der Default unter Linux/UNIX ("xedit" für MacOSX, "edit" für M$Windows) wenn $WINEDITOR nicht beim ersten Programmlauf gesetzt war. Man kann die Editoreinstellung mit dem Options -> Texteditor Settings ... Menüpunkt ändern.
Im Edit Fenster sehen Sie ein Schema des benötigten javascript Codes.
Benutzen Sie Options -> ECMAscript settings um einzustellen, welche erweiterten Kommentare Sie im Schema haben wollen.



Benutzen Sie den Editor, um den Javascript code zu vervollständigen, dann speichern und verlassen Sie den Editor - im Fall des vi Editors benutzen Sie die Tastenkombination :wq

NURBS Modellierung (zum Teil neu in Version 0.25beta)

*** Der Knotenvektoren ist der Vektor, über dem die NURBS-Kurve definiert ist. Ohne darauf näher einzugehen, soll nur kurz und beispielhaft sein Einfluß gezeigt werden. Betrachtet man den im Bild gezeigten Knotenvektor, so fällt auf, dass sich die ersten sowie die letzten Werte des Knotenvektors wiederholen. Das hat zu Folge, dass die Kurve wirklich bis zum ersten (letzten) Kontrollpunkt geht, und die erste (letzte) Seite des Kontrollpolygons (Polygon, dass durch die Kontrollpunkte gebildet wird) als Tangente besitzt, wodurch man bequem und "kontrolliert" modellieren kann (Man kennt die Endpunkte des Splines!). Vervielfacht man Werte des Knotenvektors in seinem Inneren, so erzeugt man einen Stetigkeitabfall in der Kurve. Tritt ein Knoten so oft auf, wievielten Grades die Kurve ist, so kann man, wie im Bild zu sehen, eine Ecke in der Kurve erzeugen.