Home

Hochschule für Technik und Wirtschaft Dresden (FH

image

Contents

1. Abb 3 7 Darstellungsfehler an Wandecken Aufgrund der Verwendung des Gouraudshadings und der unterschiedlichen Polygongr en werden die Polygone unterschiedlich schattiert siehe auch Abschnitt 6 Kantenbildung an ebenen Fl chen Durch ihren helleren Farbton unterscheiden sich die Stirnseiten von den Frontfl chen der Quader ndert sich auch noch die Perspektive so kommt es zum Flackereffekt da der Renderer nicht in der Lage ist eine eindeutige Tiefensortierung wie oben beschrieben durchzuf hren 54 Modellierung der Szene F r die L sung dieses Problems bieten sich mehrere Ans tze an e Stirnfla chen der Quader entfernen e h here Geometrieaufl sung zur korrekten Schattierung e Verwendung von C und L Extrusionen f r die Erstellung gewinkelter W nde Aber auch bei Elementen die in unterschiedlicher Tiefe angeordnet sind kann es zu Darstellungsfehlern in Shockwave3D kommen wenn nicht ein Mindestabstand zwischen den Fl chen eingehalten wird Die Auspr gung dieser Darstellungsfehler ist von der Perspektive abh ngig d h je nach Blickwinkel der Kamera werden Teile der hinten liegenden Fl che mehr oder weniger sichtbar falsch gerendert Abb 3 8 Problem der sichtbaren Fl chen und Kanten Im Beispiel der obigen Darstellung s Abb 3 8 sollte eine Fl che bestehend aus 2 Dreiecksfl chen als Fensterhintergrund dienen Erst nachdem die Fl che st rker unterteilt wurde erfolgte eine korrekte Darstellung
2. 1 3 4 1 Cortona Hersteller URL Plattformen Installationsdateigr e Zusammenfassung Abb 1 19 Quelle www45 Parallelgraphics gegr ndet 1998 Irland http www parallelgraphics com MS Windows MacOS PocketPC Java ca IMB Die Darstellungsqualit t ist durch Antialiasing und eine Reihe erweiterter Darstellungsm glichkeiten sehr gut Neben dem Software Rendermodus werden auch hardwareunterst tzte Rendermodi angeboten DirectX OpenGL Der Viewer benutzt das VRML97 Format f r die interne Datenrepr sentation Mittels Java und Javascript kann die Funktionalit t erweitert werden um z B Interaktivit t zu implementieren F r das Erstellen der Szenen kann jedes 3D Modellierungswerkzeug verwendet werden welches in der Lage ist in das VRML97 Format zu exportieren Au erdem bietet der Hersteller eigene Authoringsoftware f r verschiedene Spezialgebiete Architektur an Da Cortona auf dem VRML97 Standard basiert wird das Plug in in Zukunft mit Sicherheit auch den neuen X3D Standard unterst tzen Tabelle 10 bersicht zum Cortona VRML Viewer 1 3 4 2 Blaxxun Contact Hersteller URL Plattformen Installationsdateigr e Zusammenfassung Abb 1 20 Quelle www46 blaxxun interactive AG gegr ndet 1995 Deutschland http www blaxxun de MS Windows ca 1 5 MB Die Firma Blaxxun positioniert sich mit seinem Produkt Blaxxun Contact in Richtung virtuelle Communities und 3D Chatl sungen Au erdem
3. 3D Darstellungen erfordern trotz ihrer verwendeten Kompressionsalgorithmen und der M glichkeit 3D Inhalte zu streamen mehr bertragungsbandbreite als dies bei konventionellen HTML Webseiten der Fall ist Mit der fast fl chendeckenden Verbreitung schneller Zugangsm glichkeiten per ISDN oder DSL sind gerade bei privaten Nutzern die Grundlagen f r eine breite Marktdurchdringung der Web3D Technik gegeben Bit s kB s 56k Modem 56000 6 84 ISDN 1 Kanal 64000 7 81 DSL 768 768000 93 75 Tabelle 1 Ausgew hlte maximal erreichbare Downloadraten Eine statistische Untersuchung zur Internetnutzung in Europa die durch Electronic Commerce Info Net www17 ver ffentlicht wurde zeigte unter anderem auch die verschiedenen Anteile nach dem jeweiligen Nutzertyp auf Nimmt man den News Freak und den Klicker unter der Annahme heraus dass sich f r diese Gruppe keine gezielte Web3D Anwendung ableiten l sst so ergibt sich f r die anderen Nutzergruppen die mehr als 60 der Befragten umfassen ein potentieller Markt f r 3 dimensionale Darstellungen im Web Sicherlich wird nicht jeder Internetnutzer eine 3D Darstellung ben tigen aber f r viele Nutzerkategorien existieren bereits sinnvolle Web3D Anwendungen siehe Abschnitt 2 Anwendungsbereiche e Gameboys amp girls sind berwiegend jung Differenzierung der Nutzer nach Typen und surfen zum Vergn gen E Shopper e E Shopper kaufen h ufiger online ein und Gameboys amp girls 14 News Freak 14 sind i
4. 57 Modellierung der Szene Als N chstes erfolgt die Definition der VertexList die alle Scheitelpunkte beinhaltet H he der Kegelspitzen 1Z integer pPropList pHeight 1 2 Mitte oben Vergessen eaddievector 0207 0 0 LZ y Mitte piten Tyerrexbist adati vector OG CWO EA y 1Z pPropList pHeight 2 Eckpunkte der rechteckigen Mantelfl chen repeat with i 0 to pCountPics 1 ix Integer cost a a Tangle Pr 2180 03 7 tRadius iv integer sin i langle Pi 7 180 07 gt 1lRadius TVertexkist add vector 1x 1Y 127 TV rtexList add vector 1x 1 ln end repeat p_mrMesh vertexList lVertexList Listing 17 Berechnung und Zuordnung der VertexList Nachdem die VertexList alle ben tigten Scheitelpunkte beinhaltet k nnen diese den einzelnen Fl chen ber ihren Index in der VertexList zugeordnet werden Anzahl der Seitenfl chen ohne Kegelfl chen lCount pCountPics Generierung der Kegelfl chen repeat with i 1 to 1Count if i lt lCount then p_mrMesh face i vertices 2 i 2 2 2 ji 4 oberer Kegel PemrMeshr acelitzleoumne wentices 92 atl T gt suntenen Kegel else p_mrMesh face i vertices 2 i 2 2 4 oberer Kegel p_mrMesh face lit 1lCount vertices 2 i 1 3 1 unterer Kegel end if end repeat Listing 18 Zuordnung der Scheitelpunkte zu den Kegelfl chen Nach dem gleichen Muster verl uft auch die Zuordnung der Scheitelpunkte zu d
5. Im Gegensatz zu den beiden ersten appletbasierten Web3D Technologien ist es bei der Verwendung von Java 3D f r die Visualisierung nicht ausreichend dass eine Java 1 1 konforme Virtual Machine im System vorhanden ist F r die Darstellung wird zus tzlich die Java 3D RunTime Version ben tigt Hersteller URL Plattformen Installationsdateigr e Zusammenfassung Abb 1 18 Aus Java 3D Beleg Tabelle 9 bersicht zu Java 3D Sun Microsystems USA http www java sun com products java media 3D index html MS Windows Mac OS Linux Solaris HP UX AIX ca 1 2 MB Java3D wird zumeist in Wissenschaft Forschung und Lehre verwendet Haupteinsatzgebiete sind dabei Simulation Animation oder die 3 dimensionale Datenvisualisierung Bei dieser Web3D Technologie handelt es sich um ein 3D Grafik API welches auf der objektorientierten Programmiersprache Java basiert Ein Vorteil von Java 3D ist dass die Programmierung auf einem relativ hohen Abstraktionslevel erfolgen kann Aufwendige 3D Programmierungen auf Low Level Ebene werden durch die Verwendung der Java 3D API vereinfacht der Entwickler kann sich auf die Realisierung der Szene unter Verwendung der Java 3D Funktionen konzentrieren F r die interne Repr sentation der 3D Objekte wird das Prinzip des Szenegraphen siehe Abschnitt 1 4 Szenenbeschreibung verwendet Die mit der Java 3D API erstellten Applets k nnen problemlos im Web pr sentiert werden Die f r die Betrachtung der Jav
6. l ngeren Downloadzeiten Abb 3 3 3D Studio MAX Renderausgabe Abb 3 4 ohne Segmentierung Abb 3 5 10x10x1 Segmente Eine Alternative zur Verwendung zus tzlicher Segmente ist die Erh hung der Geometrieaufl sung per Lingo Auf die Ursache dieser Darstellungsprobleme wird in Abschnitt 6 Kantenbildung an ebenen Fl chen noch detaillierter eingegangen 3 1 4 Simulation eines Spotlichtkegels Drei Einschr nkungen von Shockwave3D f hren dazu dass der Lichtkegel der Stra enlaternen nicht mit einem Spotlicht und aktiviertem Volumenlicht dargestellt werden kann e Volumenlicht wird unterst tzt e Die runde Form des Lichtflecks auf dem Boden ist nur kompliziert zu generieren siehe Abschnitt 6 1 Kantenbildung an ebenen Fl chen e Jedes weitere Licht in der Szene reduziert die Renderperformance Mehr als 8 Lichter werden nicht unterst tzt Aus diesen Gr nden wurde der Lichtkegel Abb 3 6 durch einen Kegel mit halbtransparenten wei gelben Material simuliert Der Lichtfleck besteht aus einem flachen Zylinder mit dem gleichen Material 53 Modellierung der Szene Abb 3 6 Laterne mit simulierten Lichtkegel in 3D Studio MAX F r die Realisierung der Kollisionserkennung der Kamerasteuerung bedeutete dies dass die Lichtkegel kein Kollisionsereignis ausl sen durften damit man durch den Lichtkegel hindurchgehen kann Entsprechend musste die Kamerasteuerung um eine Liste der Modelle erweitert werden bei denen eine Kollisio
7. oll 4 E Sprite Handlers on beginSprite me pSprite sprite me spriteNum pMenber sprite me spriteNum member PMemberStateOK me isMemberStateOK if pMemberStateOK then plnitialized me initializef else plnitialized FALSE awd sf Ki 1y Abb 2 6 Director Arbeitsbereich das Skriptfenster 2 1 6 Das Nachrichtenfenster Das Nachrichtenfenster Abb 2 7 dient zur Ausgabe von Kontroll und Debuginformationen w hrend der Entwicklungsphase Mit Hilfe des put Befehls k nnen Werte in Strings umgewandelt im Nachrichtenfenster ausgegeben werden In umgekehrter Richtung ist es m glich Lingobefehle im Nachrichtenfenster einzugeben und damit tempor re Ver nderungen herbeizuf hren lolx Wi lkewnen Fe Virercor al externalEvent writsMessaze pr pareicvie si Breunen251220 2 D pl_uRall Director Vaulel ust W3Ds Vance hof ausser YID 4 Status 4 2 Brennen 251220I72 D plonRalfsDirectorWancelast _W3Ds Ianen W3L 4 Status 4 ale rl Abb 2 7 Director Arbeitsbereich das Nachrichtenfenster Au er den genannten wichtigsten Fenstern gibt es noch eine Reihe weiterer Fenster die z B f r die Erstellung und Manipulation von Darstellern oder f r die Fehlersuche Debugging genutzt werden 34 Grundlagen Director und 3D Darstellung 2 2 Lingo die Programmie
8. Das gleiche Ergebnis konnte auch ohne Segmentierung erzielt werden indem die Fl che einen gr eren Abstand zu der Fensterfront erhielt 3 2 Modellierung in Shockwave3D Es gibt verschiedene Gr nde daf r dass nicht die komplette Szene in 3D Studio MAX erstellt und eins zu eins verwendet werden konnte Neben der Visualisierung von Textinformationen beschrieben im Abschnitt 5 2 Dynamische Visualisierung textbasierter Inhalte ist auch die Realisierung eines Objektes mit ver nderlicher Geometrie wie dies beim Infoobjekt im Kinosaal notwendig ist nur per Lingo zu verwirklichen Au erdem wurden um die Funktionalit t einer Alphatextur zu testen und die Downloadgr e gering zu halten die Materialeigenschaften der Fenster erst zur Laufzeit definiert Abschnitt 3 2 1 Texturierung der Fenster 3 2 1 Texturierung der Fenster F r die Fenster sind w hrend der Modellierung nur Dummyebenen in der Gr e der Fenster erstellt worden Diese besitzen alle die gleichen Materialeigenschaften d h sie verwenden in Shockwave3D alle den gleichen Shader Um das Fensteraussehen etwas realistischer zu gestalten und die M glichkeit von Alphatexturen zu testen wurde f r jedes Fenster eine zweite Ebene f r den Beleuchtungshintergrund erstellt Listing 44 Duplizierung der Fensterebenen Au erdem wurden 3 Shader angelegt einer f r die Fensterebenen und jeweils einer f r einen beleuchteten bzw unbeleuchteten Hintergrund Listing 45 Definiti
9. Als Beispiel diente der Schriftzug Shockwave3D Schriftgr e und Extrusionsbetrag haben keinen Einfluss auf die Anzahl der Scheitelpunkte Es wurde mit Geometriequalit t 50 und ohne Material und Shadereinstellungen exportiert Schriftart Anzahl Scheitelpunkte Exportgr e Staccato 222 BT handschriftlicher Charakter 12634 Scheitelpunkte 322 kB Arial 2500 Scheitelpunkte 59kB Exportfile Tabelle 19 Anzahl der Scheitelpunkte bei unterschiedlichen Schriftfonts 76 Ubermittlung und Darstellung dynamischer Inhalte 5 2 2 3D Text zur Laufzeit erzeugen Director bietet die M glichkeit 2 dimensionalen Text zu extrudieren und somit einen r umlichen Eindruck des Textes zu vermitteln Die notwendigen Einstellungen lassen sich mit dem Eigenschaftsinspektor oder zur Laufzeit per Lingo vornehmen Mit der Erstellung eines 3D Schriftzuges wird im Hintergrund ein neuer Shockwave3D Darsteller inklusive Standardkamera und Standardbeleuchtung erzeugt Ein solches 3D Textelement ist jedoch auf maximal 70 Zeichen beschr nkt Je nach verwendetem Schriftfont und daraus resultierender Polygonanzahl reduziert sich die Anzahl der maximal darstellbaren Zeichen noch einmal deutlich Diese Art der Textdarstellung stellt die ung nstigste Variante hinsichtlich zu erwartender Prozessorlast und vermitteltem Informationsgehalt dar Es ist jedoch m glich mittels cloneModelFromCastmember das Modell welches den 3D Schriftzug repr sentiert in einen anderen 3D
10. he ber dem Boden beh lt muss die anf ngliche H he ermittelt werden Dies erfolgt mittels eines Pickstrahls der von der Kameraposition aus in negative z Richtung ausgesendet wird Als Ergebnis erh lt man eine Propertyliste des ersten gepickten Elements Im Pickmodus detailed enth lt die Liste u a auch den Abstand zwischen dem Ursprung des Pickstrahls und dem gepickten Element Die ermittelte H he wird in sp teren Translationen als Vergleichs und Korrekturwert verwendet lTmpList pMember modelsUnderRay pCamera transform position vector 0 0 1 1 detailed it Iimphiet eount gt 0 ther pCamOldDistance lTmpList 1 distance Listing 31 Ermittlung der H he der Kamera 69 Die Kamerasteuerung Die Drehung der Kamera f r den Kameraschwenk Pan bzw den Blick nach oben und unten Tilt verwendet zwei unterschiedliche Varianten f r die Rotation eines Objektes den Befehl f r die Rotation des Objektes und die absolute Angabe der Rotationskomponente der Transformationsmatrix pCamera rotate pCamera worldPosition vector 0 0 1 l_rotangle world a Wy pCamera transform rotation x Listing 32 Relative und absolute Rotation der Kamera Bei der Kamerasteuerung fiir den Blick nach oben und unten ist auBerdem eine Begrenzung des Rotationswinkels notwendig F r die Translation sollte eine zunehmende Geschwindigkeit bis zu einem Grenzwert bei gedriickter Maustaste realisiert werden Wird die Taste wieder losgelassen so
11. soll den Zusammenhang zwischen Rendermodus und CPU Auslastung noch einmal veranschaulichen Die Zahlen sind dabei wie folgt den einzelnen Rendermodi zugeordnet 1 software 3 directX7_0 2 directx5_2 4 openGL Verlauf der CPU Nutzung Abb 6 16 Verlauf der CPU Belastung bei Shockwavedarstellung 93 Darstellungsqualit t und Performance 6 6 Zusammenfassung Die Ergebnisse der Untersuchungen k nnen wie folgt zusammengefasst werden e Die Autorenumgebung bietet im Vergleich zur Shockwave und Projektordarstellung die schlechteste Performance Ursache siehe Abschnitt 6 2 Renderperformance in Abh ngigkeit der Geometrieaufl sung Dieser Nachteil spielt jedoch in Bezug auf die letztendliche Pr sentationsform nur eine untergeordnete Rolle e Ein Directorfilm wird im Projektormodus bezogen auf die Pr sentation im Webbrowser ca 10 15 schneller wiedergegeben bzw die Prozessorlast ist bei gleicher FPS Rate entsprechend geringer e Die Wertigkeit der Rendermodi wird allgemein f r die Windows 9x 2000 XP Plattform in der Reihenfolge directX7_0 directX5_2 openGL software angegeben Die verwendete ATI 7500 Grafikkarte bietet jedoch die beste Performance im openGL Modus Dieses Ergebnis ist jedoch hardwarespezifisch und spricht f r die Qualit t der Karte und besonders f r deren OpenGL Treiber e Die Performance im Softwaremodus ist im Vergleich zu den hardwareunterst tzten Modi deutlich schlechter e Die
12. 3 Kategorisierung von 3D Webtechnologien 22222042200n0esnensennensennnesennnenennsnonsennnnsonnnenennesenennane 17 1 3 1 Standardbasiert Technologien iaeia ea r roa aa ee 17 1 3 2 Propriet re Plug in L sungen 0 eee eeeeecseeeecseeseceseeecsecseesecueesecsaeeeesaecsessecneeseesaeeeesaecseeseenesereeaeeess 21 1 3 3 Appletb sierte Viewer enl2 22 eleva big hasten aveig bites bese eieleds ebein seele 24 1 3 4 VRME Viewer Ran BIRIS SHE EINER aR in 27 1 3 5 Einsch tzung des aktuellen Standes der Web3D Technologien 202242002202snesennennensennennen 28 1 4 Szenenbeschreibung 22 2 2 24er cia EHEN DESSEN DENIED la 28 2 Grundlagen Director und 3D Darstellung 220204220200220ennesnensennensennnesonnnenenesnonennonnensnennnenennn onen 31 2 1 Einf hrung in die Director Semantik isisisi tic ieii dee eei e Eei o e E E E A a eaaa 31 2 Ve Ve 6B Whine 22 55 eie e an e a e E aE E aeea aes a e aE eles heeled SE EEEE aG 32 2 1 2 Di Besetzung euere eane oi te tebe be Web eaa sub The testes LEEU OE Ee SEA Ee Eia r aK eaaa 32 21 3 D s Dre Duchy ss segs u 2 22 aaa L n ESEN ESE Se 33 2 14 Der Eigensch ftsimspektor 2 2 422222 BER leise bin Naess S eatis 33 2 1 5 D S Skriptfenster 5 4422 Kerr ibn aca beste tobe mussen r hota Bh EEEa 34 2 136 D s Nachrichtenten ster s cs 26003058 ei det 42a ki eaei E EEE K Ee E A E iets aea eiaa 34 2 2 Lingo die Programmiers
13. 3 bis 8 Mantelfl chen erstellt werden Somit ist man hinsichtlich der Anzahl der zu bewerbenden Filme flexibel Die Eckpunkte der Mantelfl chen sind zugleich auch Eckpunkte der Basis der n seitigen Pyramiden die das Objekt nach oben bzw unten abschlie en s Abb 3 9 Abb 3 9 n seitige Pyramiden als Abschluss Diese Eckpunkte liegen auf zwei Kreisen die durch den Au endurchmesser des Prismas definiert werden Insgesamt besteht das Infoobjekt aus n 4 Polygonen und n 2 2 Scheitelpunkten s Abb 3 10 Abb 3 10 Drahtgittermodell des 5 seitigen Infoobjektes Die Geometrie des Objektes besteht aus einem Gitternetz dessen Eigenschaften in der Funktion createGeometry definiert werden Zuerst sind einige Initialisierungen vorzunehmen d h es wird u a die Anzahl der ben tigten Polygone und Scheitelpunkte berechnet lAngle 360 0 pCountPics Winkel zw 2 Punkten auf dem Umkreis und dem Mittelpunkt lNumFaces pCountPics 4 lNumVertices pCountPics 2 2 Listing 15 Initialisierung f r Meshgenerierung Anschlie end wird ein Gitternetzprimitiv erstellt dessen Eigenschaften f r die Polygone und Scheitelpunkte auf die berechneten Werte gesetzt werden Au erdem wird festgelegt das keine NormalList und keine ColorList explizit definiert wird F r die Positionierung der Textur werden 4 Texturkoordinaten verwendet p_mrMesh p3DMember newMesh mrMesh 1NumFaces 1lNumVertices 0 0 4 Listing 16 Meshressource erstellen
14. 4 naturwissenschaftliche Vorg nge und komplexe Zusammenh nge technologischer Funktionen verst ndlicher dargestellt sowie abrufbarer abgelegt werden Des Weiteren k nnen 3D Darstellungen von virtuellen Klassenr umen in Lernanwendungen die so genannte Raummetapher umsetzen So wird der Eindruck eines geschlossenen Raumes in dem man sich zum Lernen aufh lt erzeugt und die reale Lernsituation nachgeahmt Mit virtuellen R umen kann der Lernprozess um spielerische und entdeckende Elemente erweitert werden Der Lernende kann im Sinne des handlungsorientierten Ansatzes den virtuellen Raum mit der Maus erforschen Abb 1 3 Interaktive 3D Darstellung eines Sch dels www25 Abb 1 4 Darstellung der ISS Raumstation www26 14 Einfiihrende Bestandsaufnahme 1 2 3 Entertainment Im Bereich webbasierter Unterhaltung gibt es verschiedene Anwendungsgebiete fiir die dreidimensionale Darstellung Von besonderer Bedeutung auch im Hinblick auf eine weitere Verbreitung von Web3D Anwendungen sind hierbei Spielkonzepte speziell in kooperativen virtuellen Welten Eine oft realisierte Variante stellen dabei so genannte First Person 3D Shooter dar bei denen man sich in einer virtuellen Umgebung bewegt diese aus dem Blickwinkel der gesteuerten Person wahrnimmt und innerhalb der Szenerie verschiedene Aufgaben l st Dieser Bereich stellt hohe Anforderungen hinsichtlich Detailgenauigkeit Visualisierungsqualit t und Renderperformance an die verwe
15. Bildwiederholrate in Abhangigkeit der Wiedergabeumgebung directX7_0 FPS m directX7_0 CPU openGL FPS o openGL CPU m directX5_2 FPS m directX5_2 CPU u softw are FPS m softw are CPU Bilder s bzw CPU Auslastung Shockw ave Projektor Autorenumgebung Abb 6 15 Performanceuntersuchung nach Wiedergabeumgebung Wie in Abb 6 15 erkennbar ist wird in allen drei Wiedergabeumgebungen im Rendermodus directx7_0 und openGL die vorgegebene Framerate von 30 Bildern pro Sekunde erreicht Allerdings unterscheiden sich die daf r ben tigten Prozessorleistungen voneinander Die 3D Testszene im Browser abgespielt ben tigt 10 15 mehr Prozessorleistung als dies bei einer Darstellung im Projektormodus der Fall ist Die Werte im Autorenmodus sind schon deshalb h her weil Director selbst eine Prozessorlast von mehr als 30 auf dem Testsystem erzeugt Werden die Rendermodis directx5_2 oder software verwendet so wird die erreichbare Bilderwiederholrate von der CPU Leistung begrenzt Bei maximaler Auslastung der CPU wird die Zielframerate von 30 FPS nicht mehr erreicht Im Softwaremodus ist die Bildwiederholrate noch einmal etwa 50 geringer als beim directx5_2 Rendermodus Die Unterschiede in der erreichten Framerate in der Shockwave bzw Projektorumgebung sind bei diesen beiden Rendermodi nicht sehr ausgepr gt lt 1FPS Nachfolgende Darstellung s Abb 6 16
16. Modellen bei zunehmender Kameraentfernung automatisches Standardverhalten e Reduzierung der Geometrieaufl sung auch manuell per Lingo m glich tinker e f gt Silhouetten Falten und Begrenzungskanten einem Modell hinzu meshdeform e steuert verschiedene Gr en einer Gitternetzstruktur eines darauf basierenden Modells sds e f gt geometrische Details zu Modellen hinzu und synthetisiert bei abnehmender Kameraentfernung zus tzliche Details um Kurven zu gl tten toon e cartoonartige Wiedergabe der Modelloberfl che thavok e Havok Physics Xtra mit dem sich realistisch physikalische Kr fte St e und Kollisionen simulieren lassen www53 Tabelle 16 bersicht der Standardmodifikatoren 63 Die Kamerasteuerung 4 2 2 Der Collision Modifier Soll der Modifier Collision fiir die Kollisionserkennung verwendet werden so wird dieser wie folgt an das Modell gebunden das potentiell kollidieren kann member whichMember model whichModel addModifier collision Listing 22 Zuordnung des Collision Modifiers zu einem Modell Anschlie end k nnen die ben tigten Attribute des Modifikators gesetzt werden Wenn explizit auf das Kollisionsereignis reagiert werden soll wird die Callback Technik eingesetzt d h es wird der Funktion registerForEvent der Funktionsname als Symbol bergeben Mit der Verwendung des Befehls member whichMember registerForEvent collideWith handlerName scriptObjekt pMember model
17. Plug ins existieren Die im Cult3D eigenen Format c3d exportierten 3D Szenen werden anschlie end im Cult3D Designer bearbeitet und um interaktive Verhaltensweisen erweitert Die Publikation der Cult3D Applikation erfolgt im eigenen verschl sselten szenegraphbasierten Dateiformat co Cult3D wird erfolgreich vor allem f r kommerzielle Produktpr sentation eingesetzt Tabelle 4 Zusammenfassung Cult3D Technologie 22 Einfiihrende Bestandsaufnahme 1 3 2 4 Macromedia Director Shockwave3D Hersteller Macromedia USA URL http www macromedia com software director Plattformen MS Windows MacOS Installationsdateigr e ca 4 5 MB Zusammenfassung Director bietet mit der aktuellen Version 8 5 1 MX eine der umfassendsten Implementationen von 3D Funktionen aller am Markt befindlichen Plug ins Als Dateiformat f r 3D Szenen verwendet Director das W3D Format Fast alle kommerziellen 3D Editoren bieten mittlerweile ein Export Plug in f r das W3D Format an Leider k nnen Szenen die in Director per Lingo erstellt oder manipuliert worden sind standardm ig nicht in eine W3D Datei geschrieben Abb 1 14 Aus selbst werden es gibt allerdings erste Versuche dies ber Xtras zu realisieren entwickelter Testszene Director3D unterst tzt Keyframe und Knochenanimationen Partikelsysteme unterschiedliche Interaktionsformen komplexe Beleuchtungsmodelle und Multitexturing Das Plug in verwendet Multi Resolution Meshes mit denen di
18. Szene f r die Verwendung in Shockwave erfordert viel Erfahrung und bringt eine Reihe von potentiellen Fehlerquellen mit sich Im Umgang mit 3D Studio MAX sind hinsichtlich der Verwendung von exportierten Dateien in Shockwave3D einige Besonderheiten zu beachten die so sie f r das Projekt von Bedeutung waren nachfolgend beschrieben werden 51 Modellierung der Szene 3 1 1 Der Export einer 3D Szene Der Hersteller von 3D Studio MAX bietet mittlerweile ein eigenes W3D ExportPlug in an das es erm glicht eine 3D Szene direkt in das W3D Format zu exportieren Der Umweg ber das Wavefront OBJ Format wie es in GRO00 noch beschrieben ist entf llt damit Einschr nkungen die dem W3D Format zu Grunde liegen f hren dazu dass eine Reihe von Funktionen und Objekten die 3D Studio MAX unterst tzt nicht exportiert werden k nnen Dies ist bei der Modellierung entsprechend zu beachten Die Funktion Auswahl exportieren exportiert die gesamte Szene aber nicht die ausgew hlten Elemente Au erdem werden alle Objekte einer Szene die sichtbaren und die verdeckten exportiert Das bedeutet Objekte die ben tigt werden aber vorerst unsichtbar sein sollen m ssen per Lingo Befehl vom Rendervorgang ausgeschlossen werden Member 3Dmem model hiddenModel removeFromWorld Listing 13 Entfernen eines Modells aus der RenderList 2D Objekte k nnen nicht exportiert werden d h die Kamerafahrt der Introsequenz entlang eines vorgegeben
19. besonders auff llig sind wenn das Seitenverh ltnis der Fl che deutlich von dem der Textur abweicht Die einfachste Variante eine Textur basierend auf einer Textinformation zu erstellen zeigt nachfolgendes Beispiel member whichTextmember text aString member 3D_Scene texture Test member member whichTextmember Listing 36 Einfachste Methode der Erstellung einer Textur basierend auf einem Textdarsteller Bei der Nutzung der Overlay Funktion erfolgt standardm ig keine weitere Skalierung Das Image der Textur wird an der angegebenen 2D Position dargestellt s Abb 5 2 En Comgwlerpr wee Lu sche ch was Du will um die War ch n bendlig echion einen Gompuler Abb 5 2 Textdarstellung mittels Overlay Technik 78 Ubermittlung und Darstellung dynamischer Inhalte 5 2 3 2 Schrifttextur auf Objekten Die Nutzung von Texturen zur Informationsvermittlung wird u a auch bei der Ubermittlung des Preload Status auf den Schiebtiiren im Kinogang verwendet Es wird auch hier wieder die Bildinformation eines Textdarstellers zur Erzeugung einer Textur verwendet Diese Textur wird jedoch nicht als Overlay verwendet sondern dem Shader eines Objektes zugeordnet Die prinzipielle Vorgehensweise soll vereinfacht mit Hilfe des Beispiels aus Abb 5 3 erl utert werden Download zu 45 abgeschlossen 750 kB won 1600 kB gelndien Datei Kegel jpg Abb 5 3 Beispiel Multitexturing Bei der Testszene soll eine ver nderlic
20. cscesscsssesessecseesecserscceseeeesaeceeesecueeseenaeecesaeceessesaeeseeneeseesaes 15 1 6 3D Rendering als Hilfsmittel f r Designentscheidungen www20 2u02202s02sessneseennenenesnenennene 16 1 7 Beispiel eines 3D Entwurfes f r ein Bebauungsprojekt www20 u esuessessessesnneseenneseneenenennen 16 1 8 Beispiel einer 3D Reliefdarstellung WWW20 sesscssesscseeseceseeecseceeeseceeesecsaeeeceaecaeaesseeseeneeeeeeaees 17 1 9 Erweiterte Profile der X3D Architektur G TO2 uenenenenenenenennenenennnnenenennnennnnenn 19 1 10 Allgemeiner Aufbau einer X3D Szene nach G TO2 eeenenneennn 20 127 Quelle Www lias nee Bee Se Ee A a ea 21 1 12 Quelle WWWA0T 28 2 2 Nase Meine en tlie enon decent 22 1 13 Quelle WWWA4 26 cei eniedntii eda sense AEK EE SEK E E E ees 22 1 14 Aus selbst entwickelter Testszene 0 ccecceeceesseesceescessceeceesecscceaecnsecaaecaeecaeeeneeeneeeeeseenseeeaeeeaeenaeenaeenee 23 1 15 Quelle www291 2 2eaenelaenlstcniiniaininlnslainiisnlaleineislaldilen 24 1 16 Produktpr sentation mit 3Danywhere WWW43 cc escsesecseseeceseeecseceeesecneesecsaeeeesaecaeaesaeeseeneeeeeaes 25 1 17 Quelle www44 2 esestetenseslaieunsteinideiniehnnsiainiialaleinlauslaidhlen 25 1 18 Aus JavaBDSBeles 2 se REN Mini e RRO Whe iin elie a 26 1 19 Quelle www43l 2 eetenseasaennsteniine ale nlnsiainiisnlaleineisialdilel 27 1 20 Quelle WWWw46 1 02 scenic ninth a
21. des Modells oder aller Modelle aufgerufen Dabei erfolgt die Rotation bezogen auf das objekteigene Koordinatensystem um die festgelegte Achse mit dem definierten Rotationsoffset In der Beispielszene wird nur die mittlere Kugel animiert Auf Grund der hierarchischen Anordnung der restlichen Modelle erfolgt deren Bewegung relativ bezogen auf die mittlere Kugel d h sie kreisen mit ihrem originalen Abstand und ihrer Ausrichtung um das Rotationszentrum 2 4 7 Ein unverzichtbares Tool f r den berblick 3DPI Ein ausgesprochenes Defizit von Director3D ist ein Tool das bersichts und Einstellungsm glichkeiten f r all jene Elemente bietet die in einem 3D Darsteller eingebettet sind Mit den Bordmitteln von Director ist eine r umliche Analyse nur sehr umst ndlich und wenig anschaulich zu realisieren Nur wenige Eigenschaften sind mit dem Eigenschaftsinspektor bzw ber das Shockwave3D Fenster einstellbar Die anderen Informationen k nnen nur ber das Nachrichtenfenster abgefragt und gesetzt werden Diese Vorgehensweise ist recht umst ndlich wenig bersichtlich und meistens nicht ausreichend Einfache Abfragen wie zum Beispiel die Auflistung aller Modelle und ihrer Namen sind damit nicht realisierbar Abhilfe schafft der 3D Property Inspector kurz 3DPI Abb 2 19 genannt ein unverzichtbares Tool f r die Analyse aller Elemente eines 3D Darstellers BOM vorbe EU_neoimorbens o o o Bm g PFE aie rs Om ras zoom L
22. die Beschreibung der Szene und ihr Verhalten ben tigt werden Solche Knoten k nnen z B geometrische Primitive Gruppierungen Transformationen oder Lichtquellen sein Insgesamt existieren im Sprachumfang von VRML97 54 verschiedene Knotenarten Daneben werden in dieser Norm auch 20 eigenst ndige Feldtypen spezifiziert die vergleichbar mit unterschiedlichen Variablentypen anderer Hochsprachen sind Beispiele f r Feldtypen sind SFBool SFColor MFColor oder SFFloat e VRML97 beinhaltet M glichkeiten zur Nutzerinteraktion und Animation von Objekten e Seit VRML97 k nnen Skripte auch auf Java www36 JavaScript und ECMAScript basieren Mittels der Scripting Schnittstelle und dem External Authoring Interface kurz EAI kann eine Verbindung zwischen VRML und Skripten bzw Browsern hergestellt werden e Das bisher verwendete Codierungsformat wurde von ASCH VRML 1 0 in UTF 8 VRML97 ge ndert Zus tzliche und weiterf hrende Informationen zu VRML97 findet man in der VRML97 Spezifikation www37 18 Einfiihrende Bestandsaufnahme 1 3 1 2 X3D VRML gilt mittlerweile als berholt Um m glichst alle Aspekte der dreidimensionalen Darstellung im Internet umfassend zu ber cksichtigen erweiterte sich das VRML Consortium 1998 zum Web3D Consortium Dieses verk ndete im Februar 1999 die Einf hrung von XML zur Formulierung einer Beschreibungssprache Ergebnis dieser Bem hungen ist die DTD eXtensible 3D X3D die im August des gleichen Jahres
23. dieser gemeinn tzigen Organisation ist es offene Standards f r die 3D Webdarstellung und bertragung zu entwickeln und zu f rdern Einfiihrende Bestandsaufnahme Nach der anf nglich breiten Nutzung des VRML Formats folgten in den letzten Jahren eine Reihe von Entwicklungen die nicht mehr auf dieses standardisierte Format oder dessen Nachfolger X3D aufsetzen Vielmehr versuchen Firmen wie Adobe www12 Macromedia www13 oder Viewpoint www14 ihre eigenen Formate als Quasi 3D Standard fiir das Web zu etablieren Diese auf der Plug in Technologie basierenden Systeme werden im Abschnitt 7 3 2 Proprietdre Plug in L sungen n her untersucht 1 1 3 Situationsanalyse der Internetnutzung Kennzeichnend f r die bisherige Entwicklung war eine fast ausschlie liche Fokussierung auf die 2 dimensionale Informationsdarstellung Mangelnde Performance und damit einhergehende Qualit tseinbu en in der Echtzeitdarstellung von 3D Objekten das Fehlen marktdurchdringender Standards und die unzureichende Unterst tzung von Web3D Entwicklungswerkzeugen f hrten bisher dazu dass sich weder ein entsprechend gro er Markt f r die 3D Visualisierung im Web bilden konnte noch dass es einen kommerziell bedeutsamen Bedarf an 3D Web Tools gab Doch gerade in dieser Hinsicht erfolgen momentan gro e Ver nderungen Diese sind zum einen an der stetig anwachsenden Rechen und Grafikleistung der Consumer PCs und zum anderen an einer zunehmenden Verbreitung
24. eine BoundingSphere zur Kollisionserkennung verwendet Der Radius der Kugel bestimmt wieder den Kollisionsbereich Kamera und Dummykugel werden mit der gleichen Position und Ausrichtung initialisiert Welches Objekt Parent ist und welches somit per Lingo transformiert wird spielt hierbei im Gegensatz zum ersten L sungsansatz keine Rolle Nach erfolgter Translation oder Rotation wird ein Pickstrahl von der Kameraposition in Kamerablickrichtung bzw entgegengesetzt je nach letzter Transformation ausgesendet Listing 51 Test ob Objekte vor bzw hinter der Kamera sind Als Ergebnis dieser Funktion erh lt man ein Liste von Eigenschaftslisten f r jedes vom Pickstrahl geschnittene Modell wird eine Propertyliste erstellt Diese Liste wird in der Funktion checkForCollision interpretiert Listing 52 Test auf Kollision ggf Aufl sung Damit Objekte die in der IgnoreCollisionList enthalten sind nicht in den Test auf eine m gliche Kollision einbezogen werden erfolgt ein Abgleich des Namens des potentiellen Kollisionspendants mit der IgnoreCollisionList Bei einem positiven Vergleich wird die Kollisionsaufl sung abgebrochen Ansonsten wird die Entfernung zwischen der Kamera und dem gepickten Objekt berechnet und mit dem Radius der Boundingsphere verglichen Wenn der Abstand zwischen Kamera und dem Objekt geringer ist als der Radius der Dummykugel wird die Differenz zwischen den beiden Werten als Betrag der notwendigen Verschiebung ermittelt Anschli
25. erh lt man jedoch eine Fehlermeldung wenn die Basiseinheit nicht Zoll ist 2 4 2 Definition geometrischer Primitive F r die Modellierung einer 3D Szene zur Laufzeit bietet Director folgende Grundk rper an e Ebene e Quader e Kugel e Zylinder e Partikelsystem e 3D Text e Gitternetz Basis aller geometrischen Objekte einer Szene bilden die Modellressourcen Sie definieren den geometrischen Typ die Geometrie selbst und damit verbunden die notwendigen Eigenschaften der Primitive z B H he Breite oder Anzahl der Polygone Das Preloaderobjekt im Projekt besteht aus Kugeln die alle auf einer Modellressource basieren und Zylindern die Instanzen zweier verschiedener Ressourcen sind die sich hinsichtlich Radius und L nge unterscheiden Die oberen und unteren Seiten der Zylinder werden nicht dargestellt mrCylinder pMember newModelResource mrCylinder cylinder front mrCylinder topradius 1 mrCylinder bottomradius 1 mrCylinder topCap False mrCylinder bottomCap False mrCylinder height 2 0 sqrt 3 length length Listing 4 Modellressource fiir raumdiagonale Zylinder mrSphere pMember newModel Resource mrSphere sphere front mrSphere radius 5 mrSphere resolution 50 Listing 5 Modellressource f r die Kugeln 46 Grundlagen Director und 3D Darstellung Sind die Modellressourcen definiert lassen sich darauf aufbauend die Modelle erstellen Modelle sind Instanzen von Modellressourcen mit jeweils
26. f r die Diplomarbeit schon festgelegt und best tigt Somit ergab sich ein zus tzlicher nicht geplanter und nur schwer einsch tzbarer Mehraufwand f r eine nachtr gliche Digitalisierung der Architektur und Inneneinrichtung Viele Details Gr enverh ltnisse und r umliche Eindr cke sind nur schwer reproduzierbar Basis f r die nachtr gliche Digitalisierung bildeten ein Grundriss des Erdgeschosses der die Elektroinstallation repr sentiert und keine H heninformationen beinhaltet sowie eine Reihe von Bildern die zu einem sp teren Zeitpunkt zur Unterst tzung der Modellierung aufgenommen wurden Au erdem stellte der Betreiber sp ter noch Videos bereit die mit einer einfachen Handkamera produziert waren Die Qualit t der Videos war jedoch so schlecht dass nur wenige Informationen in die weitere Modellierung einflie en konnten Auf Grund fehlender detaillierter Pl ne wurde die Szene mit 3D Studio MAX www5l subjektiv nachmodelliert Dabei wurde die Erstellung der Szene von 4 Zielen bestimmt e Erstellung einer kompletten Au enansicht unter Beachtung gegebener Gr enverh ltnisse e Implementierung wichtiger Details die eine Wiedererkennung f rdern e strukturierte Modellierung f r Aufteilung der Gesamtszene in verschieden Teilszenen und damit m glicher Export in separate W3D Files e optimale Darstellungsqualit t bei minimaler Downloadgr e 3 1 Das Modellierungswerkzeug 3D Studio MAX Die optimale Modellierung einer
27. gt lt Appearance gt lt Material Parameter gt lt Material gt lt ImageTexture Parameter gt lt ImageTexture gt lt Appearance gt lt IndexedFaceSet Paramter amp Felder gt lt Coordinate Feld gt lt Coordinate gt lt TextureCoordinate Feld gt lt TextureCoordinate gt lt IndexedFaceSet gt lt Shape gt lt Transform gt lt Scene gt lt X3D gt Listing 42 Pseudo Code einer X3D Szene G T02 zugeh rige Erl uterungen hier sphereList OSMEA OMG Se Pile ike ilpsil ile il ee Hal bpp es ee ee aH a pe repeat with i 1 to 8 sphereList add pMember newModel Sphere amp i mr_sphere sphereList i translate positionList i 3 2 length positionList i 3 1 length positionList i 3 length end repeat Listing 43 Erstellung und Translation der Szenenmodelle zugeh rige Erl uterungen hier lCount pMember model count repeat with i 1 to 1Count if pMember model i name contains Ebene_Fenster then 1Model pMember model i clone BG_ amp pMember model i name 1Model shaderList 1 pShaderLightOn end if end repeat Listing 44 Duplizierung der Fensterebenen Listings 100 zugeh rige Erl uterungen hier 1Model pMember model Ebene_Fenster00 lTexture pMember newTexture WndTexture_alpha lTexture member member Fenster_mAlpha 1Model shaderList 1 texture 1Texture Listing 45 Definition der Fenstertexturen zugeh rige Erl uterungen hier Maske f r Licht der Fe
28. oder ihre geometrische Aufl sung muss erh ht werden Dies kann entweder durch Segmentierung w hrend der Modellierungsphase siehe Abschnitt 3 1 2 Detailgenauigkeit und Geometrieaufl sung oder zur Laufzeit per Lingo erfolgen F r den zuletzt genannten L sungsansatz wird der SDS Modifier Sub Division Surfaces Oberfl chenunterteilung verwendet Allerdings kann dieser Modifier nicht auf Modelle angewendet werden die aus einer booleschen Operation einer C oder L Extrusion mit einem Quader f r T ren und Fenster ffnungen entstanden sind betrifft einige W nde des Wandelhof Komplexes In diesem Fall erfolgt eine nicht gewollte Ver nderung der geometrischen Form des Modells siehe nachfolgende Abbildungen Abb 6 6 Geboolte L Extrusion ohne SDS Modifier Abb 6 7 Fehlerhafte Geometrie nach Anwendung SDS Modifier Basieren die zu manipulierenden Objekte jedoch auf Quaderprimitiven die ggf mit booleschen Operationen ver ndert wurden s Abb 6 8 so kann der SDS Modifier problemlos angewendet werden Pro Wiederholung des SDS Algorithmus wird im Modus uni form eine Dreiecksfl che in jeweils 4 neue Dreiecksfl chen unterteilt Bei 3 Wiederholungszyklen des SDS Modifiers wird eine akzeptable Darstellungsqualit t erreicht Die Testfl che wird mit einer gleichm ig abnehmenden kreisf rmigen Schattierung gerendert s Abb 6 9 Da das Modell aus 28 Dreiecksfl chen besteht besitzt es nach Anwendung des SDS Modifiers mit 3 Wiederholung
29. sich auf eine m gliche mit Macromedia Director erstellte 3D Offline Pr sentation Abb 1 2 Bedienungsanleitung einer Kamera www24 13 Einfiihrende Bestandsaufnahme 1 2 2 E Learning Eine Erg nzung zum Pr senzlernen stellt das E Learning mit dem Vorteil der r umlichen und zeitlichen Unabh ngigkeit des Lernvorgangs dar F r den Einsatz von 3 dimensionalen Elementen in diesem Segment existieren verschiedene M glichkeiten Anwendungsbereiche von 3D im Bereich des E Learning k nnen z B Avatare sein die als virtuelle Begleiter eingesetzt werden um den Nutzer beim Lernen am Computer zu unterst tzen Die Begleiter k nnen in Lernanwendungen alle denkbaren Hilfs und Unterst tzungsfunktionen bernehmen Ihr mittlerweile fast lebensechtes Aussehen spricht den Lernenden gef hlsm ig an und soll ihn gleichzeitig motivieren Ein weiteres m gliches Einsatzgebiet betrifft das handlungs und erlebnisorientiertes Lernen mit 3D Modellen s Abb 1 3 Dabei ist mit handlungsorientiert gemeint 3D Modelle k nnen mit Hilfe von Maus und Tastatur erforscht werden Es k nnen auch solche Objekte untersucht werden deren Erforschung in der Realit t nicht m glich w re 3D Modelle eignen sich z B hervorragend um die menschliche Anatomie zu erkunden Mit Hilfe von 3D k nnen also Objekte erlebbar begreifbar und im Normalfall Verborgenes sichtbar gemacht werden Nicht zuletzt k nnen mit 3 dimensionalen Visualisierungen s Abb 1
30. sieht die Firma ihr 3D Konzept als Erg nzung zum Portfolio ihrer bisherigen E Learning Produkte Blaxxun ist schon relativ lange im W3D Marktsegment t tig und wirkte u a bei der Standardisierung von X3D mit Daher ist davon auszugehen dass dieser neue Standard von Blaxxun unterst tzt und implementiert wird F r die Generierung von Szenen kann jedes 3D Modellierungswerkzeug verwendet werden welches in der Lage ist in das VRML97 Format zu exportieren Tabelle 11 Zusammenfassung der Web3D Technologie Blaxxun Contact 27 Einfiihrende Bestandsaufnahme 1 3 5 Einsch tzung des aktuellen Standes der Web3D Technologien Es gibt verschiedene Kriterien die f r oder gegen die Verwendung der einen oder anderen Web3D Technologie sprechen Plug in L sungen wie sie durch Director Shockwave3D Viewpoint oder Cult3D repr sentiert werden bieten die beste Darstellungsqualit t und Renderperformance Nachteilig f r diese L sungen ist jedoch die Tatsache dass ihre propriet ren Technologien standardm ig nicht in den Browsern integriert sind Deshalb m ssen diese Plug ins einmalig herunter geladen und installiert werden Dies geschieht jedoch automatisch und benutzerfreundlich Allerdings k nnen Downloadgr en von mehr als 4MB Shockwave auch ein Grund sein Webinhalte die auf dem entsprechenden Plug in beruhen nicht zu akzeptieren Dies relativiert sich jedoch auch schon wieder im Hinblick auf die Verbreitung breitbandiger Internetzug n
31. so wird deren Transparenz auf 100 gesetzt s Abb 3 12 Abb 3 12 Das fertig texturierte Infoobjekt Die darzustellenden Informationen sind in einer XML Datei strukturiert Diese werden mit Hilfe des XML ParserXtras und dem Parentskript ps_ParserScript in eine Liste bertragen Die Liste enth lt dann u a auch die Information ber die URL s der Texturen der Mantelfl chen siehe Abschnitt 5 1 Content bertragung per XML und asynchrones Scripting 3 2 2 2 Rotation des Kino Informationsobjektes Solange die Maus sich nicht ber dem Objekt befindet rotiert das Objekt um seine lokale z Achse Der notwendige Befehl wird am Ende der Funktion stepFrame ausgef hrt Wenn die Maus sich ber einer Mantelfl che befindet soll das Objekt immer eine Korrekturrotation ausf hren Der Winkel der Korrekturrotation wird dabei so gew hlt dass die aktivierte Fl che frontal zur Kamera ausgerichtet wird 59 Modellierung der Szene Fiir die korrekte Ausrichtung des Kino Informationsobjektes sind eine Reihe vektormathematischer Operationen n tig Nachfolgende Darstellung des Funktionsprinzips welche einen Blick von oben auf die Szene darstellt soll das Verst ndnis fiir die Problematik unterst tzen Zur Vereinfachung wird die z Komponente der einzelnen Koordinaten ignoriert d h auf 0 gesetzt P3 P P4 Ps Psa P Ps g Abb 3 13 Prinzipskizze Rotation des Kinoinformationsobjektes Draufsicht Das Sprite stellt einen Blick durc
32. tzung von Objektanimationen Deshalb wurde von der VAG die Definition einer weiterf hrenden Spezifikation initiiert Grundlage f r die neue VRML 2 0 Spezifikation bildete das von SGI WorldMaker Sony www09 und anderen entwickelte auf VRML 1 0 basierende Moving Worlds VRML 2 0 wurde zum ersten Mal 1996 auf der SIGGRAPH vorgestellt Ende 1997 wurde nach einigen kleinen nderungen VRML 2 0 in VRML97 nunmehr durch das VRML Consortium umbenannt und als ISO IEC Standard ver ffentlicht Der Nachfolger des VRML97 Formats anf nglich mit VRML NG bezeichnet wurde 1999 in X3D Abk rzung f r Extensible 3D umbenannt und in seiner endg ltigen Version auf der SIGGRAPH 2001 ffentlich vorgestellt Mit dem zunehmenden Interesse an 3 dimensionalen Darstellungen im Web und dem damit einhergehenden Angebot an neuen Formaten wurde das VRML Consortium seinem Namen nicht mehr gerecht Neben VRML standen mittlerweile mit Java 3D www10 und dem anstehenden MPEG 4 Format weitere M glichkeiten f r eine 3D Visualisierung im Web zur Verf gung Daher erfolgte eine Umbenennung in Web3D Consortium wwwil Auch der Name der seit 1997 stattfindenden VRML Konferenz wurde ge ndert in Web3D Konferenz Das Web3D Consortium setzt sich aus einer Reihe verschiedener Gruppen die sich mit den einzelnen Teilaspekten der 3D Grafik im Web besch ftigen zusammen Diese Teilbereiche beziehen sich zum Beispiel auf Themen wie VRML Streaming GeoVRML und Web3D MPEG Aufgabe
33. u eres Produkt Kreuzprodukt zweier nicht kollinearer Vektoren a b l sst sich ein dritter Vektor ermitteln der senkrecht zu der von den beiden Vektoren aufgespannten Ebene steht ax bx aybz azby c axb ay x by azbx axbz az bz axby aybx Anwendung fanden die oben genannten Formeln der Vektorrechnung zum Beispiel bei der Berechnung der Korrekturrotation des Kino Informationsobjektes siehe Abschnitt 3 2 2 2 Rotation des Kino Informationsobjektes 2 3 3 Matrizen Matrizen werden zur Manipulation von Vektoren verwendet Damit eine einheitliche Beschreibung aller geometrischen Transformationen in einer 4x4 Matrix m glich ist wird ein Vektor um eine vierte Komponente w die in der Regel immer auf 1 gesetzt wird erweitert Diese Erweiterung der Darstellung nennt man homogene Koordinaten Vektoren werden durch Matrizen manipuliert indem sie mit dieser multipliziert werden Das Ergebnis dieser Operation ist wieder ein Vektor Der Vorteil in der Verwendung von Matrizen liegt darin dass diese miteinander kombiniert d h miteinander multipliziert werden k nnen Werden mehrere Transformationen hintereinander ausgef hrt so erh lt man durch die Multiplikation der Matrizen eine resultierende Matrix welche die gesamten Transformationen beschreibt Diese Matrix kann f r die Manipulation aller betroffenen Vektoren verwendet werden Mit der Zusammenfassung einer Reihe von Transformationen in einer Zielmatrix und der An
34. und Absatzforschung gefunden September 2002 Pressemitteilung vom 30 01 2001 zum ersten deutschen 3D eCommerce Tag http www hrz uni paderborn de universitaet aktuell presse presse 200 l presse 30 01 01 htm 3D eCommerce Tag gefunden Januar 2003 Zukunftsfabrik Kommunikation Hannover http www 3d economy de Portal zur wirtschaftlichen Bedeutung von 3DWeb August 2002 Webseite zu Apples QuickTimeVR http www apple com quicktime gtvr gefunden Februar 2003 Shareware Tool zur Erstellung von QuickTimeVR Movies http www panaview com gefunden Oktober 2002 Weiteres Tool zur Erstellung von QuickTimeVR Szenen http www vrtoolbox com gefunden Februar 2003 Beispiel einer Online Bedienungsanleitung http www parallelgraphics com showroom solutions distance training olympus ParallelGraphics gefunden September 2002 Erstellung anatomischer Modelle fiir Lehrzwecke Web3D Pr sentation eines Sch dels http www 3bscientific com content index cfm Country Germany 3B Scientific Unternehmensgruppe gefunden Januar 2002 117 www26 www27 www28 www29 www30 www31 www32 www33 www34 www35 www36 www37 www38 Verzeichnis der Internet Links Interaktives Web3D Modell der Internationalen Raumstation ISS http www discovery com highspeed discovery spacestation frameset htm Discovery Communications Inc gefunden Oktober 2002 Cybercore Entrance W3D Technologie spezialisiert auf On
35. verwendet werden Aus dieser Vorgehensweise ergibt sich jedoch folgendes Problem Der berechnete Winkel gibt keine Aussage ber den notwendigen Drehsinn der Korrekturrotation 60 Modellierung der Szene Als L sung dieses Problems bietet sich die Generierung einer Flachennormalen der Fl che an die durch die beiden zuvor verwendeten Vektoren aufgespannt wird Da die z Komponente der Vektoren auf 0 gesetzt wurde liegt die Fl che in der xy Ebene und die ermittelte Fl chenormale entspricht somit entweder dem Vektor 0 0 1 oder dem dazu invertierten Vektor Die Berechnung der Normale k nnte manuell unter Nutzung der Formel des Kreuzproduktes vgl Abschnitt 2 3 2 Vektoren ermittelt werden Diese Formel ist jedoch schon in nachfolgender 3D Lingofunktion enthalten normalVector vectorl cross vector2 Listing 21 Normalenvektor einer Fl che ermitteln Werden vector1 und vector2 vertauscht so wird der ermittelte Vektor invertiert Mit diesem Hilfsmittel l sst sich nun bestimmen ob das Objekt im Uhrzeigersinn f r die Fl che die durch die Punkte P P repr sentiert wird oder entgegen dem Uhrzeigersinn f r die Fl che mit den Punkten P P gedreht werden muss 61 Die Kamerasteuerung 4 Die Kamerasteuerung 4 1 Anforderungen Die Steuerung der virtuellen Kamera in der Szene stellt auf Grund der Komplexit t der Anforderungen ein besonderes Problem dar Director liefert standardm ig in seiner Bibliothek schon vers
36. werden Im Rahmen des praktischen Teils der Diplomarbeit soll unter Verwendung von Director Shockwave3D ein Prototyp f r ein 3 dimensionales Informations und Navigationssystem entwickelt werden Dabei geht es um eine m glichst vollst ndige Analyse der verwendeten Technologie ihrer Umsetzung und der Probleme die im Zusammenhang mit einer Onlinepr sentation von 3D Inhalten mit Director Shockwave entstehen Ziel der Diplomarbeit war es nicht ein m glichst detailgetreues Abbild des darzustellenden Objektes mit all seinen R umlichkeiten und Angeboten zu realisieren Damit auch Leser die mit dem Autorenwerkzeug Director keine oder nur geringe Erfahrungen haben den Ausf hrungen folgen k nnen erfolgt im Kapitel 2 eine Vorstellung des Director Konzeptes Dazu geh rt eine kurze Einf hrung in vektormathematische Grundlagen und eine Vorstellung der 3D Technologie von Director Im Vorfeld der Diplomarbeit wurde in Zusammenarbeit mit der Wildstyle Network GmbH lange berlegt welche Aufgabenstellung hinsichtlich einer gew nschten 3D Realisierung mit Director diplomgerecht formuliert werden k nnte Zu diesem Zeitpunkt erschien uns die Visualisierung des Entertainmentkomplexes Wandelhof Schwarzheide als lohnenswertes und anspruchvolles Ziel Im Kapitel 3 Modellierung der Szene und im Abschnitt 7 2 Fazit wird die Wahl des zu realisierenden Objektes dann kritischer hinterfragt und ausf hrlicher behandelt F r die Neukonzeption der Webpr senta
37. wird der tempor re Richtungsoffset auf seinen Initialwert gesetzt Die Bewegung der Kamera erfolgt entlang der lokalen z Achse Damit die z Achse der Kamera in der xy Ebene der Welt liegt muss die Rotationskomponente der x Achse vor der Translation auf 90 gesetzt werden Nach erfolgter Translation wird der urspr ngliche Winkel f r den Blick nach oben unten wiederhergestellt Ist die Verschiebung der Kamera abgeschlossen erfolgt eventuell eine Korrektur der H he der Kamera ber dem Boden Die Verwendung der verschachtelten Repeatschleifen ergibt sich aus der Tatsache dass die Lichtkegel der Laternen durch semitransparente Kegel simuliert werden Mit der urspr nglichen Funktion zur H henkontrolle ohne eine IgnorecollisionList ist die Kamera an den Mantelfl chen der Kegel hochgerutscht Durch die Implementierung einer Liste welche die Modellnamen enth lt die f r die Kollisionserkennung und die H henberechnung der Kamera ignoriert werden sollen ist es nunmehr m glich durch die simulierten Lichtkegel hindurch zu gehen Au erdem erfolgt mit Hilfe der Liste die die gepickten Modelle unter der Kamera beinhaltet der Test ob die Kamera sich ber einem Dummyobjekt f r die Ausl sung spezieller ortsgebundener Funktionen befindet T ren ffnen und schlie en Teilszenen nachladen Listing 50 Korrektur der H he der Kamera und Aufruf Triggertest Nach Beendigung der Transformationen der Kamera ist ein Test auf Kollision und wenn n t
38. 2 3 3 3D Studio MAX Renderausgabe s eseseesseseeseeseseseseseereetsssseresteresersesertetentutrsesesesteeestrseseseeteeseesesesrerees 53 3 4 ohne Segimentler ung n tn E E E E E ER EERE SE N E E e 53 35 TOXIX Segmente an ne bint led E E a ie E E AiG ele die N e 53 3 6 Laterne mit simulierten Lichtkegel in 3D Studio MAX nsersesseseennesnensennonsennonsennnennnennenn sensor 54 3 7 Darstellungsfehler an Wandecken seseeeseeseesesesestseseeresesssestsrtererssrstsrerteretssesesreteetsesesrsrerersenseseeeeerets 54 3 8 Problem der sichtbaren Fl chen und Kanten u22uu2sessensesnersersnesennenenennensennonnonnnennnennennnenennnn 55 3 9 n seitige Pyramiden als Abschluss 220220202s0snnesennesnensennensonnnesonnnenenennonsennonsonnnenennennennnnonennn 57 3 10 Drahtgittermodell des 5 seitigen Infoobjektes 2222402202002202nnsennenenennensennonnennnennnennensn sonen 57 3 11 Beispiel f r Rlatshading 2 2232322212 eresia ete edea al REE Base habe 59 3 12 Das Tertig text urierte Infoobjekt 2 u 221 34 222 dimer ack BRnn Rai Bes 59 3 13 Prinzipskizze Rotation des Kinoinformationsobjektes Draufsicht nseesersessessessneseennesneneennenenn 60 4 1 Prinzip Kafneraanim ti n u 0 Haaren E uses EEE EAEE 68 4 2 Funktionsschema maussensitiver Bereiche eserseesersennesnensesnensesneesonnnennenennenennnnnonnnennnnesnenenonnon 69 4 3 Schema Kollisionserkennung und au
39. 35_ 1 Ce taS hee a ae ri 2 Gina 10 24 Cylinder 22 Cyhda_12 veletos Cina Cyhda_3 a ok Cylinder As Pocntem D zevodTrorefowrD a viin 3 0005 Coo aa rztolizn anod oof 0 070 3 a wae toms wall 1 0 07 9 nn rotstz pointat mace hiv 1 sawn ee paiest odet Zone Spree X vlier L Eee ar Ge E aae Uver L a air Shader ist ALLL shzd rCubcE onzn s mate cet gt ram ja Jorn vebike iot zj pz Abb 2 19 bersicht Modelleigenschaften im 3DPI 49 Grundlagen Director und 3D Darstellung Dieses Shareware Xtra wurde von Ulla Gusenbauer entwickelt und wird auch von ihr gepflegt Die aktuelle Version kann unter www50 heruntergeladen werden Das Werkzeug fasst die verschiedenen Paletten eines 3D Darstellers in Karteireitern s Abb 2 20 zusammen 3DPI Member Wando aussen member 8 1 DB Abb 2 20 Die einzelnen Kategorien des 3DPI Somit ist eine bersichtliche Anordnung folgender Elemente garantiert e Modellressourcen e Modelle e Shader e Texturen e Animationen e Kameras e Lichter e Gruppen und e Havokfunktionen Hinzu kommen noch Reiter fiir das Picken von Szenenelementen eine 3D Spriteiibersicht sowie 3D Darstelleriibersicht und eine Auflistung der Eigenschaften des aktuellen Renderers Alle Eigenschaften der 3D Elemente eines Darstellers die per Lingo gelesen werden k nnen werden von 3DPI aufgelistet Zus tzlich k nnen verschiedene Informat
40. 3D 2 3 does a atest ees asta ete Bie eee tear cient 85 6 3 Fehlerhafte Darstellung des Referenzobjektes 20224022420020esnonnornnesnnnennenennennennnnnennnennennsnonennnne 86 6 4 Gouraud Shading am Beispiel des geboolten Objektes u 2u22u2s0ssesennesnensennennennnenennnenennnnenennan 86 6 5 Prinzip der Kanten und Fl cheninterpolation ccsessesscseeseceseeecesecseesecneesecsaseccsaecaeesecaeeseeneseeeeaees 87 6 6 Geboolte L Extrusion ohne SDS Modifier ursussusseennesnensesnensesnennonnnennnennenennonsennnnnonnnenennsnonennone 87 6 7 Fehlerhafte Geometrie nach Anwendung SDS Modifier euersessessessesnnesnensesnennornnnnennnenennnnenennon 87 6 8 Testmodell ohne SDS Modifier reinsi a N EE EENE EEEE E A Ea 88 111 Abb Abb Abb Abb Abb Abb Abb Abb Abb Abbildungsverzeichnis 6 9 Testmodell nach Anwendung des SDS Modifiers ceceeecsessceseeeceseceeesecseesecsaeeecaecaeesecseeseeneeeeeeaees 88 6 10 Testreihe zur Simulation eines typischen Spotlichtes ccc ecesescsssecseeeeceeeeeceeeeeceaecaeeseceeeseeneeeeeeaees 88 6 11 Zweite Testreihe zur Spotlichtsimulation mit ver nderter Basisgeometrie uerseeserseessesnensesnersennenn 89 6 12 Maximale Bildwiederholrate bei ver nderter Polygonanzahl ussesuussessersesseesennnesenesnensennen 90 6 13 Vergleich Szenenausschnitt ohne mit Antialiasing rse20u2s0enesenesnensennens
41. Adobe Atmosphere 1 3 3 Appletbasierte Viewer Diese Viewer werden als Applet realisiert Somit k nnen die 3D Darstellungen mit jedem Browser auf jeder Plattform visualisiert werden die eine Java 1 1 konforme Virtual Machine unterst tzen Die Appletl sungen benutzen in der Regel ein eigenes Format f r die Speicherung und Anzeige von 3D Elementen auf einer Website sie unterst tzen jedoch meistens zumindest in den nachfolgenden L sungen Szenenmaterial das im VRML Format vorliegt Die f r 3D Szenen notwendigen Funktionen hinsichtlich Rendering Picking Kollisionserkennung etc sind in eigenen Class Dateien gekapselt die jedes Mal wenn sie nicht mehr im Cache des Browsers vorhanden sind mit geladen werden m ssen 24 1 3 3 1 3Danywhere Hersteller URL Plattformen Installationsdateigr e Zusammenfassung Aw 4 Abb 1 16 Produktpr sentation mit 3Danywhere www43 Einf hrende Bestandsaufnahme 3Di http www 3danywhere com JavaApplet entsprechend plattformunabh ngig Applet wird jedes Mal mit heruntergeladen 3Danywhere bietet insgesamt auch dank der Unterst tzung von Antialiasing eine gute Darstellungsqualit t Das Applet hat eine eigene Renderengine und unterst tzt keine hardwarebasierten Rendermodi Die Darstellungsgeschwindigkeit ist dadurch nicht besonders hoch f r einfache Szenen jedoch ausreichend Interaktivit t muss per Java oder Javascript manuell implementiert werden Allerd
42. D verwendet Er bezeichnet das Autorenwerkzeug von Macromedia mit dem der Prototyp realisiert wurde Shockwave ist die Distributionstechnologie von Director Produktionen die im Internet pr sentiert werden Diese Technik ist gekennzeichnet durch die Nutzung verschiedener Kompressionsverfahren die es erm glichen Richmedia Content in relativ kleinen Dateien im Internet anzubieten Ein weiterer Vorteil dieser Technologie ist die M glichkeit Shockwave Filme zu streamen d h sie k nnen schon abgespielt werden ohne dass die Datei komplett geladen wurde 2 1 Einf hrung in die Director Semantik Bevor die 3D Philosophie von Director n her untersucht wird sollen hiermit allgemeine Begriffe die die Arbeitsweise von Director beschreiben erl utert werden Abb 2 1 zeigt die wichtigsten Fenster des Entwicklungswerkzeuges Ihr Verwendungszweck und ihre Einordnung in das Director Konzept wird in den nachfolgenden Unterkapiteln beschrieben A wandelhof_sussen2B12 Director 8 5 G Datei Bearbeten Ansicht Einf gen Modiisieren Steuerung Xtras Fenster Hilfe RRAN Bla ga 1 1 Dame A SAS aae oe loj xj j I a 7 Hee a ia o eeo getPropet Dencepls LIE LOKS ie me B TAT p weer twee E berti aa Malan b aa ent Cod P O ka b Creme tad pSprite eprite ne epriteNus pMenber sprite se spriteiun senber 2 pMenberSteteOK ne isMemberSteteOK Erd araic u gt if pMemberStateOK t
43. Darsteller zu kopieren Dabei werden die Modellressource die Shader und die verwendeten Texturen ebenso kopiert Auf diese Art k nnen Szenenelemente und 3D Text in einem Darsteller zusammen kombiniert werden s Abb 5 1 Cary Sarnen Abb 5 1 Eine Szene mit importiertem 3D Schriftzug Diese Methode eignet sich nur f r die Visualisierung geringer Textmengen Die nderung des Textes ist relativ einfach m glich Es muss nur der Inhalt des Textdarstellers ge ndert werden Der 3D Textdarsteller wird daraufhin automatisch aktualisiert Damit die Ver nderung auch in der eigentlichen Szene dargestellt werden kann ist ein L schen des Modells und der damit verbundenen Modellressourcen sinnvoll in Hinblick auf Speicherbedarf Performance Vermeidung doppelter Namen Anschlie end kann der Befehl cloneModelFromCastmember wieder verwendet werden Als problematisch kann sich die Positionierung und Rotation des Objekts erweisen Der Ursprung eines 3D Textdarstellers ist n mlich immer seine linke untere Ecke 77 Ubermittlung und Darstellung dynamischer Inhalte 5 2 3 Informationsvermittlung unter Nutzung von Texturen Die beiden der Vollst ndigkeit halber oben genannten Funktionen konnten aus dargestellten Gr nden nicht genutzt werden Stattdessen wurden f r die Textdarstellung drei verschiedene Varianten der Verwendung von Texturen in Anspruch genommen 5 2 3 1 Overlay Funktion Diese Kamerafunktion f gt am Ende der berlagerun
44. Format zu dem am weitesten verbreiteten und am meisten genutzten 3D Format entwickelt Dabei handelt es sich um ein plattformunabh ngiges 3D Austauschformat das als Exportformat von den meisten am Markt erh ltlichen 3D Modellierungswerkzeugen unterst tzt wird Die historische Entwicklung von VRML als der bisherige Standard der 3D Darstellung im Web wurde bereits im Abschnitt 7 1 2 Die dritte Dimension erobert das Internet beschrieben VRML 2 0 war der Nachfolger von VRML 1 0 Nach der Verabschiedung als ISO IEC Standard 1997 wurde es in VRML97 umbenannt Das VRML97 Format unterst tzt im Gegensatz zu VRML 1 0 Animationen und die Kompression mittels gzip Algorithmus Au erdem erm glicht es die Darstellung von zwei und drei Dimensionen Text multimedialen Komponenten und die Einbindung von Grafik Skripten sowie die M glichkeit der Vernetzung Bedeutende Merkmale von VRML97 sind e VRML Dateien besitzen das Dateiformat wrl und k nnen mit jedem einfachen Texteditor bearbeitet werden Sie k nnen Verweise auf andere Dateien wie zum Beispiel andere 3D Szenen VRML Dateien Bilder Texturen oder Filme enthalten Diese Links k nnen sowohl lokal als auch extern sein e Eine VRML97 Datei besteht aus einer Menge von Objekten oder Knoten Feldern Parametern usw Dabei k nnen Knoten weitere Knoten enthalten die so hierarchische Strukturen bilden siehe Abschnitt 7 4 Szenenbeschreibung Unter Knoten versteht man verschiedene Objekte die f r
45. Hochschule fiir Technik und Wirtschaft Dresden FH Fachbereich Informatik Mathematik Diplomarbeit im Studiengang Medieninformatik Thema Prototypische Entwicklung eines 3 dimensionalen Informations und Navigationssystems mit Director Shockwave3D eingereicht von Ralf Halgasch eingereicht am 10 03 2003 Betreuerin Prof Dr Teresa Merino Inhaltsverzeichnis Inhaltsverzeichnis Einleitung 8 ansteht he te beara Ried Ate oa ede AS 5 1 Einftihrende B standsatimahine sssini 24 0 20 sein needa esses eaa n E E netted eRe a re T E nee eee 7 1 1 Vom Anfang des Webs bis zum Aufbruch in die dritte Dimension eeccesceeceeecececeeeeeeeeeeseeeeeeerensees 7 1 1 1 Ein kurzer Blick in die Geschichte des WeDS csscsssecsseseceeeeecsseeeessecaeesecnevseesaeeccsaecaeeaecnevseenaeeneeas 7 1 1 2 Die dritte Dimension erobert das Internet 0 0 0 ee ese eeeesecseesecneeeeesseeecsaecseesecneeseesaeecceaeceeesesnerseenaeeeeens 8 1 1 3 Situationsanalyse der Internetnutzung u 2202202ssseennesnenesnensesnensennnennnnennenennonsonnnnnnnenennnononnn 9 1 2 Anwend ngsbereichen eueseae adsense aktion ses eh 11 1 2 1 E Commerce 22 820 rosea ae a oeae e E nn SRH ren sare EEEE EEEE Sesha 11 A S Ei a AE E E A E N ae a ia E A eae 14 1 2 3 Entertainment ei k ei ee n e a e a a aa aa oeae Abed a Ea aide EE E 15 1 2 4 Entwickl ns u ra aE EEE Ea 16 1 2 3 Eorschung Simul tion 4 2 28 Hr are DREH 17 1
46. Performance der einzelnen Systeme war im software Modus etwa gleich Dies erkl rt sich dadurch dass in diesem Fall die ann hernd gleiche CPU Performance der einzige leistungsbestimmende Faktor ist e Die Vodoo3 Grafikkarte bestand die Hardware Rendering Tests nicht es kam zu Abst rzen der Testpr sentation Manchmal st rzte auch das Betriebssystem bei dem Versuch ab einen nicht unterst tzten Rendermodus zu erzwingen e Die Performanceverluste bei aktiviertem Antialiasing verbieten fast von selbst die Nutzung dieses Features in ver nderlichen 3D Szenen e Das Testobjekt mit seinen wesentlich mehr Polygonen als in der Wandelhof Szene lies sich auf dem Testsystem 1 in allen Rendermodi ohne zeitliche Verz gerung drehen und zoomen Ein Indiz daf r dass die Performanceprobleme im Projekt zum gro en Teil auf die komplexen und zyklisch aller 50 ms durchgef hrten Algorithmen der Kamerasteuerung zur ckzuf hren sind Die Problematik von Renderperformance und Optimierung der Darstellungsqualit t ist ein sehr vielschichtiges Thema das viel praktische Erfahrung im Umgang mit Director3D und dem entsprechenden Modellierungswerkzeug erfordert Die Bedeutung konnte hier nur auszugsweise dargestellt werden N tzliche praktische Hinweise bieten unter anderem die Quellen BIEO2 und GROOO 94 Darstellungsqualit t und Performance 7 Schlussbetrachtungen 7 1 Was bringt Director MX Auch wenn zum Zeitpunkt der Erstellung noch keine deu
47. Shockwave3D Darstellung eine gute Qualit t und Performance bescheinigt werden Kann nicht auf eine komplett fertig exportierte Szene aus einem 3D Werkzeug zur ckgegriffen werden so ist neben Director ein weiteres teures Softwarepaket f r eine komplexe Szenengestaltung notwendig Die Modellierungsm glichkeiten von Director sind im Vergleich zu anderen Web3D Autorenwerkzeugen Cult3D Editor Adobe Athmosphere Editor die wenigstens grundlegende 3D Modellierungen unterst tzen sehr begrenzt Fehlende digitalisierte Konstruktionsunterlagen unzureichende technische Zeichnungen und der damit verbundene Mehraufwand f r die Erstellung der Wandelhof Szene haben die Arbeit erschwert und nicht eingeplante zeitliche Ressourcen erfordert Eine weitere nur auf Fotos basierende detaillierte Nachgestaltung zus tzlicher R umlichkeiten die zum Teil sehr komplexe Konstruktionen beinhalten freies Fachwerk in der Kellerbar verwinkelte G nge Treppen usw ist mit den Erfahrungen dieser Diplomarbeit als fast unm glich einzusch tzen Mit dieser Aussage soll nicht die Entscheidung zu einer Diplomarbeit mit Director3D in Frage gestellt werden Nur die Wahl des darzustellenden Objektes war etwas ungl cklich Vor die nochmalige Wahl eines Diplomthemas gestellt w rde ich wieder die 3D Funktionalit ten von Director analysieren wollen vielleicht dann aber weniger unter dem Aspekt der Szenenmodellierung und Navigation als vielmehr der Steuerung der Szene un
48. X5_2 CPU E software FPS E software CPU Bilder s bzw CPU Auslastung ohne AA mit AA Abb 6 14 Bildwiederholraten mit ohne Kantengl ttung Die Daten ohne Antialiasing entsprechen tendenziell den Ergebnissen der vorhergehenden Untersuchungen Wird jedoch die Kantengl ttung aktiviert so reduziert sich die Rendergeschwindigkeit auf ein Minimum von ca 2 FPS bei hardwareunterst tztem Rendermodus Im Modus software ist die Bildwiederholrate zwar mehr als doppelt so gro ca 5 3 FPS jedoch trotzdem nicht akzeptabel wenn es sich bei der Szene um eine dynamische Darstellung mit entsprechender Nutzerinteraktion handelt 6 5 Renderperformance in Abh ngigkeit des Abspielmodus Die letzte hier dargestellte Testreihe bestand darin zu vergleichen welche Performance in welchem Abspielmodus erzielt wurde Dazu wurde eine statische 3D Szene mit konstanter Polygonanzahl verwendet Die maximale Bildwiederholrate wurde im Film auf 30 FPS begrenzt da es bei h heren Raten zu Abst rzen oder Fehlfunktionen bei der Wiedergabe im Projektor kam Das nachfolgende Diagramm zeigt zuerst immer die erreichte Bildwiederholrate und mit dem n chsten Balken die dazu geh rige CPU Belastung Das hei t Balken in einem hnlichen Farbton basieren auf dem selben Rendermodus Insgesamt wurden alle vier Rendermodi mit allen Wiedergabeumgebungen kombiniert 92 Darstellungsqualit t und Performance
49. a3D Szenen ben tigte Laufzeitumgebung ist standardm ig nicht in den Browsern implementiert Sie muss separat herunter geladen und installiert werden Java 3D nutzt kein eigenes Format f r die Repr sentation der Szeneninformationen Allerdings existieren entsprechende Importl sungen Runtime Loader um extern erstellte Szenen im VRML oder Alias Wavefront OBJ Datenformat integrieren zu k nnen Durch den zu VRML97 hnlich aufgebauten Szenegraphen wird Java 3D gern als Rendering Engine f r die Entwicklung von 3D Viewern verwendet u a X3D VRML97 Viewer Xj3D www37 Die 3D Formate werden per Loader Klassen importiert anschlie end interpretiert der Szenegraph wird entsprechend aufgebaut und die Szene visualisiert Standardm ig setzt Java 3D auf das vom Betriebssystem zur Verf gung gestellte OpenGL API auf Bei Windows Plattformen besteht zus tzlich die M glichkeit Direct3D DirectX zu nutzen Auf Macintosh Computern kann stattdessen auf QuickDraw3D zur ckgegriffen werden Bestehen keine M glichkeiten f r hardwareunterstiitztes Rendering so verwendet Java3D einen eigenen Softwarerenderer 26 1 3 4 VRML Viewer Einfiihrende Bestandsaufnahme In LAMO2 werden VRML Viewer dahingehend klassifiziert dass sie zwar auch als Plug ins realisiert sind aber im Gegensatz zu den in Abschnitt 3 2 Propriet re Plug in L sungen vorgestellten L sungen auf VRML basieren und kein eigenes propriet res Format mit sich bringen
50. aborationswerkzeuge spezialisiert hat ist RealityWave mit seiner VizStream L sung www33 Eine andere vorstellbare Nutzung von Web3D Technologien im Forschungsbereich ist die M glichkeit Simulationen d h Ver nderungen ber einen bestimmten Zeitraum hinweg mittels komplexer Animationen zu visualisieren oder Ergebnisse von Untersuchungen dreidimensional zu pr sentieren s Abb 1 8 Abb 1 8 Beispiel einer 3D Reliefdarstellung www20 1 3 Kategorisierung von 3D Webtechnologien Eine treffende Definition des bereits mehrfach verwendeten Begriffs Web3D findet man in einer Pressemitteilung zum ersten deutschen 3D eCommerce Tag 2001 in Paderborn Der Begriff Web3D bezeichnet alle offenen aber auch firmeneigenen Technologien die interaktive 3D Grafiken im Web darstellen k nnen Experten sprechen auch schon vom zweiten Web einer neuen Generation des World Wide Web die durch Web3D Technologien erm glicht wird Zu diesen Technologien geh ren z B VRML Java 3D und MPEG 4 sowie X3D der zuk nftige Standard der derzeit vom Web3D Consortium spezifiziert wird www34 Im folgenden Kapitel soll eine Auswahl aktueller offener bzw firmeneigener Web3D Technologien n her beleuchtet die verschiedenen Hersteller die verwendeten propriet ren Standards und deren Markrelevanz untersucht werden Die vorgestellten Aussagen st tzen sich auf die Quellen www20 www35 LAM02 G T02 und RUKO1 1 3 1 Standardb
51. abs http developer intel com ial Intel Corporation gefunden September 2002 Intel 3D Software Technologies Intel Architekture Labs http www intel com ial 3dsoftware Intel Corporation gefunden September 2002 Homepage der Programmiererin des 3D Propertyinspektors Downloadm glichkeit der aktuellsten Version http ullala at 3DPI Ulla Gusenbauer gefunden Juli 2002 3D Studio Max http www discreet com Autodesk Inc gefunden Juli 2002 119 www52 www53 www54 www55 www56 Verzeichnis der Internet Links Kamerasteuerung per Lingo von Tom Higgins im Projekt angepasst und erweitert http www directordev com learning demo_movies 3D general tunnels default htm Macromedia Developer Team gefunden August 2002 Havok physikalische 3D Simulation Xtra fiir Director http www havok com Havok gefunden Dezember 2002 Liste der nicht von Director unterstiitzten Grafikkarten http macromedia com support Director ts documents 3d_rendering udl htm Macromedia gefunden August 2002 Auszug aus Newsletter der Director List vom ListenPapa Thomas Biedorf http www startmovie net newsanzeigen php track 20021125101937 Director List gefunden 25 12 2002 Beispiel einer einfachen VRML Szene http www csv ica uni stuttgart de vrml hello wrl Universit t Stuttgart gefunden Februar 2003 120 Glossar 3D Studio Max Abspielkopf ActiveX Animation API Avatar Besetzung Behavior Bibliot
52. ae Saket oa tial neni ees Sania a E ete nein 99 Abbildungsverzeichmis v2 34 seccca iii ikon an IS lt E bide vaio dn 110 Tabellenverzeichnis norin deed svac cates ies E ENE E lesa EE A NEETA NE ENEE AE EET ER eee de des 113 AbkiirzungsverZei hints inaicone a EE E e eta ESEESE EEN EEE E ESEE Ets 114 Liter turverzeichnis seii EE E EEEE EK E EENE EEN EEEE a E EKos 115 Verzeichnis der Internet Links sericese ieie nii e EK EE EEEE ENEE EN ENE E EEE SEES ENES 116 GLOSS aT Fes fas EERE ARAE EEEE Sag EE EE ER EAEE E T 121 Selbstandipkertserklarung nren aiia E E E EAEE a E E A EEE E E E 125 Einleitung Einleitung Diese Diplomarbeit hat die Zielstellung die M glichkeiten der 3D Darstellung im Internet aufzuzeigen Zur Einf hrung in die Thematik erfolgt ein kurzer Abriss der historischen Entwicklung des Internets eine Erl uterung der anf nglichen Entwicklung standardbasierter 3D Technologien und eine ausschnittsweise Darstellung der momentanen Internetnutzung Anschlie end werden die verschiedenen Einsatzm glichkeiten der Web3D Technologien und ausgew hlte relevante Web3D L sungen vorgestellt Um die Einf hrung in die Problematik abzurunden folgen zum Ende des theoretischen Teils Einsch tzungen bez glich aktueller Technologiekonzepte und deren Vor und Nachteile Im Hinblick auf das in den nachfolgenden Kapiteln vorgestellte Director3D Konzept soll auch das oft verwendete Organisationsprinzips von 3D Szenen der Szenegraph dargestellt
53. aeesesneeseeeaees 76 5 2 1 Statischen Text im 3D Studio MAX generieren u nuensessensessersersensennenenennensennonnennnennnennennnonon 76 5 2 2 3DETextzur Laufzeit erzeu Sen icv 4 3 2402 ass acess dane aban AE hinein 77 5 2 3 Informationsvermittlung unter Nutzung von Texturen ueesersesseesessnesennesnersennensennnennnenennnnenon 78 6 Darstellungsqualit t und Performance sssrini iaei E EE EEEE Ea AA E aei 84 6 1 Kantenbilduns an benen Fl ch ni sipresse eE angled E E EEE E 85 6 2 Renderperformance in Abh ngigkeit der Geometrieaufl sung eeeeeeesseeresesssrsrsrerreressststsrerrererseserreerees 90 6 3 Verbesserte Darstellungsqualit t mittels Antialiasing eeeeeeeeeeseseeesesreereresssrsesrerreresssesrsrerrerenseseereerees 91 6 4 Renderperformance mit und ohne Antialiasing esesensesnensesnensesnnesennnennenenensonnnnsonnnenenennonsennann 92 6 5 Renderperformance in Abh ngigkeit des Abspielmodus 0 0 0 cceeceseeecssecseesecneeeecseeeesaeceeesecneseeenaseeeaees 92 6 6 Zusammenfassung 2 2 see ea he ase A naa dee eae E V eee ee urn 94 Inhaltsverzeichnis 7 Schlussbetr achtungen 2 2 4 228 2 2 80s 2B8 22 Rsbsiszh Resale DIE Bien 95 1 1 Was bringt Director MX Y 2 2 20 oae aeeai cadbsh vesetouedsdabasisess ieh 95 TEPA FAIR E A A E A S ea ua ad lait anes E saath iat ae nei ae ee ade 97 Anhang n 32e self deci ab ve evedogadstess apsavuebu ses E 98 Listings tii
54. an E EE EEEE EA EEAS E eS 27 1 21 Allgemeiner Aufbau eines Java 3D Szenegraphen uunsessersessersessnesennnenenesnonsennnnnonnnenennsnenennane 29 2 1 Der Direet r Arbeitsbereich a amp 22320 2 as RR na sha cade e ee desist aadeinea o E NEE 31 2 2 Director Arbeitsbereich die B hne 0 0 0 ceceeceesseescesseeesceeeeseceecaeceaecasecaeeeneeeeeeeeeseeeeceseeeeeeaeenaeeaes 32 2 3 Director Arbeitsbereich die Besetzung uursusssesesnesnensesnensernensornnennnnennensnnnonsennnnnennnesennnnonsonnane 32 2 4 Director Arbeitsbereich das Drehbuch 2 222422042000ssennensnensnennennnennnennennnnnnnnnnnnnnn nenne 33 2 5 Director Arbeitsbereich der Eigenschaftsinspektor 0 0 0 0 ceceeesecssseeceseceeeeeceeeeceeeeceaecaeesecseeseeneeeeeeaees 33 2 6 Director Arbeitsbereich das Skriptfenster ces cessecseesecneeeeceseeecssecseesecnessecsaeeecsaecaesaecaeeseeneeeeeaees 34 2 7 Director Arbeitsbereich das Nachrichtenfenster ccsccesceeeeceeceseccecseeeseeeseeseceeeeseceeeneeeaeenaeenee 34 2 8 Nachrichtenhierarchie in Director cccecceeseesseesceescesscesceesecesecaeceseceaecseecseeeaeeeaceeeeeeeseeeseeeseenaeenaeeate 36 2 9 Die Einheitsm tiix u a Sun n cobets daca eens E E E Ea E A E A E Te EEA EEEE E ARE 40 2 10 Die Translationsmati iK seeni a aan Rene ai 40 2 11 Die Sk lierungsmatiix s2 28H ass e ibn e KESE ETa KAKRA hen he Hann 40 2 12 Matrizen f r Rotat
55. asierte Technologien Damit Portabilit t und Interoperabilit t von Web3D Applikationen gew hrleistet werden k nnen sollten ben tigte Schnittstellen Protokolle Verfahren und Formate basierend auf der Grundlage technischer Spezifikationen realisiert werden Diese Spezifikationen k nnen durch die von Normungsorganisationen wie der ISO IEC durchgef hrten ffentlichen Verfahren in eine Norm berf hrt werden 17 Einfiihrende Bestandsaufnahme Die beiden nachfolgenden Kapitel beschreiben die offiziellen Standards f r eine interne Repr sentation einer 3D Szene das hei t es werden die Formate beschrieben die die 3D Informationen kapseln F r die Visualisierung der Daten sind entsprechende Plug ins oder Java Applikationen siehe Abschnitt 7 3 4 VRML Viewer notwendig Au er den beiden nachfolgend beschriebenen Formaten gibt es momentan mit der Weiterentwicklung des MPEG 4 Standards ein weiteres Format welches theoretisch in der Lage ist 3D Inhalte im Web wiederzugeben Allerdings wird auf eine weitere Darstellung verzichtet da momentan noch keine Implementierungen f r interaktive 3D Grafik basierend auf diesem Format existieren Weiterf hrende Aussagen zu diesem Format den geplanten Weiterentwicklungen und die Implementierung von X3D innerhalb des Formates k nnen bei Interesse unter RUKO1 und GOTO2 nachgelesen werden 1 3 1 1 VRML VRML97 Innerhalb der letzten acht Jahre hat sich das auf OpenInventor basierende VRML
56. auf der SIGGRAPH in Los Angeles vorgestellt wurde Die Entwicklung ist jedoch in verschiedenen Punkten nicht abgeschlossen Es existiert noch keine endg ltige Spezifikation des streamingf higen bin ren Dateiformats und der einzige bisher ver ffentlichte X3D Player befindet sich in der Betaphase Bei diesem als Xj3D bezeichneten Player www38 handelt es sich um eine auf dem Open Source Prinzip basierende Entwicklung die Jave 3D als Visualisierungstechnologie verwendet Koordiniert und vorangetrieben wird die Realisierung durch die Browser Working Group www39 Mit der Entwicklung von X3D sind mehrere Ziele verbunden e R ckw rts Kompatibilit t mit VRML97 bez glich bestehender Anwendungen Viewer und Tools e Realisierung eines gegen ber VRML97 kompakteren X3D Kerns Core X3D der grundlegende Funktionalit ten f r die Realisierung von Web3D Anwendungen bezogen auf die Anwendungsbereiche E Commerce Unterhaltung und verteiltes Lernen implementiert e Unterst tzung von anderen Codierungen Schwerpunkt der Implementierung XML e Entwicklung eines Erweiterungsmechanismus f r die Integration neuer Funktionalit ten Es werden erweiterte Komponenten verwendet die das schlanke Core Profil erg nzen s Abb 1 9 Momentan sind sechs Profile in der X3D DTD aufgef hrt e VRML97 Profil X3D 2 die eigentliche Umsetzung von VRML97 e GeoVRML Profil dient zur geografische Visualisierung e H Anim Profil dient zur Darstellung von M
57. ben Diese Blattknoten referenzieren entsprechende Appearance und Geometry Komponenten die das Aussehen bzw die Geometrie des Objektes definieren In Director3D ist das Modell das quivalent zum Objekt die geometrische Form und das Erscheinungsbild werden in einer Modellressource definiert wobei diese wiederum eine Referenz auf einen Shader beinhaltet welcher die optischen Materialeigenschaften beschreibt Um Objekten ein bestimmtes Verhaltensmuster zuzuweisen werden in Java 3D von der Klasse Behavior abgeleitete Klassen verwendet Mit ihnen kann auf Ereignisse reagiert und der Szenegraph manipuliert werden Transformationen Animationen Interaktionen Picking Lichtquellen de aktivieren usw In Director wird die Funktionalit t auch durch Behaviors Verhalten erweitert Allerdings sind die Behaviors keine Elemente des Szenegraphen Sie wirken von au en auf die Elemente des Graphen und nutzen daf r entsprechende Referenzen z B member which3DMember model whichModel 30 Grundlagen Director und 3D Darstellung 2 Grundlagen Director und 3D Darstellung Um die Ausf hrungen hinsichtlich der praktischen Umsetzung des Diplomthemas verstehen zu k nnen auch wenn nur geringe oder gar keine Kenntnisse in Handhabung von Director vorhanden sind soll in diesem Kapitel eine systematische Einf hrung erfolgen Der Begriff Director wird in der weiteren Abhandlung als verk rzte Form von Director 8 5 Shockwave Studio f r 3
58. bergeben parserObject new xtra XMLParser parserScriptObject new script ps_ParserScript parserObject p3DObj if the runMode contains Plug in then errorCode parserObject parseURL the moviepath amp pURL_FilmInfo parseDone parserScriptObject Listing 34 Initialisierung XML Parser unter Nutzung des CallBack Mechanismus In der als Symbol bergebenen Funktion parseDone erfolgt nachdem die XML Datei geladen und geparst wurde die Umwandlung der geparsten Liste in eine vereinfachte Liste von Propertylisten Listing 55 Umwandlung der XML Propertyliste Dabei werden die Informationen die durch ein lt rilm gt Tag umschlossen sind als eine Propertyliste zusammengefasst deren Propertynamen aus den Tag Namen der untergeordneten Attribute generiert werden Die somit f r jeden Film erstellten Propertylisten werden in einer gemeinsamen Liste gespeichert Der Zugriff und die beschriebene Vereinfachung einer geparsten Liste ist jedoch nur m glich wenn die hierarchische Struktur der XML Datei bekannt ist Innerhalb der XML Datei sind u a auch die Namen der JPG Dateien die f r die Kinoplakate und das Kino Informationsobjekt als Texturen verwendet werden definiert Diese Dateien m ssen vor ihrer Verwendung als Textur geladen und als Darsteller importiert werden Da neben dem Laden von Texturdateien auch Szenenelemente per zus tzlicher W3D Files nachgeladen werden sollen bot es sich an die ben tigten Netz Funktionalit ten in ei
59. bestimmten Positionen im Raum Sie sind die sichtbaren Elemente einer Szene Erzeugt wird ein Modell wie folgt mCylinderl pMember newModel mCylinderl mrCylinder Listing 6 Erstellung eines Modells 2 4 3 Oberfl cheneigenschaften Shader und Texturen Shader bestimmen das visuelle Erscheinungsbild eines Modells sie definieren die optischen Eigenschaften der Oberfl chen von Objekten Jedes Modell besteht aus mindestens einem Gitternetz eine Kugel besitzt standardm ig ein gew lbtes Gitternetz wohingegen sich ein Quader aus sechs Gitternetzen zusammensetzt Diese Gitternetze besitzen jeweils eine Referenz auf einen m glicherweise gemeinsam genutzten Shader Ein Shader kann bis zu 8 Texturen beinhalten die miteinander kombiniert werden k nnen Die Einstellungen hinsichtlich der Texturen des Verhaltens auf Beleuchtung diffuse hochgl nzende Reflektionen und die Art des Renderns gef llte Oberfl che Drahtgitter oder Punktdarstellung bestimmen das Aussehen des Modells Mit der Instanzierung erh lt jedes 3D Modell einen Verweis auf den Standardshader mit dessen Standardtextur rot wei es Schachbrettmuster Abb 2 18 W rfel mit Standardshader F r das Preloaderobjekt wurde ein einheitlicher Shader f r alle Elemente definiert Als Textur wird ein so genanntes Imageobjekt per Lingo erzeugt und mit einem dunklen Grauton gef llt Dieses Imageobjekt wird anschlie end verwendet um eine neue Textur zu definieren Dem Shade
60. breitbandiger Internetzug nge festzustellen Daneben haben sich in den letzten Jahren mit OpenGL und DirectX www15 Standards zur Programmierung der Grafik Hardware etabliert Mit diesen Voraussetzungen gewinnt der potentielle Markt f r 3D Webinhalte eine immer gr er werdende Bedeutung Um die Marktrelevanz f r 3D Webdarstellungen einsch tzen zu k nnen soll nachfolgend eine kurze Zusammenfassung ber den aktuellen Stand der Internetnutzung ber die Zugangsperformance und ber die Hauptprobleme der Web3D Darstellung gegeben werden Einige Ausz ge die aus einer Internationalen Vergleichstudie zur Informationsgesellschaft des Bundesverbandes Informationswirtschaft Telekommunikation und Neue Medien e V stammen www16 sollen die Nutzung und die Bedeutung des Internets bezogen auf das Jahr 2002 verdeutlichen e Weltweit wird das Internet von ber 600 Millionen Menschen genutzt 100 Millionen mehr als im Jahr zuvor e Jeder zweite Deutsche 41 Millionen wird das Internet im Jahr 2003 nutzen e Weltweit laufen bereits 54 Millionen Internet Zug nge ber Breitband Anschl sse e Deutschland hat weltweit mit die leistungsf higste Telekommunikations Infrastruktur 25 Millionen ISDN Kan le 3 2 Millionen DSL Anschl sse e Bis zum Jahr 2005 sollen sich die DSL Anschl sse auf 6 3 Millionen verdoppeln e Der Umsatz des elektronischen Handels stieg deutschlandweit auf 87 8 Milliarden pro Jahr an Einfiihrende Bestandsaufnahme
61. ch eines Kleinen Plug Ins erforderlich Die erste Aussage beh lt dann ihre G ltigkeit wenn ein vergleichbarer Mehrwert durch eine L sung realisiert werden w rde die auf dem Prinzip von QuickTimeVR www21 basiert Bei dieser Pseudo 3D Technologie handelt es sich um keine echte zur Laufzeit generierte 3D Darstellung QuickTimeVR und entsprechende Nachahmerprodukte www22 www23 basieren auf Fotos die aus verschiedenen Perspektiven aufgenommen wurden Die sehr gute visuelle Qualit t ist hierbei mit dem Nachteil des gro en Downloadvolumens verbunden 11 Einfiihrende Bestandsaufnahme Der Vorteil relativ kleiner Dateigr en bei richtigen Web3D L sungen durch ihre deskriptive vektorielle Szenenbeschreibung kann jedoch bei intensiver Nutzung von Texturen schnell verloren gehen Auch der zweiten Aussage kann nur unter Vorbehalt zugestimmt werden Je nach verwendeter 3D Technik kann die Installation eines Plug ins welches mehrere Megabytes umfassen kann erforderlich sein Es gibt zwar Bestrebungen der Anbieter von Web3D Technologien ihre Plug ins mit den Installationspaketen diverser Browser zu b ndeln und offline per CD zu vertreiben aber von einer marktdurchdringenden Verbreitung noch dazu verschiedener Plug ins Kann nicht ausgegangen werden Au erdem erfolgen nachvollziehbar am Beispiel des Macromedia Shockwave Players in unterschiedlichen zeitlichen Abst nden automatische Updates des Plug ins Bei Web3D Darstellung mi
62. chCastmember node whichNode rotate xAngle yAngle zAngle relativeTo member whichCastmember node whichNode rotate rotationVector relativeTo member whichCastmember node whichNode rotate position axis angle relativeTo Listing 10 Allgemeine Form des Rotationskommandos member whichCastmember node whichNode scale xScale yScale zScale member whichCastmember node whichNode scale uniformScale Listing 11 Allgemeine Form des Skalierungsbefehls Die r umliche Anordnung der Elemente des Preloaderobjektes wurde realisiert indem zuerst eine Liste der normierten Ortsvektoren der Translation f r jedes zu verschiebende Element erstellt wurde Anschlie end wurden die Modelle erzeugt und die notwendigen Translationen auf dieser Liste basierend zugeordnet siehe Listing 43 Erstellung und Translation der Szenenmodelle 2 4 5 Hierarchische Strukturen Parent Child Beziehungen Parent Child Beziehungen sind dann sehr n tzlich wenn mehrere Modelle eine logische hierarchisch gegliederte Einheit bilden Ohne diese Funktionalit t m ssten die Animationen der einzelnen Elemente per Hand relativ zu ihren bergeordneten Elementen berechnet werden Stattdessen werden hierarchische Ketten definiert die es erlauben dass die Kindelemente automatisch den Bewegungen ihrer Parents relativ folgen Das Standard Parent f r jedes mit Lingo erstellte Objekt ist der oberste Knoten der Hierarchie
63. chiedene Verhaltsskripte f r eine einfache Kamerasteuerung mit Allerdings zeichnete sich schon bald ab dass mit diesen Skripten die der Szenennavigation zu Grunde liegenden Anforderungen nicht realisiert werden konnten Deshalb musste ein neues Kameraverhalten entwickelt werden bzw eine existierende L sung anderer Director Entwickler angepasst werden Eine intensive Recherche im Internet lieferte ein einziges Beispiel welches sich als brauchbare Basis f r die weitere Entwicklung der Kamerasteuerung herausstellte www52 Folgende Vorgaben waren bei der Umsetzung zu realisieren Kamerabewegung in Blickrichtung e bei gedr ckter linker Maustaste mit zunehmender nderungsgeschwindigkeit Kamerabewegung entgegen Blickrichtung e bei gedr ckter rechter Maustaste Rotation Kamera um z Achse der Welt f r Schwenk e wenn keine Maustaste und nicht die Ctrl Taste links rechts gedr ckt Maus au erhalb des Mittelbereiches des 3D Sprites Rotation um lokale x Achse f r Blick nach oben e wenn Ctrl Taste gedr ckt und Maus au erhalb unten des Mittelbereiches des 3D Sprites Kollisionserkennung mit Unterbindung der e ignorieren von Elementen die in einer Positiv Kamerabewegung Liste zusammengefasst sind Bsp Lichtkegel Aufl sung der Kollision bei allen andern Modellen Picken von Szenenelementen und Triggerausl sung e Feststellung auf welches Szenenelement geklickt wurde Triggerausl sung mit Hilfe Picken in negativer z Richt
64. collisionModel Listing 23 Initialisierung des Collision Modifiers wird festgelegt welcher Eventhandler in welchem Objekt aufgerufen werden soll wenn eine Kollision des Modells modal collisionModel mit einem anderen Objekt erkannt wird Bei der Verwendung von collideAny statt collideWith wird auf jede Kollision in einer Szene reagiert F r die Verwendung des Collision Modifiers k nnen verschiedene Attribute abgefragt und gesetzt werden Eigenschaft Beschreibung Collision enabled Erfolgt eine Kollisionsdetection am Modell Collision resolve Soll die Kollision am Modell behoben werden Collision mode Welche Geometrie soll f r den Kollisionserkennungsmodus verwendet werden sphere box mesh Tabelle 17 Eigenschaften des Collision Modifiers und deren Bedeutung 4 2 3 Funktionsprinzip der Kameraboundingsphere Da eine Kollisionserkennung nur zwischen Modellen funktioniert muss ein Dummyobjekt f r die Kamera eingef hrt werden Als ein solches Objekt fungiert die Boundingsphere Model camera_sphere Der minimale Abstand zwischen Kamera und einem Kollisionsobjekt l sst sich somit ber den Radius der Kameraboundingsphere definieren F r eine korrekte Funktionsweise der Kamerasteuerung ist eine Parent Child Zuordnung von Kamera und Dummykugel notwendig Entsprechend ist also bei der Initialisierung die Transformationsmatrix der Kugel mit der der Kamera zu berschreiben Diese Vorgehensweise gew hrleistet dass Kamera und D
65. dellressource importiert wird und somit auch nur eine Instanz bildet wird die Kollisionserkennung ber das gesamt Volumen ausgef hrt Nachfolgendes Beispiel soll die Aussage bez glich der Kollisionserkennung verdeutlichen Vier W nde umschlie en einen Raum und sind in einer Gruppe zusammengefasst Ein Objekt in einem solchen Raum w rde in diesem Fall immer ein Kollisionsevent ausl sen Ebenso kann bei den beiden oben genannten Modi keine Fallunterscheidung hinsichtlich m glicher ffnungen z B T ren entstanden durch boolesche Operationen realisiert werden Als theoretischer Ausweg f r diese beiden Probleme bietet sich die Verwendung des Attributes mesh f r den Parameter collision mode an Leider steigt die Prozessorbelastung in diesem Modus derart stark an dass eine Reaktion der Kamera auf Benutzerinteraktionen nicht mehr in Echtzeit erfolgen kann Basis Pentium 700 Mhz Szene mit 4 Quadern einer Kugel collision mode mesh Das bedeutet dass eine Kamerasteuerung basierend auf der Kollisionserkennung mittels des Kollisionsmodifiers nicht realisiert werden kann 4 3 Endg ltige Realisierung der Kamerasteuerung Als zweiter L sungsansatz bot sich die Adaptierung der Kamerasteuerung aus dem Beispiel tunnels dir www52 von Tom Higgins an Die Kollisionserkennung und aufl sung erfolgte auch hier unter Verwendung einer Boundingsphere f r die Kamera Diese transparente Kugel und ein Kameralicht wurden der Hauptkamera als Childel
66. dem Kino s Abb 5 7 e Definition der gew hlten Bitmapausschnitte f r die Anzeige der Bildwiederholrate s Abb 5 8 Abb 5 7 Anzeige Downloadstatus auf Doppelt r Beim ersten Beispiel wurde per Imaging Lingo eine Textur basierend auf einer Textinformation erstellt siehe Abschnitt 5 2 3 2 Schrifttextur auf Objekten Damit der Eindruck einer geteilten gemeinsam genutzten Textur auf den beiden T ren entstand musste die linke H lfte der Textur dem linken Modell und die rechte H lfte dem rechten Modell ber eine entsprechende Manipulation der Texturkoordinaten zugeordnet werden Das Prinzip und die Vorgehensweise soll nachfolgend an dem zweiten realisierten Beispiel erkl rt werden 81 Ubermittlung und Darstellung dynamischer Inhalte F r die Performanceanalyse sollte eine FPS Anzeige Framerate Bilder pro Sekunde realisiert werden Dazu wurde eine bestehende L sung von Timothy Strelchun welche mehrere Movieskripts nutzte angepasst und mittels Parentskripts gekapselt Leitmotiv bei der Verwendung dieses Konzeptes war die Vorgabe dass die Bildwiederholrate nicht durch zus tzliche CPU Belastungen f r zyklischen Operationen zur Bild und damit zur Texturmanipulation reduziert werden sollte Abb 5 8 Anzeige der erreichten FPS Rate innerhalb der 3D Szene Grundprinzip dieses L sungsansatzes ist die Erstellung jeweils einer Modellressource f r jeden ben tigten Zeichentyp Dieser Modellressource wird ein Bitmapausschnit
67. die Erstellung einer Textur basierend auf dem Image eines Textdarstellers unter Verwendung seiner Alphainformation ist im Listing 56 Imaging Lingo f r optimale Darstellungsqualit t von Textinformation beschrieben Folgende Schritte werden durch den Algorithmus definiert e Extraktion der Image Informationen des Textdarstellers e Erstellung eines neuen Image mit bergebener Breite und H he e Hintergrund des Image als wei definieren notwenig f r Transparenz e Alphainformation des Textdarstellers extrahieren e Berechnung des Ziel Rechtecks damit Text mittig im neuen Image platziert wird e Kopieren der Textinformationen unter Beachtung der Alphainformationen mittig in das neu erstellte Image e berpr fung und ggf Anpassung des Formates des Image an Potenzen zur Basis 2 e Zuordnung des Image zu einem Bitmapdarsteller e Zuordnung des Bitmapdarstellers zu einer Textur Die Nutzung dieses Algorithmus ist dann sinnvoll wenn eine bestm gliche Darstellungsqualit t notwendig ist die Textinformation nicht als Overlay realisiert werden soll oder kann und f r den Zeitraum der Berechnung keine Perspektiv nderungen oder Animationen erfolgen 5 2 3 3 Teile einer Textur unter Nutzung von Texturkoordinaten verwenden Das Prinzip der Texturanpassung mittels der Manipulation der Texturkoordinaten der Polygone fand im Prototypen in zweierlei Form Anwendung e Definition der Textur bei der Darstellung des Downloadstatus auf der Doppelt r vor
68. die Welt Dieses Parent wird als group world referenziert Eine hierarchische Zuordnung erfolgt wie im nachfolgenden Beispiel beschrieben Zuordnung eines Parents zu einem Modell pMember model Spherel parent pMember model CSphere oder einem Modell Camera Licht ein untergeordnetes Objekt zuordnen pMember camera Kamera01 addChild pMember model Boundingsphere Listing 12 Erstellung einer Parent Child Beziehung Im Beispiel des Preloaders wird allen geometrischen Primitiven die mittlere Kugel als Parent zugeordnet wobei diese aber als Parent die Welt beh lt 48 Grundlagen Director und 3D Darstellung 2 4 6 Animation der hierarchischen Anordnung Director bringt mit seiner Bibliothek eine Reihe von vorgefertigten Standardverhalten mit Darunter befinden sich u a auch Verhalten fiir eine automatische Modelldrehung Diese lassen sich per Drag amp Drop einem Sprite das einen 3D Darsteller als Member besitzt zuordnen Dialogbasiert k nnen Einstellungen hinsichtlich des zu rotierenden Modells der Rotationsachse und des Rotationswinkels vorgenommen werden Die vorgefertigten Behaviors bieten ihren Quellcode offen an Das versetzt den Entwickler in die Lage deren Funktionalit t einzusehen und gegebenenfalls an seine Bed rfnisse anzupassen Die Funktionsweise des Skriptes l sst sich verk rzt so darstellen Im enterrrame Handler wird entsprechend den vorgenommenen Voreinstellungen die Funktion f r die Rotation
69. difiers variiert und mit Hilfe des Mesh Modifiers verifiziert Bildwiederholrate in Abh ngigkeit von Rendermodus und Geometrieaufl sung E directX7_0 E OpenGL O directX5_2 O Software Bilder s FPS 24992 Polygone 63155 Polygone Abb 6 12 Maximale Bildwiederholrate bei ver nderter Polygonanzahl Obwohl in der zweiten Testreihe die Anzahl der Polygone 22 mal so gro wie in der ersten Variante waren fiel die Bildwiederholrate nur relativ gering ab Ursache daf r ist wahrscheinlich die Tatsache dass Director automatisch eine Polygonreduzierung durchf hrt wenn die vorgegebene Framerate hier 30 FPS nicht erreicht wird Ansonsten zeigt das Diagramm die fast typische Renderleistung der einzelnen Modi allerdings mit der Ausnahme dass der openGL Modus eine ungew hnlich gute Performance aufweist Interessant war die Erkenntnis dass die CPU Belastung nicht anstieg wenn das Objekt im Raum transformiert wurde 90 Darstellungsqualit t und Performance 6 3 Verbesserte Darstellungsqualitat mittels Antialiasing Antialiasing f r 3D Darsteller und die zugeh rigen Befehle werden erst mit der Director Version 8 5 1 unterst tzt Daher ist bei der Initialisierung des Filmes die Abfrage der Version und das Setzen der entsprechenden Flags notwendig Listing 59 Abfrage auf Antialiasingsupport Die Prozessorbelastung fiir Szenen mit aktiviertem Antialiasing ist so hoch dass Macromedia die Be
70. dows ist OpenGL basiert auf Iris GL von Silicon Graphics SGI Werte die an Prozeduren iibergeben werden Parser sind Software Module dir Dokumente oder Quelltexte nach vorgegebenen Kriterien grammatikalischer Struktur syntaktisch analysieren und fiir die Weiterverarbeitung aufbereiten Liste die eine Abfolge der Animationen eines Director3D Objektes beinhaltet Hilfsprogramm das die Funktionalit t eines Browser oder anderer Programme erweitert Vieleck definiert geometrische Struktur von Objekten unterschiedliche qualitative Auslegung 3D Studio Max Director3D 1Polygon besteht aus zwei Dreiecken 1Polygon besteht aus einem Dreieck Kleiner Flash oder Directorfilm der den Benutzer motiviert den eigentlichen gr eren Film weiterhin im Hintergrund laden zu lassen Eigenschaftsvariable in Director Verhaltensskripten der G ltigkeitsbereich ist auf die Skriptinstanz beschr nkt noch nicht fertig gestellte Software Zwischenstand bei der Entwicklung Zusammenfassung aller Rechenoperationen die n tig sind eine vorhandene Szenenbeschreibung in ein 2D Pixelbild umzusetzen Systemerweiterung f r das Windows Windows NT Macintosh und Silicon Graphics Betriebssystem zum Aufnehmen Bearbeiten und Wiedergeben von Videos auf dem PC 3D Technologie erzeugt einen r umlichen Eindruck durch geschickte Anordnung und Verzerrung von Einzelbildfolgen oder unter Nutzung von Panoramabildern Sehr gute Darstellungsqualit t gro e Da
71. druck eines Produktes vermittelt werden Der Nachteil des nichtsinnlichen Einkaufserlebnisses kann somit zum Teil relativiert werden Die Bedeutung interaktiver Web3D Darstellungen im E Commerce Bereich kann beispielhaft an der Aussage von Monika Heidemann vom Fraunhofer Institut f r Graphische Datenverarbeitung in Darmstadt festgemacht werden Die Darstellung von dreidimensionalen Bildern im Internet ist ein Wachstumsmarkt und spielt eine Schl sselrolle beim weiteren Erfolg des eCommerce Zahlreiche Firmen bieten schon heute auf ihren Web Seiten 3D Modelle zum Konfigurieren ihrer Produkte zur Auswahl von Ersatzteilen oder einfach nur zur Produktpr sentation an www19 Nach Aussage des deutschen Business Portals 3D Economy www20 welches die kommerziellen Aspekte von Web3D kommuniziert bieten sich verschiedene Vorteile bei der Nutzung dreidimensionaler Darstellungen im Web e fotorealistische Darstellung von Produkten und Prozessen in 3D e Veranschaulichung komplexer Sachverhalte durch Animation e hoher Identifikationsgrad durch Produktn he e virtuelle Produktkonfiguration durch Interaktion e multimediale Zusatzinformationen integrierbar e hoher Persistenzgrad durch Interaktion und l ngere Verweildauer Au erdem werden auf der Webseite zwei Aussagen getroffen die in ihre Absolutheit zu relativieren sind e schnelle bertragung der Inhalte durch geringere Dateigr en Vektor Datenformat e Installation keines oder ledigli
72. e end wird der Korrekturvektor berechnet Dazu wird der normierte Weltvektor des Punktes ermittelt an dem der Pickstrahl das Gitternetz des gepickten Objektes geschnitten hat Aus dem Produkt des Betrages der notwendigen Korrektur und dem ermittelten normierten Weltvektor ergibt sich der Korrekturvektor Mit diesem Vektor erfolgt eine entsprechende Translation und die Kollision ist somit aufgehoben 72 Ubermittlung und Darstellung dynamischer Inhalte 5 Ubermittlung und Darstellung dynamischer Inhalte F r die Informations bertragung wurden in dem Projekt zwei verschiedene Varianten der Content bertragung realisiert Innerhalb der 3D Szene wurde XML zur Informations bertragung genutzt Alternativ kann eine Informations bertragung auch mit einer konventionellen Textdatei erfolgen die mittels getnetText geladen und anschlie end interpretiert werden kann Dieses einfache Prinzip der Informations bertragung wurde im PocketCommunicator verwendet um die Initialisierungsdatei zu laden die die Bildstruktur f r die Diashow beinhaltet Im folgenden Kapitel soll die innovativere Variante der Informations bermittlung per XML beschrieben werden Die daran anschlie enden Kapitel besch ftigen sich mit der Frage der Visualisierung dieser Informationen oder allgemeiner ausgedr ckt mit dem Problem der Textdarstellung in 3D Szenen 5 1 Content bertragung per XML und asynchrones Scripting In Hinblick auf die Pflege der dynamischen Inhalte in d
73. e Aufl sung der Geometriedaten der Modelle zur Laufzeit skaliert werden kann Dies kann entweder in Abh ngigkeit zur Kameraentfernung automatisch erfolgen oder aber per Lingo um die Renderanforderungen an die Hardwarevoraussetzungen anzupassen Das gegenteilige Prinzip wird mit der Subdivision Surfaces Technik SDS realisiert Zur Laufzeit werden durch weitere Oberfl chenunterteilungen Polygone zu einem Modell hinzugef gt um es komplexer erscheinen zu lassen Die Datei die die urspr ngliche Geometrie beinhaltet kann somit relativ kompakt gehalten werden F r Standard 3D Anforderungen wie sie sich zum Beispiel bei einer Produktpr sentation ergeben stellt Director vorgefertigte Skripte zur Verf gung mit denen Objekt und Szenenmanipulationen ohne Programmierkenntnisse realisiert werden k nnen Das Plug in besitzt eine gro e Verbreitung www42 und erm glicht auch dank entsprechender Grafikhardwareunterst tzung mittels OpenGL und DirectX eine sehr gute Darstellungsqualit t Antialiasing f r 3D Szenen kann seit Version 8 5 1 aktiviert werden Mit der eigenen Programmiersprache Lingo hat man die volle Kontrolle ber die Szene Director Shockwave3D eignet sich gleicherma en f r den Einsatz bei Offlinemedien wie CD ROMs oder DVDs als auch f r die dreidimensionale Darstellung im Internet Allerdings ist die Gr e des Plug ins eher von nachteiliger Wirkung Au erdem werden keine Schattenmaps unterst tzt diese m ssen bei Bedar
74. e ergibt noch deutlicher als dies in Abbildung 6 2 der Fall ist Neben dem verwendeten Shadingmodus bestimmen die Fl chennormalen die Position der Kamera die Position und Farbe des Lichtes sowie die Materialeigenschaften die Schattierung von Objekten Die erste Vermutung lag darin dass die Normalen der Dreiecksfl chen einer Fl che voneinander abweichen Das Testobjekt besteht ohne Segmentierung aus 16 Eckpunkten 28 Dreiecken und umfasst eine Vertex und Normalist von 48 Elementen Jeder Eckpunkt wird von Dreiecksfl chen verwendet die in drei verschiedenen Ebenen liegen Somit enth lt die Vertexlist 16 verschiedene Scheitelpunkte die jeweils dreimal vorkommen sich jedoch in ihren zugeordneten Normalen unterscheiden F r die weitere Betrachtung soll zur Vereinfachung nur die der Kamera zugewendete Fl che analysiert werden Diese Fl che liegt in der xz Ebene und besteht aus 6 Dreiecksfl chen Damit man Zugriff auf die Geometriedaten eines importierten Modells erh lt muss diesem der meshDeform Modifier zugeordnet werden pMember model Quader01 addModifier meshDeform Listing 40 Zuordnung des meshDeform Modifiers zu einem Modell Mit einem einfachen Skript Listing 57 Bestimmung des gepickten Polygons und dessen Scheitelpunkte lassen sich der Index des gepickten Polygons und darauf aufbauend die zugeh rigen Scheitelpunkte bestimmen Mit Hilfe des 3DPI k nnen die den Scheitelpunkten zugeordneten Normalen untersucht werden ohne dieses T
75. e k nnen Nachrichten generieren und empfangen e der Film selbst e das Drehbuch e die Sprites im Drehbuch e die Darsteller in den Besetzungen Die Eigenschaften der Eventhandler ihr Typ ihre Zuordnung und ihre Positionierung im Film bestimmen grundlegend ihr Verhalten auf Nachrichten s Abb 2 8 35 Grundlagen Director und 3D Darstellung Die Hierarchie der Eventebenen bestimmt welches Skript die Nachricht zuerst erh lt Nachfolgende Darstellung verdeutlicht diesen Zusammenhang Primary Events Primary Event keyUp keyDown Ebene mouseUp mouseDown Sprite Events Sprite Skript beginSprite endSprite Ebene mouseEnter mouseLeave Frame Events Frame Skript Cast Skript enterFrame exitFrame Ebene Ebene prepareFrame Movie Events Movie Skript prepareMovie startMovie Ebene stopMovie 1 Kein Handler Weitergabe der 3 Weitergabe nur m glich wenn kein definiert oder Nachricht an gleichzeitiger Frameskripthandler pass Befehl beide Ebenen vorhanden Abb 2 8 Nachrichtenhierarchie in Director Basierend auf dieser Hierarchie gibt es 4 unterschiedliche Skriptarten die sich hinsichtlich ihres G ltigkeitsbereiches und der handhabbaren Nachrichten unterscheiden e Primary Event Handler e Darstellerskripte e Verhaltensskripte e Filmskripte Primary Event Handler haben die h chste Priorit t Hierbei handelt es sich um vier reservierte Skripte die nur fiir den Film ihrer Deklarati
76. eennenennnennennnnenennan 91 6 14 Bildwiederholraten mit ohne Kantengl ttung u uessessersessensernesnnnesnensennensonnnnsonnnenennnnenennnn 92 6 15 Performanceuntersuchung nach Wiedergabeumgebung 22242 204222 200nsennennennnesennnenennsnenennnn 93 6 16 Verlauf der CPU Belastung bei Shockwavedarstellung 20202200202snensennensernnesennnennennnnennnnann 93 7 1 Das neue Userinterface von Director MX uesersessesesnessensesnersesnonsonnnennnnesnenennonsonsnnsennnenennsnonsennane 95 112 Tabellenverzeichnis Tabellenverzeichnis Tabelle 1 Ausgew hlte maximal erreichbare Downloadraten 22222022020022020Bennennesnensennensennnennnenennnenennn 10 Tabelle 2 Zusammenfassung Viewpoint Experience Technology ccscccssessseeseeesceeeceeeeeeeceseceseceaeceeeaeeeneeeneees 21 Tabelle 3 Zusammenfassung Puls3D Technologie ecessesssecssesecseeseceseeecsaecaeesecseesccneesecsaseeesaecatesesneeseenaeneeas 22 Tabelle 4 Zusammenfassung Cult3D Technologie 24220422224020ennonnennnesennnennennesnenennonnennnennnenenenenennn 22 Tabelle 5 bersicht Macromedia Ditector Daunen in anhn 23 Tabelle 6 bersicht zu Adobe Atmosphere sc runden nenne kenn 24 Tabelle 7 Zusammenfassung der Web3D Technologie 3Danywhere uursuensesnensesnensessensensnennnesnense nennen 25 Tabelle 8 Zusammenfassung der Web3D Technologie Shout3D u22u2202ssesnensesnen
77. efinierten Blickwinkel auf die Szene des 3D Darstellers dar al sprite Index member member 3D_MemberName a2 sprite Index camera member 3D_MemberName camera Index 3D Darsteller Ein 3D Darsteller ist das zentrale Element der Director3D Philosophie Er kapselt alle Komponenten die zur Beschreibung einer 3D Szene ben tigt werden Der Zugriff erfolgt tiber den Namen oder den Index der Komponente b member 3D_MemberName modelresource Index C member 3D_MemberName model Index d member 3D_MemberName camera Index e member 3D_MemberName shader Index 42 Grundlagen Director und 3D Darstellung f member 3D_MemberName texture textureName g member 3D_MemberName motion motionName h member 3D_MemberName Light lightName i member 3D_MemberName group groupName Modelle sind Instanzen von Modellressourcen Nur sie sind in der Shockwave 3D Welt sichtbar Zu ihrer Beschreibung werden Modellressourcen Shader und gef Animationen ben tigt j model modelName modelresource k model modelName shaderList 1 model modelName modifier Index Modellressourcen beschreiben die Geometrie von Objekten und bilden die Grundlage f r das Erstellen von Modellen Sie basieren auf Gitternetzen die sich wiederum aus Polygonen die mittels Vektoren definiert werden zusammensetzen Lichter beleuchten die Szene und sorgen somit f r einen r umlichen Eindruck Sie k nnen a
78. egung eine Kreisbahn um das Dummyobjekt vollziehen Eine zweite Alternative w re die Verwendung des Befehls pOrbitCamera rotate 0 0 0 0 pAngle pDummy Listing 28 Relative Rotation um ein Objekt Hier w rde die Rotation um die z Achse des Dummyobjektes mit dem Winkel pAngle relativ zum Objekt pDummy erfolgen if plan rbif ngle lt 0 7 ET then pCamAnimInfo initT pOrbitCamera transform duplicate finalT pMember camera Kamera0l transform duplicate count 0 pStartCamPathInterpol TRUE Listing 29 Abbruchbedingung amp Initialisierung Die Abbruchbedingung f r die kreisf rmige Kamerabewegung wurde empirisch ermittelt Wird der Rotationswinkel der bei jedem Funktionsdurchlauf um den Wert PI 60 dekrementiert wurde kleiner als der Referenzwert so erfolgt die Initialisierung der Propertyliste f r die Kamerainterpolation mit der Anfangs und Endposition der Kamera sowie mit dem Anfangswert f r die prozentuale Interpolation Au erdem wird ein Flag gesetzt welches anzeigt dass die Kameraposition interpoliert werden soll 68 Die Kamerasteuerung Die Interpolation der Kamera erfolgt linear indem die Kamera mit dem Differenzvektor aus Start und Endposition zu Letzterer hin verschoben und ggf rotiert wird Wie stark die Verschiebung zur endg ltigen Position hin erfolgt wird durch den 3 Parameter bestimmt Listing 49 Positionpathinterpolation 4 3 4 Die Steuerung der Kameratransformation Damit die Usabili
79. els overlayImage targetRect overlaylmage rect maskImage maskImg targetImage setAlpha maskImg targetImage useAlpha TRUE targetMember image PowerOf2Dimensions targetImage theShader member 1 1 shader sh_Box theShader textureTransformList 2 position vector 0 000 0 000 0 0000 theShader textureTransformList 2 scale vector 1 0000 1 0000 1 0000 eae targetImage overlaylmage targetMember image targetImage theShader member 1 1 shader sh_Box theShader textureTransformList 2 position vector 0 2400 0 2500 0 0000 theShader textureTransformList 2 scale vector 0 5000 0 5000 1 0000 theShader textureRepeatList 2 0 end if if voidP p3DMember then return if not voidP aPropList then if not voidP aPropList pTexture then aPropList pTexture member targetMember gIsready TRUE return end if end if l1Texture p3DMember Texture tx_AlphaText if voidp 1Texture then l1Texture p3DMember newTexture tx_AlphaText end if lTexture member targetMember gIsready TRUE return lTexture end createTexture on PowerOf2Dimensions plmage W getNearestPowerGE 2 plmage width H getNearestPowerGE 2 plmage height if W plmage width and H pImage height then plmage setAlpha getNegativ getNegativ pImage return plmage end if pUseAlpha plmage UseAlpha lColor plmage getPixel 0 0 nImage image W H plmage depth Reel Os OW Wh os Aleenkare l
80. emente zugeordnet pCamera pMember camera pCameraName pCamera fieldOfView 45 create the camera s bounding sphere mr pMember newModelResource camera_sphere sphere mr radius pCameraSphere_Radius pCameraSphere pMember newModel camera_sphere mr pMember shader DefaultShader texture void member shader DefaultShader blend 0 create a light to carry with the camera camLight pMember newLight camera_light point eamkfahtr COo e LO ELO O camLight attenuation vector 1 0 0 5 0 0 make the sphere and light children of the camera pCamera addChild pCameraSphere preserveParent pCamera addChild camLight preserveParent Listing 24 Vorbereitung Kamerasteuerung 65 Die Kamerasteuerung Die vorhandene L sung wurde um die Funktionalit t einer IgnorCollisionList enth lt Namen der Modelle bei denen eine Kollision ignoriert wird zus tzliches Antialiasing und eine Triggerausl sung erweitert Au erdem wurde der sensitive Bereich f r Kameratransformationen eingeschr nkt der Kameraschwenk f r den Blick nach oben unten implementiert und die Steuerung der Kamera ber Treppen und schiefe Ebenen erm glicht Nachfolgend soll die Implementierung der Kamerasteuerung mit den genannten zus tzlichen Features beschrieben werden 4 3 1 Die notwendigen Flags und Eigenschaftsvariablen F r die Realisierung der Steuerung ber verschiedene Funktionen hinweg ergibt sich die Notwendigkeit eine Reihe
81. en 28 43 1792 Teilfl chen Erst wenn die Fl che der einzelnen Dreiecksfl chen eine gewisse Maximalgr e nicht bersteigt erfolgt eine korrekte Visualisierung In dem gew hlten Testbeispiel ist daf r eine 64 fache Menge der urspr nglichen Geometrieinformationen notwendig 87 Darstellungsqualit t und Performance Da in einer Szene mehrere Modelle Wandelemente gleichzeitig in ihrer Geometrieaufl sung ver ndert werden mussten war eine optimale Darstellung mit Hilfe des SDS Modifiers auf Grund der damit verbundenen Verschlechterung der Renderperfomance auf dem Test und Referenzsystem nicht realisierbar Auf die Entwicklung eines Algorithmus f r eine selektive Erh hung der Geometrieaufl sung einzelner Modelle in Abh ngigkeit der Kameratransformation wurde verzichtet da die Bildwiederholrate auch ohne Anwendung des SDS Modifiers teilweise schon weniger als 10 FPS betrug Abb 6 8 Testmodell ohne SDS Modifier Abb 6 9 Testmodell nach Anwendung des SDS Modifiers Folgende Beispielszene soll im zweiten Beispiel zur Simulation eines typischen Spotlichteffekts als Grundlage dienen e Ebene 300x300 4 Breiten und L ngensegmente 32 Polygone e W rfel 30x30x30 keine Segmentierung 12 Polygone e Spotlicht FallOff 45 H he150 zentriert ber Objekten Betrachtet werden sollen die Quantit t der geometrischen Aufl sung und die Qualit t der Form der beleuchteten Fl che Pro Wiederholung des SDS Algorithmus wird ein Poly
82. en Pfades mittels eines Position Path Controllers konnte auf diese Weise nicht realisiert werden Die Animation der Kamerafahrt h tte aus diesem Grund als Keyframeanimation durchgef hrt werden m ssen Auf das aufwendige Setzen der Keyframes wurde deshalb auch im Hinblick auf die Downloadgr e verzichtet Stattdessen erfolgt die Steuerung und Animation der Kamera komplett per Lingo Rechenintensive Operationen Volumenlicht Schatten und Partikel werden vom Exporter nicht unterst tzt Jedoch k nnen Partikelemitter per Lingo erstellt werden Objekte die als Gruppe zusammengefasst und selbst keine Gruppe sind werden zu einem Objekt vereint das bedeutet sie k nnen in Director nicht mehr getrennt manipuliert werden F r korrekte Knochenanimationen hierarchische Animationen m ssen die an die Knochen gebundenen Objekte einzeln gruppiert und damit deren Schwerpunkte auch neu positioniert werden vgl dazu auch NAUO1 3 1 2 Detailgenauigkeit und Geometrieaufl sung Als eines der gr ten Probleme hat sich das Erreichen einer Balance zwischen der Detailgenauigkeit und der Render sowie der Downloadperformance herausgestellt Bei der Entwicklung des Prototyps hat sich gezeigt dass die Polygonanzahl der Szene nicht mehr als 10000 betragen sollte siehe auch Kapitel 6 Darstellungsqualit t und Performancebetrachtungen F r die Einsch tzung der Polygonanzahl der Szene und einzelner Objekte steht in 3D Studio MAX das Dienstprogramm Polyg
83. en Eigenschaften e 15470 sichtbare Polygone e 30 Modelle e 2 Lichter e Texturspeicherbedarf dekomprimiert 1152 kB 84 Darstellungsqualit t und Performance 6 1 Kantenbildung an ebenen Flachen Das Problem der nicht korrekten Darstellung beleuchteter Fl chen bei geringer geometrischer Aufl sung wurde in Abschnitt 3 1 3 Beleuchtung und Schattierung beschrieben Nachfolgend sollen die Ursachen f r die dargestellten Probleme erl utert werden F r die Ursachenfindung und die Entwicklung von L sungsans tzen wurden zwei Testszenen verwendet Die erste Szene enth lt ein Objekt hervorgegangen aus einer booleschen Operation zweier nicht segmentierter Quader und au erdem ein Punktlicht in H he der rechten oberen Ecke der ffnung Bei diesem Testmodell soll im Folgenden untersucht werden wieso es zu diesen Darstellungsfehlern kommt und mit welchem zus tzlichen Aufwand eine akzeptable Visualisierungsqualit t erreicht werden K nnte Mit Hilfe der zweiten Testszene soll als Erg nzung zum Abschnitt 3 1 4 Simulation eines Spotlichtkegels erl utert werden mit welchen Methoden eine korrekte Darstellung einer Spotlichbeleuchtung ohne Volumenlicht realisiert werden kann Abb 6 1 Ansicht nach W3D Export Abb 6 2 Flatshading in Director3D Abbildung 6 1 zeigt die Anordnung der Dreiecksfl chen der Vorderseite unter Nutzung des Flatshadingmodus jede Dreiecksfl che erh lt einen Farbwert der sich aus der mittleren Helligkeit der Fl ch
84. en Mantelfl chen F r die Definition der Sichtbarkeit der Fl chen werden die Normalen ben tigt Dabei bestimmt die Reihenfolge der Scheitelpunkte eines Polygons die Normalenausrichtung und somit die Sichtbarkeit einer Fl che bei der Modelleigenschaft visibility front bzw back F r die automatische Generierung der Normalen gibt es zwei Varianten p_mrMesh generateNormals smooth p_mrMesh build pPrismModel p3DMember newModel md_3DInfoObject pPrismModel resource p_mrMesh Listing 19 Automatische Erstellung der Normalist Mit dem Parameter smooth wird fiir jeden an einem Polygon beteiligten Vertex eine Normale berechnet Im Gegensatz dazu wird bei Verwendung des Parameters 1at nur eine Normale pro Fl che ermittelt Abb 3 11 58 Modellierung der Szene Abb 3 11 Beispiel f r Flatshading Sind alle Eigenschaften des Meshprimitivs gesetzt so wird eine renderf hige Modellressource mit dem Befehl build erstellt Mit dieser Ressource kann dann ein Modell erzeugt werden Damit das Infoobjekt nicht mit dem Standardshader und seiner Standardtextur dargestellt wird wurden die Bitmaps f r die Texturen mittels PreLoadNetThing geladen jeweils einem Bitmapdarsteller zugeordnet und Texturen erstellt die auf diese Darsteller zur ckgreifen Au erdem wurde die Transparenz der Shader auf 65 reduziert Da die Fl chen beidseitig gerendert werden scheinen die R ckseiten leicht durch Wird eine Fl che per Maus gepickt
85. en bereits definierten Zeichen Modellressourcen erstellt Die einzelnen Modelle werden spezifisch ihrer Breite so verschoben dass sie nahtlos aneinander gereiht sind zu einer Gruppe zusammengefasst und im Raum positioniert 83 Darstellungsqualit t und Performance 6 Darstellungsqualitat und Performance Wie schon fter angedeutet ist die Entwicklung virtueller 3D Darstellungen immer gepr gt von der Gegens tzlichkeit von Darstellungsqualit t und Renderperformance Verbesserungen in der Darstellungsqualit t durch h here Geometrieaufl sung gr ere Texturen oder durch Antialiasing gehen in unterschiedlich starker Auspr gung zu Lasten der Bilderwiederholrate Im Umkehrschluss lassen sich h here Bildwiederholraten nur durch Reduzierung der Anzahl der Modelle in einer Szene oder durch Abstriche an der Darstellungsqualit t erzielen Die Performance einer Directoranwendung l sst sich mittels der erreichten Bildwiederholrate quantifizieren Je geringer diese Rate ist umso mehr ruckelt eine Animation Bewegungen von Kamera oder Objekten erfolgen nicht mehr fl ssig Ein weiteres Problem ergibt sich bei zu geringen Bildwiederholraten dahingehend dass auf Interaktionen nicht mehr in Echtzeit vom System reagiert wird In Director kommt ein weiteres Symptom hinzu wenn die ben tigte Rechenleistung die vorhandene bersteigt Ereignisse wie zum Beispiel eine nderung der Mauskoordinaten werden nicht erkannt Dieses Ph nomen trat bei der S
86. en von Szenenkomponenten relativ unkompliziert sind stellt die Darstellung der per XML bertragenen Textinformationen hinsichtlich der erreichbaren Visualisierungsqualit t ein gr eres Problem dar Auf die in diesem Zusammenhang auftretenden Probleme und m glichen L sungsans tze soll im n chsten Abschnitt eingegangen werden 75 Ubermittlung und Darstellung dynamischer Inhalte 5 2 Dynamische Visualisierung textbasierter Inhalte Die Anwendung soll dem Besucher der Website neben einer r umlichen Repr sentation des Entertainmentkomplexes auch spezielle aktuelle Informationen bieten Au erdem ergibt sich w hrend der Navigation durch die Szene in verschiedenen Situationen die Notwendigkeit dass Elemente ber das Internet nachgeladen werden m ssen und der Nutzer ber den Status des Downloadvorganges informiert werden soll In beiden F llen ist also eine Informationsdarstellung in Textform sinnvoll bzw zwingend erforderlich Ein weiterer Anwendungszweck f r dynamisch generierten Text ist die Darstellung der Bildwiederholrate innerhalb der Szene f r Diagnose und Optimierungsvorg nge Da die gesamte B hnengr e vom 3D Darsteller ausgef llt wird steht kein weiterer Platz f r eine konventionelle 2 dimensionale Textdarstellung unter Verwendung zus tzlicher Sprites zur Verf gung Aus Performancegr nden werden 3D Darsteller standardm ig mit der Einstellung directTostage abgespielt d h sie werden vor allen anderen Ebenen d
87. enesnensennennonnnennnennensnnenennn 80 Tabelle 21 Relevante Hardwareausstattung der 3 Testsysteme 20220022002s0snnennnnsnnesnnennnennnesnnnsnensnensnnnnnnn 84 113 Abkiirzungsverzeichnis Abk rzungsverzeichnis API ASCH CERN CPU DTD FPS HTML HTTP ILS ISO ISS kB LKS MB MPEG NCSA OBJ OpenGL QT QTVR SDS SGI SGML SWF TGS URL UTF 8 VAG VET vel VR VRML VRML NG W3C Web3DC WKS X3D Application Programming Interface American Standard Code for Information Interchange Conseil Europ en de Recherches Nucl aires Central Processing Unit Document Type Definition Frame per Second Bilder pro Sekunde Hypertext Markup Language Hypertext Transfer Protocol Initial Loader Segment International Organization for Standardization International Space Station KiloByte 1024 Byte Lokales Koordinatensystem Megabyte Moving Picture Expert Group National Centre for Supercomputing Applications Wavefront Object Open Graphics Library QuickTime QuickTime Virtual Reality Subdivision Surfaces Silicon Graphics Inc Standard Generalized Markup Language Shockwave Flash Format Template Graphics Software Uniform Resource Locator Unicode Text Format VRML Architecture Group Viewpoint Experience Technology vergleiche Virtual Reality Virtual Reality Modelling Language VRML Next Generation World Wide Web Consortium Web3D Consortium Weltkoordinatensystem Extensible 3D 114 Literaturve
88. enschen e NURBS Profil Verwendung von NURBS e DisJava VRML Profil zur Nutzung von verteilten interaktiven Simulationen e LatticeXvl Profil zur kompakten bertragung komplexer Geometrien Abb 1 9 Erweiterte Profile der X3D Architektur G TO2 19 Einfiihrende Bestandsaufnahme Das X3D Format besitzt folgende Merkmale e Der X3D Kern besteht im Gegensatz zu VRML97 nur aus 26 Knotenarten und 23 Feldtypen Damit ist X3D hinsichtlich einer Visualisierung leichter zu implementieren als ein VRML97 Viewer Falls n tig kann der X3D Kern um zus tzliche Profile erweitert werden e Das Scene Authoring Interface kurz SAI erm glicht die Kommunikation zwischen einem externen Applet innerhalb einer HMTL Seite und der Szene Dabei handelt es sich um ein komfortables API Application Programming Interface das den Zugriff auf den Szenegraphen gestattet und au erdem die M glichkeit bietet Verhaltensweisen f r die Szene zu definieren e Die Kodierung des Szenegraphen erfolgt im XML Format und die Struktur wird per XML Grammatik definiert Mit Hilfe einer X3D DTD ist eine einfache und schnelle Validierung der generierten X3D Datei m glich e Ein gro er Nachteil von VRML war das Fehlen eines bin ren Datei Formats Dies soll zuk nftig bei dem X3D Format ge ndert werden Geplant ist ein bin res Datei Format welches zu der Struktur des UTF 8 Formates kompatibel ist weniger Speicherplatz f r die Organisation der Daten ben ti
89. entor Format http www tgs com Template Graphics Software gefunden Oktober 2002 Homepage Sony Coporation of America http www sony com Sony Corporation gefunden Oktober 2002 Java 3D API http java sun com products java media 3D Sun Microsystems Inc gefunden Oktober 2002 Web3D Consortium http www web3d org Web3D Consortium gefunden Oktober 2002 Adobe http www adobe com Adobe Systems Inc gefunden September 2002 116 www13 www14 www15 www16 www17 www18 www19 www20 www21 www22 www23 www24 www25 Verzeichnis der Internet Links Macromedia Hersteller von Director Flash u a Programmen http www macromedia com Macromedia gefunden Juli 2002 Viewpoint Rich Media Solutions Web3D Technologieanbieter http www viewpoint com Viewpoint gefunden September 2002 DirectX Multimedia API http www microsoft com directx Microsoft Corporation gefunden September 2002 internationale Vergleichsstudie zur Informationsgesellschaft http www bitkom org Bundesverband Informationswirtschaft Telekommunikation und Neue Medien e V gefunden Januar 2003 Internetnutzung in Europa ein Puzzle mit 1000 Teilen 14 03 2002 http www ecin de marktbarometer Electronic Commerce Info Net gefunden September 2002 Diverse Studien Untersuchungen und Statistiken verschiedener kommerzieller Bereiche http www gfk de GfK Gesellschaft f r Konsum Markt
90. er B hne gerendert Somit besteht keine sinnvolle M glichkeit mit zus tzlichen Textdarstellern die in Spritekan len ber dem Spritekanal des 3D Members angeordnet sind zu arbeiten Daraus folgt die Notwendigkeit die Textdarstellung in die Szene zu integrieren F nf unterschiedliche Strategien der Textdarstellung in einer 3D Szene sollen nachfolgend n her beschrieben werden 5 2 1 Statischen Text im 3D Studio MAX generieren F r statische Textelemente einer Szene deren Textinhalt konstant bleibt bietet sich theoretisch die Generierung mit einem Modellierungswerkzeug an Vorteil bei dieser Art der Erstellung von Textelementen ist die M glichkeit der visuellen Einsch tzung von Gr en und Positionen in Bezug auf andere geometrische Elemente der Szene Diesem Vorteil steht jedoch das Problem der stark anwachsenden Dateigr e der Szene und die gro e Anzahl der generierten Polygone gegen ber Textelemente basieren in 3D Studio MAX auf Splines Damit sie gerendert und korrekt exportiert werden k nnen der W3D Exporter unterst tzt keine Splines m ssen sie zuvor extrudiert werden Entscheidend f r die Gr e der Exportdatei ist neben der Anzahl der Zeichen der gew hlte Schriftfont Schriftarten die viele geschwungene Linien und komplizierte Geometrien nutzen f hren zu einer wesentlich gr eren Anzahl von Scheitelpunkten in einem extrudierten Textobjekt als dies bei der Verwendung einfach gestalteter Schriften der Fall ist
91. er Website und im Shockwave Informationssystem stellt sich die Frage wie die beiden Pr sentationswerkzeuge eine gemeinsame Datenbasis nutzen k nnten F r das Beispiel des Kinoprogramms wurde versucht einen gemeinsamen Technologieansatz exemplarisch zu implementieren Dabei wurde XML zur hierarchischen Beschreibung einer Dokumentstruktur verwendet Der Vorteil in der Verwendung von XML liegt in der Trennung von Inhalt und Formatierung Shockwave kann Inhalte eines XML Dokumentes anders darstellen als dies beim Browser der Fall ist Da es keine bestehende Definition der XML Struktur f r ein Dokument gibt welches das Kinoprogramm beinhaltet wurde zu Testzwecken folgende XML Datei definiert lt xml version 1 0 encoding UTF 8 gt lt This file represents a fragment of a movie database gt lt Film O Thek gt lt Film gt lt Titel gt Genug lt Titel gt lt Genre gt Thriller lt Genre gt lt original gt Enough lt Original gt lt Regisseur gt Michael Apted lt Regisseur gt lt Origin gt USA 2002 lt Origin gt lt Darsteller gt Jennifer Lopez Juliette Lewis Bill Campbell lt Darsteller gt lt Musik gt David Arnold lt Musik gt lt Inhalt gt Hier kommt der Inhalt lt Inhalt gt lt Laenge gt 140 Min lt Laenge gt lt ImageName gt showPlakat jpg lt ImageName gt lt Film gt lt Film O Thek gt Listing 33 Auszug XML Datei Kinoprogramm Das Laden und Parsen der XML Datei erfolgt unter Verwendung des XML Parse
92. eren Knoten aus verwiesen werden siehe Abb 1 21 Ein Group Node hat dabei ein Parentelement und beliebig viele Childelemente Im Gegensatz dazu hat ein Leaf Node ein Parentelement und keine Childelemente VirtualUniverse Local Object BranchGroup Nodes Behavior Node TransformGroup Nodes Group Node r M Y i Abb 1 21 Allgemeiner Aufbau eines Java 3D Szenegraphen Das oberste Element einer Szene auch als Rootelement bezeichnet wird in Java 3D als VirtualUniverse bezeichnet in Director als World Hierarchisch unter dem Wurzelobjekt befindet sich eine Art Startpunkt das Locale Object F r komplexe austauschbare Szenen die verschiedene Ansichten beinhalten k nnten auch weitere Locale Objects definiert werden Unter dem Locale Object teilen sich zwei verschiedene Zweige auf Der in Abb 1 21 dargestellte linke hellblaue Zweig beinhaltet den Aufbau der Szene Geometrien Aussehen Positionen Hierarchien Beleuchtung sowie Verhalten von Objekten und wird als ContentBranch bezeichnet Der rechte hellgr ne Zweig definiert den Blick auf die Szene das hei t wie die Welt dargestellt wird z B Kameraeigenschaften und position Dieser Zweig wird als ViewBranch bezeichnet Die Wurzelelemente dieser beiden Zweige sind jeweils so genannte BranchGroup Objekte Bei diesen Objekten handelt es sich um einfache Wurzelknoten die untergeordnete Elemente zu einem kompilierbaren Sub
93. ert Weitere Ans tze f r Web3D Anwendungen im Entertainmentbereich deren Marktakzeptanz momentan untersucht wird lassen sich im Umfeld von Sportevents finden Auch gibt es bereits 3D Visualisierungen im Web die virtuelle F hrungen durch Museen bekannte Bauwerke und Hotels erm glichen Jedoch wird auf eine eingehendere Darstellung dieser Versuche verzichtet 15 Einfiihrende Bestandsaufnahme 1 2 4 Entwicklung Mit den realistischen Darstellungsm glichkeiten des 3D Renderings k nnen Designentscheidungen Diskussionen ber zu implementierende Features und vor allem die Auswahl von Ausstattungs sowie Designvarianten s Abb 1 6 schnell und effektiv unterst tzt werden Daher ist es nicht verwunderlich dass innerhalb der Produktentwicklung f r die unterschiedlichsten Entscheidungsphasen immer mehr Vorab Darstellungen verwendet werden Dreidimensionale Modelle die f r die Generierung von Pr visualisierungen das hei t f r eine fr he Nutzungsphase auf Basis vorhandener CAD Daten erstellt wurden k nnen f r weitere Anwendungen wie Marketing amp Aftersalesprozesse verwendet werden Durch diese Wiederverwendbarkeit wird eine deutlich st rkere Kosteneffizienz erreicht Abb 1 6 3D Rendering als Hilfsmittel f r Designentscheidungen www20 Ein weiteres Einsatzgebiet von 3D Webtechnologien ergibt sich im Umfeld von Architektur und urbaner Entwicklungsplanung Seit einigen Jahren gibt es schon leistungsf hige CAD L s
94. esigndetails dargestellt werden so sind zus tzliche Informationen und Ausl seereignisse zu implementieren Der Prozess des E Commerce kann in weitere Subkategorien unterteilt werden die nachfolgend n her beschrieben werden sollen 1 2 1 1 Presales F r den Marktforschungsbereich bieten 3D Produktpr sentationen wesentliche Vorteile gegen ber herk mmlichen Online Anwendungen Die Testpersonen k nnen die Produkte drehen wenden und von allen Seiten begreifen Der so vermittelte Eindruck entspricht dem Produkterleben in der Realit t ein Effekt der mit Fotos nicht zu erzielen ist Durch vordefinierte Animationen k nnen auch 3D Pr sentationen geschaffen werden die der User nicht beeinflussen kann Wenn gew nscht kann so ein f r alle Testpersonen identischer visueller Eindruck vorgegeben werden 12 Einfiihrende Bestandsaufnahme 1 2 1 2 Marketing amp Sales Weitreichende M glichkeiten ergeben sich f r die Pr sentation von Produkten abseits unmittelbarer E Commerce Anwendungen e Produkte k nnen bereits in fr hen Entwicklungsphasen interaktiv pr sentiert werden CAD Daten oder Zeichnungen erm glichen die Erstellung von 3D Web Darstellungen Somit k nnen lange vor der Markteinf hrung Produkte im Web dargestellt und die Kundenresonanz in die weitere Produktentwicklung eingebunden werden e Auch hinsichtlich der Informationsvermittlung die letztendlich zur Kaufentscheidung f hren soll bieten sich neue M glic
95. f durch entsprechende Texturen simuliert werden Tabelle 5 bersicht Macromedia Director3D 23 1 3 2 5 Adobe Atmosphere Hersteller URL Plattformen Installationsdateigr e Zusammenfassung Abb 1 15 Quelle www29 Einf hrende Bestandsaufnahme Adobe USA http www adobe com products atmosphere MS Windows ca 4 5 MB Bei dieser Software handelt es sich um eine Betaversion die Anfang 2001 ver ffentlicht wurde Scheinbar ist Adobe nicht gewillt das Produkt weiter zu entwickeln Das Plug in unterst tzt Antialiasing benutzt nur den Softwarerenderer und basiert auf dem Viewpoint Datenformat Insgesamt zeichnet sich die Technologie durch eine gute Darstellungsqualit t aus besonders erw hnenswert ist der relativ einfach gestaltete Editor mit dem eigene 3D Welten generiert werden k nnen Vorstellbare Einsatzszenarien w ren virtuelle Chatsysteme Community Plattformen und architektonische Pr sentationen Die Usability der Kamerasteuerung ist wenig geeignet f r gro e Szenen Maus vorw rts schieben f r Bewegung in Blickrichtung Adobe h tte mit seinem Bekanntheitsgrad am Markt durchaus Chancen dieses Produkt als Nischenl sung zu etablieren Allerdings ist im Hinblick auf eine fast zweij hrige Zeitspanne in der keine Final Version ver ffentlicht wurde davon auszugehen dass die Produktentwicklung eingestellt wurde Eine offizielle Aussage konnte dazu jedoch nicht gefunden werden Tabelle 6 bersicht zu
96. fasst und keine anderen als die angegebenen Quellen und Hilfsmittel genutzt habe Ralf Halgasch 125
97. fl sung ee eee eseesecseeseceseeeceseceeesecacesecseeseesaeceeaecseesessesresaeeess 71 5 1 Eine Szene mit importiertem 3D SchriftZug eee cseesecsessecseeeeceseeecsecseesecneesecsaeeccsaecaeesecseeseeneeeeeeaees 77 5 2 Textdarstellung mittels Overlay Technik 2200202200202200nsernensennnesennnesnenennonsonnnsonnnenennsnonennnne 78 3 3 Beispiel Multitextunns u4r 224 rap tect eeteevecte od lect ues cemented dearest oe hp rigen 79 5 4 Schlechte Visualisierungsqualit t einer Textinformation ursessesseesesenesnensennensornnesennnenennnnensennan 79 5 5 Verbesserte Darstellungsqualit t durch Skalierung der Textur u2suessessensensersersnesennnennennnnensennen 80 5 6 Bestm gliche erreichbare Darstellungsqualit t realisiert mit Imaging Lingo unn een 80 5 7 Anzeige Downloadstatus auf Doppelt r eserseeserseesnesensesnensennonsonnnenonnnenenennonsennnnsonnnenennsnerernane 81 5 8 Anzeige der erreichten FPS Rate innerhalb der 3D Szene uursueseseensesnensesnensernnnsennnenennsnensennon 82 5 9 Ausschnitt der Bitmap f r die Texturen unseesersessesseessesensesnersernonsornnennnnennenennonsersnnsonnnenennsnorsonsane 82 5 10 komplette Bitmap als Textur 5 discs dsechine nin Adar ahi hauttieen seien 83 3 11 Teil der Bitmap als Textur esse Bi Es 83 6 1 nsicht nach W3D Exp tl 4 u 2 202042 daub Adis atin lo kiichrenunBigkisii A 85 6 2 Flatshading in Director
98. formationen besitzen die bestimmen welcher Teil wie stark durchsichtig dargestellt werden soll Zusammenfassung von Verschiebung Rotation und Skalierung bestimmt r umliche Position und Ausrichtung eines Objektes System zur Darstellung von Zeichen und Elementen aller bekannten Schriftkulturen und Zeichensystem verwendet 4 Byte Codierung Engl Brauchbarkeit Nutzbarkeit im Kontext der Informatik Nutzerfreundlichkeit von Anwendungen interaktiven Darstellungen Hardwareprodukten Unicode Text Format Codierungsalgorithmus f r Unicode Zeichen Vektoren werden durch einen Anfangs und einen Endpunkt festgelegt beschreiben eine Richtung und besitzen eine definierten Betrag wird durch seine L nge repr sentiert Knoten Scheitelpunkt dieses geometrische Element ist Anfangs Endpunkt einer Kante engl edge eines Gittermodells Plural von Vertex Franz k nstlich simuliert Begriff der eine durch Computer geschaffene k nstliche Realit t bezeichnet Bezeichnung f r alle offenen Standards und propriet ren L sungen die interaktive 3D Grafiken im WWW darstellen k nnen weltweites Netz bekanntester Teil Dienst des Internets Zugriff Darstellung von Informationen aus dem Internet erfolgt ber Browser Erweitern Director um zus tzliche Funktionalit t Vergr ern oder Verkleinern von Bildausschnitten 124 Selbst ndigkeitserkl rung Selbst ndigkeitserkl rung Ich versichere hiermit dass ich die Diplomarbeit selbst ndig ver
99. g 3D Studio MAX uuesuesseseensesnensesnensernnnsonnnenenesnensennonsonnennnenenn sonen 51 3 1 1 Der Export emer 3D SZeme raent ee a a A E E EE E E REEERE 52 3 1 2 Detailgenauigkeit und Geometrieaufl sung eseesesseseseseseserreeresersststrrteretesrserrerreretsesrsrerrersesseseseee 52 3 1 3 Beleuchtung und SchatticrUng ec ee ceeecsesecsseeceesecseesecseeccsaeeecsaeceessecseeseesaecesaeceessesseeaeeneeeeeeaees 53 3 1 4 Simulation eines Spotlichtkegels nuesuursessersessnesennesnensesnonnonnnnsonnnesnenesnonsennnnsonnnenenesnonennnnn 53 3 1 5 Problem der Shockwave Tiefensortierung cee ecesecssesecsereeceseeecsseceeesecseesecnaeeeesaeceeesecaeeseeneeseesaees 54 3 2 Modellierung in Shockwave3D scscssscsssccsesssessceccssecscesecseeseesacecessecasssecaeeseeneescesasecessecassseeseesrenaeeeenss 55 3 2 1 Texturierung der Fenster 22 44820 ei III ai nial 55 3 2 2 Das Kino Informationsobjekt 222uu20esnensesneeseenesenesnenennonnonnnnsonnnesnennnonsensnnsonnnenennsnersnnnann 56 4 Die Kamerasteveruns aniria reitet e eI ete REDDIT RIRINIIEI marin Ani 62 4 A Anforderun gen 2 25 2 sescdie tact cates ons hited ee hates sehen seater Bien Aca basteiobs ea eee Ruaelens hoa Booties 62 4 2 Machbarkeitsanalyse eines Kollisionserkennungsprinzips 2222202202002202nnennenesnensennonsennnennnennenenonnon 63 4 2 1 Einf hrung in das Modifierkonzept uunuessensessersesnnesnnnesnen
100. ge und die Tatsache dass dem Nutzer klar sein sollte dass der Mehrwert einer 3D Darstellung mit einem gr eren Downloadvolumen verbunden ist Entscheidendes Argument gegen eine Plug in L sung k nnen neben der begrenzten Plattformunabh ngigkeit vor allem jedoch administrative Restriktionen bei der Zielgruppe sein Eine Reihe von Firmen und Institutionen untersagen in ihren EDV Richtlinien die Installation und Nutzung fremder Plug ins aus Wartungs und Sicherheitsgr nden Beispiel Sparkassenverband Deutschland In solchen F llen k nnen nur L sungen eingesetzt werden die auf offenen Standards basieren und zur Darstellung Java Applets verwenden Die getesteten appletbasierten Viewer konnten zum Teil nicht berzeugen der Download der ben tigten 3D Klassen dauerte bezogen auf die einmalige Installation eines Plug ins recht lange die Darstellungsqualit t war nicht mit den oben genannten L sungen vergleichbar und auch die Renderperformance war wenig akzeptabel Vorteil dieser L sungen ist das Prinzip des Write Once Run Everywhere 3D Darstellungen k nnen mit jedem Browser auf jeder Plattform visualisiert werden die eine Java 1 1 konforme Virtual Machine unterst tzen 1 4 Szenenbeschreibung Eine Reihe von 3D Technologien so zum Beispiel X3D VRML und Java 3D nutzen zur Beschreibung einer Szene einen Szenegraphen Das bedeutet dass alle Informationen welche die Szene definieren in einer hierarchischen Baumstruktur an
101. geordnet werden Die verschiedenen Technologien die eine virtuelle 3D Welt beschreiben indem sie einen Szenegraphen verwenden nutzen das gleiche Funktionsprinzip einer hierarchisch strukturierten Datenkapslung Allerdings bestehen erhebliche Unterschiede innerhalb der Syntax die zur Beschreibung des Graphen verwendet wird Aufgrund der besseren Dokumentation soll das Prinzip des Szenegraphen detailliert am Beispiel von Java 3D beschrieben werden Bei Details die zur Syntax zum Prinzip des Szenegraphen von Director vergleichbar sind wird entsprechend darauf eingegangen Grunds tzlich ist ein Szenegraph aus Knoten Gruppenknoten Blattknoten Kanten und Komponenten aufgebaut Knoten Nodes sind grundlegende Datenelemente des Szenegraphen welche alle Details der 3D Welt definieren Dabei dienen Gruppenknoten zur Gruppierung von Knoten Blattknoten wiederum bilden den Abschluss eines Zweiges des Szenegraphen Kanten beschreiben hierarchische Verkn pfungen Eltern Kind Beziehungen zwischen den Knoten des Graphen Dabei darf jeder Knoten immer nur einen Elternknoten besitzen 28 Einfiihrende Bestandsaufnahme Komponenten beschreiben die Eigenschaften der Knoten zum Beispiel das Aussehen das Material sowie die Geometrie Sie werden mittels Referenzen in den Szenegraphen eingebunden Eine Referenz stellt in Java 3D eine Assoziierung zwischen einer Komponenten Instanz und einem Knoten des Graphen dar Dadurch kann auf eine Komponente von mehr
102. gon in 4 neue Polygone unterteilt Kein SDS Modifier 32 Polygone 1 Wiederholung 128 Polygone 3 Wiederholungen 2048 Polygone 4 Wiederholungen 8192 Polygone 5 Wiederholungen 32768 Polygone Abb 6 10 Testreihe zur Simulation eines typischen Spotlichtes 88 Darstellungsqualit t und Performance Erst bei einer sehr gro en Anzahl von Polygonen und der damit verbundenen relativ kleinen Polygonfl che wird eine ann hernd spotlicht typische Schattierung erreicht Allerdings ist das Verh ltnis zwischen der erreichten Darstellungsqualitat und der damit einhergehenden Performanceverschlechterung als sehr ung nstig einzusch tzen Es gibt jedoch schon bei der Modellierung M glichkeiten solche gekriimmten Schattierungsfl chen wie nachfolgendes Beispiel zeigt zu unterst tzen e Zylinder obere Fl che beleuchtet e Resolution 20 20x2 2 Polygone bilden obere Fl che e Radius 45 entspricht etwa dem erwarteten Spotlichtkreis Kein SDS Modifier 22 Polygone 1 Wiederholung 88 Polygone 3 Wiederholungen 1408 Polygone Abb 6 11 Zweite Testreihe zur Spotlichtsimulation mit ver nderter Basisgeometrie Wie in diesem Beispiel zu sehen ist kann im Verh ltnis zur ersten Testszene mit einer relativ geringen Geometrieaufl sung eine sehr gute Nachahmung des Spotlichtes realisiert werden Der Modellierungsaufwand wird allerdings bei einer solchen L sung gr er Die Fl che des Spotlichtes muss durch ein einzelnes Zylinder Mode
103. graphen zusammenf gen Mit ihnen k nnen Teile des Szenegraphen zur Laufzeit eingeh ngt und auch wieder entfernt werden 29 Einfiihrende Bestandsaufnahme In Director3D erfolgt keine solch strikte Trennung in einen View und einen Contentzweig Stattdessen wird standardm ig allen Kameras Lichtern Modellen und Gruppen Director3D Semantik siehe Abschnitt 2 4 1 Shockwave3D Darsteller Koordinatensystem und Orientierung der Knoten World zugeordnet Diese Zuordnung l sst sich jedoch f r die Erstellung hierarchischer Strukturen anpassen siehe Abschnitt 2 4 5 Hierarchische Strukturen Parent Child Beziehungen Die Renderengine von Director3D verwendet f r die Berechnung der Szene alle Objekte deren oberstes Element der World Knoten ist Knoten inklusive ihrer Subelemente k nnen mit dem Befehl removerromworld vom Rendervorgang ausgeschlossen werden Umgekehrt k nnen einzelne Elemente und ganze Zweige per addToworld wieder in den Renderprozess eingebunden werden TransformGroup Knoten dienen der rtlichen Verschiebung bzw Positionierung Skalierung und Drehung von Objekten Mit diesen Knoten k nnen zur Laufzeit alle Elemente die Kinder von ihnen sind ver ndert werden In Director wird explizit nicht von solchen bergeordneten TransformGroups gesprochen Stattdessen beinhaltet jeder Knoten seine eigene Transformationsmatrix node whichNode transform Gew hnlich werden 3D Objekte in Java3D durch Shape3D Knoten beschrie
104. grund der gr eren Flexibilit t von Verhaltensskripten an Bedeutung verloren Es ist heute eher ein Zeichen schlechten Stils Skripte die an Darsteller gebunden sind zu verwenden Ihr Verwendungszweck kann vollst ndig durch die Nutzung von Verhaltensskripten abgedeckt werden Verhaltensskripte k nnen im Skriptkanal des Drehbuches abgelegt oder an ein Sprite gebunden werden Sie stellen die am h ufigsten verwendete Skriptart dar Sie bilden somit kleine logische Funktionsbausteine welche so sie an ein Sprite gebunden sind nur auf Ereignisse reagieren die im spezifischen Zusammenhang mit diesem Sprite stehen mouseEnter beginSprite Skripte die im Skriptkanal angebracht sind k nnen jedoch nicht da sie an kein Sprite gebunden sind auf solche spritetypischen Nachrichten reagieren Im Gegensatz zu den Verhaltensskripten reagieren Filmskripte global Das hei t sie sind w hrend der gesamten Abspieldauer immer aktiv Nachrichten die nicht von einem Skript der vorherigen Ebene der Nachrichtenhierarchie behandelt wurden werden an die n chste Event Ebene weitergereicht und erreichen so am Ende der Hierarchie die Movie Ebene Eine ganze Reihe von Nachrichten kann nur in diesen Skripten ausgewertet werden da sie nicht im Zusammenhang mit Sprites oder dem Drehbuch generiert wurden Zu diesen besonderen Nachrichten geh ren u a prepareMovie und startMovie 37 Grundlagen Director und 3D Darstellung 2 3 Einf hrung Vektormathemat
105. gsliste eine weitere berlagerung in Form einer Textur hinzu Vorstellbar ist dies wie die Verwendung einer bemalten Glasscheibe die vor die Kamera gehalten wird Die Funktion erwartet eine Textur welche auf einem Bitmap Darsteller basiert der mit Imaging Lingo generiert oder importiert wurde Nat rlich kann auch eine schon in einem 3D Darsteller vorhandene Textur verwendet werden wrld member 3D_Scene 1TmpImage new bitmap lTmpImage image member Text image l_texture wrld newTexture tooltip fromCastMember 1TmpImage wrld camera l addOverlay l_texture point 100 100 0 Listing 35 Hinzuf gen einer Overlay Textur zu einer Kamera Bei der Verwendung von Texturen ergeben sich hinsichtlich der Verzerrung einige Probleme die es zu beachten gilt Intern verwendet Director Texturen deren Breite und H he immer einer Zweierpotenz entsprechen Falls Bitmaps f r Texturen verwendet werden deren Ma e nicht einer Zweierpotenz entsprechen so erfolgt intern eine automatische Skalierung auf die n chst gr ere oder kleinere Zweierpotenz Eine fast quadratische Bitmap mit der Gr e von 95x97 Pixel w rde so zu einer Textur von 64x128 f hren Eine weitere Ursache f r m gliche Verzerrungen findet sich in der Geometrie der zu texturierenden Fl che Da die Fl che nur im seltensten Fall der Fl che der Textur entspricht muss die Textur w hrend des Mappings skaliert werden Dabei kommt es zu unvermeidbaren Verzerrungen die
106. gt und streamingf hig ist Der folgende Szenegraph s Abb 1 10 der im X3D Format Listing 42 Pseudo Code einer X3D Szene GOT02 beschrieben ist soll als abschlie endes Beispiel f r das X3D Konzept dienen Abb 1 10 Allgemeiner Aufbau einer X3D Szene nach G TO2 20 Einfiihrende Bestandsaufnahme 1 3 2 Propriet re Plug in L sungen Es gibt eine fast nicht mehr berschaubare Anzahl von herstellerspezifischen L sungen f r die dreidimensionale Darstellung Aus diesem Grund wird in der nachfolgenden Analyse der Focus auf marktrelevante bzw interessante Entwicklungen gelegt 1 3 2 1 Viewpoint VET Hersteller URL Plattformen Installationsdateigr e Zusammenfassung Viewpoint Anywhere e Mr ene Abb 1 11 Quelle www14 Viewpoint gegr ndet aus MetaCreation Metastream 2000 http www viewpoint com MS Windows MacOS ca 1 3 MB Viewpoint bietet mit seiner Viewpoint Experience Technology VET eine Rich Media Plattform die mit dem integrierten Viewpoint Media Player VMP die unterschiedlichsten multimedialen Formate wiedergeben kann 3D Welten Flash QTVR Dieses Plug in bietet neben Cult3D und Director Shockwave3D die beste Darstellungsqualit t Entsprechend gibt es f r dieses Web3D Format auch hnlich viele gute Referenzen Andere Hersteller wie z B Adobe mit seinem Produkt Atmosphere nutzen f r ihre L sungen das VET Konzept F r die interne Repr sentation verwendet Viewpoint da
107. h die Kamera dar deren Koordinaten mit PK bezeichnet sind Die blaue Linie repr sentiert den Vektor von der Kameraposition zum Zentrum des Infoobjektes Pe P Dieser muss nicht unbedingt mit dem Vektor der Blickrichtung der Kamera identisch sein Wie in der Prinzipskizze erkennbar wird stimmen das WKS und das LKS in ihren Ausrichtungen nicht berein Nachfolgend soll der Algorithmus zur korrekten Fl chenausrichtung zur Kamera hin beschrieben werden Wenn nicht anders definiert wird von der Pr misse ausgegangen dass die Fl che die in der Draufsicht durch die Punkte P4 und P5 repr sentiert wird zur Kamera hin gedreht werden soll F r die L sung des Problems wurde auf eine Berechnung der absoluten Rotation in Hinblick auf die freie Kameraposition und die variable Anzahl der Mantelfl chen verzichtet Stattdessen soll die notwendige relative Rotation ermittelt werden Der Korrekturwinkel l sst sich unter oben genannter Voraussetzung mit den Punkten Ps2 P4 und P beschreiben wobei Ps2 mit P P LPP definiert werden kann Entweder wird der Winkel zwischen den Vektoren siehe Abschnitt 2 3 2 Vektoren manuell berechnet oder man verwendet die von Director mitgelieferte Funktion fiir die Berechnung eines Winkels zwischen zwei Vektoren angle vectorl angleBetween vector2 Listing 20 Winkelberechnung zwischen 2 Vektoren Somit m ssen nur noch die ben tigten Vektoren Pyp Py und Pyr Ps i berechnet und in oben genannter Funktion
108. he Textinformation auf einem Quader dargestellt werden Normalerweise nutzen alle 6 Seiten einen gemeinsamen Shader Dies w rde jedoch an den schmalen Seiten zu einer deutlichen Stauchung des Textes f hren Da ein Quader aus 6 Seiten und somit aus 6 Gitternetzen besteht und jedem Gitternetz ein eigenen Shader zugeordnet werden kann wird f r die schmalen Seiten ein Shader nur mit der Hintergrundtextur definiert F r die vier anderen Seiten wird ein zweiter Shader angelegt welcher 2 Texturen miteinander kombiniert Die erste Textur simuliert wieder das Hintergrundmaterial des Quaders und die zweite dient zur Visualisierung der Textinformationen Die teilweise Transparenz der Textur wird durch die Nutzung der Alphakanals des verwendeten Bitmapdarstellers bestimmt Da jedoch standardm ig eine Textur beim Mapping so skaliert wird dass die zu mappende Fl che komplett von der Textur abgedeckt wird w rde die Qualit t einer Textdarstellung unter Umst nden entsprechend leiden Abb 5 4 Download zu 6 0 abgeschlossen 6 0 kB von 1600 kB geladen Datei Kegeljpg Abb 5 4 Schlechte Visualisierungsqualit t einer Textinformation 79 Ubermittlung und Darstellung dynamischer Inhalte Um dieses Problem zu l sen gibt es zwei M glichkeiten Variante 1 Die Textur der Textinformation wird skaliert verkleinert und ohne Wiederholungen neu positioniert s Abb 5 5 theShader member 1 1 shader sh_Box theShader textureTransformLis
109. he Universit t Dresden 2001 Strippgen Simone Java3D Programmierung Vorlesungsskript zur Lehrveranstaltung Dresden Hochschule f r Technik und Wirtschaft Dresden 2000 Weing rtner Monika Publizieren im World Wide Web Hannover Regionales Rechenzentrum f r Niedersachsen Universit t Hannover 2001 115 Verzeichnis der Internet Links Verzeichnis der Internet Links wwwOl wwwO2 www03 www04 www05 www06 www07 www08 www09 www10 wwwl1 www12 Kernforschungszentrum Cern http www cern ch Conseil Europ en de Recherches Nucl aires gefunden September 2002 National Center for Supercomputing Applications http www ncsa uiuc edu University of Illinois at Urbana Champaign gefunden September 2002 Netscape Browsername und Entwicklungsfirma des Browsers http www netscape com Netscape gefunden September 2002 Microsoft Softwareentwicklungsfirma http www microsoft com Microsoft Corporation gefunden September 2002 World Wide Web Consortium Web Standardisierungsgremium http www w3c org W3 Consortium gefunden August 2002 Pesce Mark D Kennard Peter Parisi Anthony S Cyberspace http www hyperreal org mpesce http www web3d org www vrml concepts pesce www html First International Conference on the World Wide Web in Geneva Switzerland 1994 gefunden September 2002 SGI http www sgi com Silicon Graphics Inc gefunden September 2002 TGS Open Inv
110. hek Bitmap BoundingSphere Browser B hne Darsteller Debuggen Director Director Film DirectX Download Drehbuch DTD Glossar 3D Modellierungswerkzeug der Firma Discreet Element der Anwendung Macromedia Director markiert die Abspielposition Entwicklung der Firma Microsoft welche die Freigabe von Informationen zwischen Anwendungen erleichtert und die Einbettung beliebiger Objekte Video Sound in fremden Dokumenten erlaubt Ver nderung einer Darstellung ber die Zeit Eindruck einer Bewegung die entsteht wenn durch sequentielles Anzeigen Abspielen von Bildern eine Bildwiederholrate von etwa 15 20 Bildern pro Sekunde erreicht wird Application Programming Interface Programmier und Anwendungsschnittstelle Figur die in 3D Chatwelten und Spielen als Repr sentant eines Gespr chsteilnehmers bzw Spielers verwendet wird Element von Macromedia Director verwaltet alle erstellten oder importierten Medien Skript um einem Objekt ein bestimmtes Verhaltensmuster zuzuordnen es bestimmt welches Objekt wann und wie auf ein bestimmtes Ereignis reagiert Element von Macromedia Director stellt meistens vordefinierte Skripte zur Verf gung jede Besetzung im Libs Ordner wird in die Bibliothek aufgenommen Rastergrafik bei der das Bild in unabh ngig voneinander kontrollierbare Einzelpunkte aufgel st wird Nicht sichtbare Kugel welche die Geometrie eines K rpers komplett umschlie t wird f r Ereignisausl sung z B Kollisionserke
111. hen pInitislized me initializel else Eigenschafteninspektor E __plnitislized FALSE Sete 4 Shockwave 30 Ir e fami iz Sorte Vehe BIBI DI D Eis Wn on beginSprate me Bi Drehbuch Wandelhof_aussen2 12 Y Stat V Load O O kopen z fico 6 6 ke Bl hae 36 C3 foo 2 om if le Alles vencecherstetien Skaksen Abb 2 1 Der Director Arbeitsbereich 31 Grundlagen Director und 3D Darstellung 2 1 1 Die Biihne Director bedient sich bei den Bezeichnungen seiner Komponenten der Theater Metapher Eine Director Datei wird auf Grund ihres zeitlichen Charakters als Film bezeichnet Der sichtbare Teil einer zuk nftigen Pr sentation wird B hne genannt In Abb 2 2 wird die Dimension der B hne durch die roten Winkel begrenzt Der graue Hintergrund ist die Leinwand Auf ihr k nnen weitere Elemente platziert werden die jedoch w hrend der Pr sentation unsichtbar bleiben Abb 2 2 Director Arbeitsbereich die B hne 2 1 2 Die Besetzung Alle ben tigten Medienelemente und Skripte werden in Besetzungen s Abb 2 3 verwaltet Bei diesen Medienelementen die als Darsteller bezeichnet werden kann es sich z B um 3D Szenen Bilder digitale Videos oder Sounds handeln Von einem Darsteller k nnen mehrere Instanzen auf der B hne Leinwand erzeugt werden Diese Instanzen sie werden als Sprites bezeichnet sind durch unterschiedliche typspezifische Attribute definiert Die zwei w
112. hkeiten Es k nnen zur Sensibilisierung des Kunden Funktionserkl rungen an einem animierten 3D Modell erfolgen visuelle Modifikationen in Form von verschiedenen Farbkombinationen oder eine Darstellung des Produkts mit unterschiedlichem Zubeh r bzw unterschiedlicher Ausstattung realisiert werden e Mit gelungenen attraktiven Web3D Pr sentationen kann die Imagepflege der Aufbau einer Marke unterst tzt werden 1 2 1 3 Service Mit der Implementierung von interaktiven 3D Darstellungen in elektronischen Bedienungsanleitungen ergeben sich hnlich wie dies im Abschnitt 7 2 1 2 Marketing amp Sales unter dem Punkt Kundensensibilisierung angedeutet wurde eine Reihe von Vorteilen und Verbesserungen hinsichtlich Pr sentationsqualit t und Verst ndlichkeit beim Endnutzer Funktionen und Zusammenh nge die sich nur kompliziert oder gar nicht darstellen lassen k nnen nun im Kontext visuell erschlossen werden Allerdings wird hier auch relativ schnell das Prinzip der webbasierten 3D Darstellung verlassen Gew hnlich werden Bedienungsanleitungen auf einem Offlinemedium CD ROM beigelegt Au erdem ist in diesem Fall eine Darstellung im Browser zwar denkbar aber nicht zwingend erforderlich Stattdessen kann eine Anleitung auch als ausf hrbare Datei realisiert werden Ein weiterer Vorteil der Offline Distribution besteht darin dass ben tigte Module f r die 3D Darstellung nicht heruntergeladen und installiert werden m ssen diese Aussage bezieht
113. ichtigsten davon Position und zeitlicher G ltigkeitsbereich werden gew hnlich im B hnen bzw Drehbuchfenster festgelegt 4 Ix s aN Crestetutd E Intro Abb 2 3 Director Arbeitsbereich die Besetzung 32 Grundlagen Director und 3D Darstellung 2 1 3 Das Drehbuch Das Drehbuch s Abb 2 4 stellt die einzelnen Sprites bezogen auf zeitliches Verhalten und ihre Tiefenanordnung dar Dabei entspricht Spritekanal 1 dem Hintergrund Das zeitliche Verhalten auch als G ltigkeitsbereich bezeichnet beschreibt den Anfangszeitpunkt die Dauer und somit auch den Endzeitpunkt der Existenz eines Sprites Die Darstellung basiert auf einer Timeline deren einzelne Segmente als Frames bezeichnet werden Die Abspielgeschwindigkeit wird in Frames pro Sekunde angegeben A je Be cc Do 3D_Ino H gt Dumrd gt progrel Ul gt T_Anleituro T_Anleituro T_Anleituro oCurel progret r Buttoo prognl gt oben e oben oben _ chen IE gt unten unten unter unten gt progrel otme 1 E TF Fiko H TF_Fik0 f solid qd rect je gt salid_rect Lg A A a A lt A A Ga salid qd 0 AA A a aa a J X 1 ur Abb 2 4 Director Arbeitsbereich das Drehbuch 2 1 4 Der Eigenschaftsinspektor Der Eigenschaftsinspektor s Abb 2 5 dient dem Darstellen und Manipulieren verschiedener Eigenschaften Er ndert abh ngig vom darzus
114. ie beinhaltet eine eigene Programmiersprache Pulsescript mit der zur Laufzeit dynamische nderungen an der Szene realisiert werden k nnen Die Referenzliste im Web3D Bereich ist allerdings nicht sehr umfangreich Viele L sungen sind ber den Status eines Prototyps nicht hinaus gekommen andere sind bereits wieder eingestellt worden oder nur sehr schwer zu finden Eine detaillierte Darstellung dieser Web3D L sung mit der Beschreibung einer Charakteranimation inklusive Sprachsynchronisation kann in NAUO1 nachgelesen werden Tabelle 3 Zusammenfassung Puls3D Technologie 1 3 2 3 Cycore Cult3D Hersteller URL Plattformen Installationsdateigr e Zusammenfassung Abb 1 13 Quelle www41 Cycore gegr ndet 1996 Schweden http www cult3d com MS Windows MacOS Linux Solaris HP UX AIX ca 1 2 MB Der Viewer unterst tzt deaktivierbares Antialiasing und bietet auch dank der Unterst tzung von Transparenzen und Schattenwurf eine sehr gute visuelle Qualit t Die Renderengine ist komplett im Plug in realisiert und greift nicht auf eine Hardwarebeschleunigung zur ck St rken dieser Technologie sind neben der Visualisierungsqualit t das kompakte eigene Datenformat das Kompression und Streaming erlaubt die breite Unterst tzung verschiedener Plattformen sowie die gro e Anzahl guter Referenzen Erstellt werden k nnen 3D Objekte mit professionellen 3D Modellierungswerkzeugen wie 3D Studio MAX oder Maya f r die Export
115. ierarchischen Skeletts individuelle Teile eines 3D Objektes werden zusammen realit tsnah animiert Tabelle 13 Komponenten eines 3D Darstellers und ihre Funktionen 43 Grundlagen Director und 3D Darstellung Dem Entwickler offeriert Director zwei verschiedene M glichkeiten einen 3D Darsteller und somit die Basis f r eine virtuelle Welt zu generieren e Erstellung der Szene mit einem externen 3D Werkzeug anschlie ender Export in das W3D oder OBJ Format OBJ Dateien m ssen ber ein entsprechendes Director Xtra noch in das W3D Format konvertiert werden und nachfolgender Import der Datei eingebettet oder extern verkn pft in Director e Erstellung eines 3D Darstellers im Shockwave3D Fenster indem eine Kameratransformation eingestellt wird oder per Lingo Befehl pMember new shockwave3D Anschlie ende Generierung Manipulation der Szenenkomponenten mittels verschiedener 3D Lingo Befehle Es bietet sich an beide Varianten gemeinsam zu verwenden d h die Szene wird mit einem 3D Werkzeug modelliert und kann dann durch 3D Lingo Befehle vollst ndig kontrolliert werden Wird eine W3D Datei extern verlinkt so ergeben sich einige Probleme die im Aufbau einer solchen Datei begr ndet sind Eine W3D Datei besteht aus einem Kopfteil dem so genannten Initial Loader Segment kurz ILS und einem Rumpfteil der die eigentlichen Geometrie Textur und Animationsdaten enth lt Wenn ein verkn pfter 3D Darsteller in den Speicher geladen wi
116. ig die Aufl sung der Kollision notwendig Der Algorithmus und seine Implementierung werden im n chsten Kapitel beschrieben 70 Die Kamerasteuerung 4 3 5 Erkennung Aufl sung und Ausnahmen bei Kollisionen Nachfolgender Programmablaufplan beschreibt den Algorithmus der implementierten Kollisionserkennung und deren Aufl sung Abb 4 3 Beginn Kollisionserkennung LMT picke in neg z Richtung picke in z Richtung der Kamera der Kamera Nein keine Elemente gepickt 1 linke oder rechte Maustaste gedr ckt i Ja Test auf Kollision Ja Kollision ignorieren 2 Befinden sich Elemente vor bzw hinter der Kamera 3 gepicktetes Element in der IgnoreCollisionList enthalten Ermittle Distance zw Kamera und Schnittpunkt d Pickstrahls mit der Fl che des gepickten Objektes 4 ist Abstand kleiner als Radius der Boundingsphere der Kamera Nein keine Kollision Ja Kollision Berechne Differenz aus Radius Boundingsphere und Abstand Eindringtiefe Berechne Korrekturvektor der senkrecht zur geschnittenen Fl che steht und dessen L nge der Eindringtiefe entspricht Verschiebe Kamera unter Verwendung des berechneten Korrekturvektors Ende Kollisionserkennung Abb 4 3 Schema Kollisionserkennung und aufl sung 71 Die Kamerasteuerung Wie im Abschnitt 4 2 3 Funktionsprinzip der Kameraboundingsphere wird auch in der endgiiltigen Realisierung der Kamerasteuerung
117. ik Bevor das neue 3D Konzept von Director vorgestellt wird sollen nachfolgend noch einige Definitionen und mathematische Grundlagen zum besseren Verst ndnis beschrieben werden 2 3 1 Begriffsdefinitionen Als Scheitelpunkt vertex wird ein Punkt im 3D Raum bezeichnet Diese Punkte werden durch ihre Ortsvektoren vom Koordinatenursprung zum Punkt selbst beschrieben Mit zwei Scheitelpunkten vertices l sst sich eine Kante eines Polygons definieren Drei verschiedene Scheitelpunkte beschreiben drei Kanten und somit eine Dreiecksfl che face Fl chen die auf mindestens 3 Scheitelpunkten basieren werden auch als Polygone bezeichnet In 3D Studio MAX besteht ein Polygon aus 2 Dreiecksfl chen und somit aus 4 Scheitelpunkten Director nutzt dagegen nur Dreiecksfl chen Das hei t im Kontext von Director3D bezeichnen Polygone und Dreiecksfl chen die gleiche geometrische Grundform Mehrere zusammengeh rige Polygone beschreiben ein Gitternetz mesh Objekte basieren auf mindestens einem Gitternetz 2 3 2 Vektoren Vektoren sind gerichtete Gr en die durch ihre L nge ihre Richtung und ihren Betrag gekennzeichnet sind Sie k nnen als eindimensionale Matrizen in Zeilen oder Spaltenschreibweise angegeben werden Auf Kennzeichnung f r die transponierte Darstellung wird jedoch meistens verzichtet x v y oder v x y z Der Ortsvektor OP ist dem Punkt P im 3D Raum zugeordnet d h sein Ursprung liegt im Koordinatenurspru
118. ings k nnen mit dem zugeh rigen Editor auch Funktionen zur Interaktivit t erstellt werden 3Danywhere nutzt das VRML97 Format Somit kann jedes VRML97 Export f hige Modellierungswerkzeug f r die Erstellung von Modellen und Animationen verwendet werden Tabelle 7 Zusammenfassung der Web3D Technologie 3Danywhere 1 3 3 2 Shout3D Hersteller URL Plattformen Installationsdateigr e Zusammenfassung pn i amp LE Abb 1 17 Quelle www44 Shout Interactiv http www shout3d com JavaApplet entsprechend plattformunabh ngig Applet wird jedes mal mit heruntergeladen Shout3D ist komplett in Java programmiert und nutzt seinen eigenen Renderer der standardm ig keine 3D Hardwarebeschleunigung unterst tzt Es bietet aktivierbares Antialiasing und eine insgesamt gute Darstellungsqualit t wobei die Renderperformance nicht sehr gro ist Interaktive Funktionalit ten m ssen per Java oder JavaScript programmiert werden Standardm ig werden einige Basis Applets mitgeliefert die einfache Interaktionen abdecken oder als Grundlage f r Weiterentwicklungen dienen k nnen Shout3D nutzt f r die Informations bertragung sein eigenes Datenformat s3d oder das VRML Format Die Technologie ist schon sehr lange am Markt und besitzt dank guter Referenzen einen entsprechenden Bekanntheitsgrad Tabelle 8 Zusammenfassung der Web3D Technologie Shout3D 25 Einfiihrende Bestandsaufnahme 1 3 3 3 Sun Microsystems Java 3D
119. ion um x y und Z Achse ueuuesessesnensesnensesnonsornnesonnnesenennonsonnnnnonnnenennsnonennone 40 2 13 Das Prelo derelement u 2420er eines Me sees 41 2 14 Internes Organisationsprinzip einer 3D Darstellung 20u220200220020esnensesnensesnnesennnennenennensennen 42 2 15 Aufbau eines W3D Files BIEO2 ccccecsscccssccesseceseceessecseeceeseeceeeeesseceeesesseceeeeessecseeeeesaeceeeeeesaeenes 44 110 Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abbildungsverzeichnis 2 16 Koordinatensystem und Ausrichtung cc eeceesceseecssecseeeceesecsseeecsaecatesecseesecsaseeceaecaeesecaeeseeneeeeesaees 45 2 17 Definition positive Drehrichtung sieton eieae an Sea a a a r A E e EEE E EE eas einas 46 2 18 W rfel mitStandardshader 4 222 2 es ai bin 47 2 19 bersicht Modelleigenschaften im 3DPI c ccccsssssssessessesessescesesssscsessesccsesseescsessesccsesscecsseanceceseancesess 49 2 20 Die einzelnen Kategorien des 3DPI 4 220 82 4 80er en ana 50 3 1 Ansicht Haupteingang Wandelhof Schwarzheide nsessersessersessnesernesnenennonsennonnennnennnennennnenenn 51 3 2 Hilfsmittel Polygonz hler in 3D Studio MAX uu ncessesnensessensersersennnesennnenenennonsennonsennennnennenn sonen 5
120. ionen ber die Grafikkarte abgefragt werden z B unterst tzte Rendermodi Hersteller Neben den Eigenschaften die Nur Lese Charakter besitzen k nnen die meisten Eigenschaften gelesen und gesetzt werden Einstellungen die mit 3DPI vorgenommen werden k nnen am 3D Darsteller und dessen Instanz auf der B hne sofort verifiziert werden Zus tzlich bietet das Tool eine Reihe von objektspezifischen Funktionen an Dazu geh ren zum Beispiel e Erzeugen e L schen e Ausrichten e Klonen von Objekten e Hinzuf gen und Manipulieren von Modifikatoren Als sehr n tzlich erweist sich die M glichkeit nderungs und Auflistungsbefehle in Lingosyntax im Nachrichten Fenster auszugeben Diese Ausgabe kann in angepasster Form in eigene Skripte bernommen werden um nderungen an der Szene permanent vorzunehmen Ohne dieses sehr hilfreiche Werkzeug lassen sich umfangreiche Projekte wie die Visualisierung des Entertainmentkomplexes Wandelhof Schwarzheide nicht realisieren 50 Modellierung der Szene 3 Modellierung der Szene Abb 3 1 Ansicht Haupteingang Wandelhof Schwarzheide F r die Modellierung des Komplexes Wandelhof Schwarzheide s Abb 3 1 konnte nicht wie geplant auf bereits digitalisiertes Material in Form von CAD Zeichnungen 3D Architekturentw rfen oder hnliches zur ckgegriffen werden Der Betreiber war nicht in der Lage entsprechendes Material zur Verf gung zu stellen Zu diesem Zeitpunkt war aber die Aufgabenstellung
121. l if IDittrel 7 thes LDiffrel_ IDiitrel if IDitfrel_ 0 2 then IDiftrel_ IDittres Wardeihal_aunsen2 12 Soave ww gt Conte Bebureas Inagectos Deron Ab n Abb 7 1 Das neue Userinterface von Director MX Von Director MX ist hinsichtlich der 3D Unterst tzung und der Darstellungsqualit t keine Verbesserung zu erwarten Es sind lediglich einige Xtras die Unterst tzung von Flash MX und Mac OS X sowie ein angepasstes Userinterface mit verbesserten Debuggingm glichkeiten hinzugekommen An der Renderengine hat es nach Aussage von Thomas Biendorf keine Ver nderungen gegeben Alles in allem entt uscht Director MX in mehreren Punkten Die NT Unterst tzung aufzugeben halte ich f r falsch wer im e learning Bereich t tig ist wird h ufig f r NT entwicklen m ssen Die Aufgabe des MU Server ist sehr traurig und bringt viele Entwickler in Erkl rungsnot gegen ber dem Kunden bzgl der Investitionssicherheit des gew hlten Produktes Ob der Flash Communication Server den MU Server ersetzen kann wird die Zeit zeigen Das neue Interface ist gew hnungsbed rftig aber funktional wenn auch in einigen Punkten sehr umst ndlich und sehr Platz verschwendend Drei Monitore werden wohl n tig sein 95 Darstellungsqualit t und Performance Das allerschlimmste Manko aber ist Die Player Engine wurde nicht berarbeitet also alt bekannte Bugs wurden weitergefiihrt Im Herzen ist Director MX ein u
122. line Gaming www cycosys com CyCo Systems gef September 2002 Entwickler von Web3D Spielen http www 3dgroove com The Groove Alliance Inc gefunden Dezember 2002 Adobe Atmosphere Betaversion eines Web3D Plug ins http www adobe com products atmosphere Adobe gefunden September 2002 Pulse3D Player Web3D Plug in http www pulse3d com Pulse gefunden September 2002 3D Online Chat http www cybertown com IVN Cybertown Inc gefunden September 2002 Jay Leno Tonight Show http nbctv nbci com tonightshow virtualjay special html NBC gefunden Februar 2003 VizStream kollaborationsorientiertes Web3D Plug in http realitywave com RealityWave gefunden September 2002 Pressemitteilung vom 26 01 2001 zum ersten deutschen 3D eCommerce Tag http hrz uni paderborn de universitaet aktuell presse presse 200 1 presse 26 01 01 htm 3D eCommerce Tag gefunden Januar 2003 3D Technologiebeispiele der Firma Salient GmbH http www salient de web3d tec_any html Salient GmbH gefunden Februar 2003 Java Programmiersprache http www java sun com Sun Microsystems Inc gefunden August 2002 VRML Consortium The Virtual Reality Modeling Language International Standard ISO IEC 14772 1 1997 http www web3d org Specifications VRML97 VRML Consortium Inc gefunden Februar 2003 Xj3D Open Source Browser http www web3d org TaskGroups source xj3d html Web3D Consortium gefunden Februar 2002 118 www39 www40 www41
123. ll repr sentiert werden um per SDS Modifier die Geometrieaufl sung zur Laufzeit erh hen zu k nnen Eventuell ist es sogar erforderlich eine Teilfl che des Bodens welche sich unter dem Spotlichtzylinder befindet per boolscher Operation zu entfernen um Probleme in der Tiefensortierung zu vermeiden siehe Abschnitt 3 1 5 Problem der Shockwave Tiefensortierung Dieser Mehraufwand die trotzdem erh hte Polygonanzahl und die Notwendigkeit den Spotlichtkegel zu imitieren haben zu der in Abschnitt 3 1 4 Simulation eines Spotlichtkegels beschriebenen letztendlichen L sung gef hrt 89 Darstellungsqualit t und Performance 6 2 Renderperformance in Abh ngigkeit der Geometrieaufl sung Da im vorhergehenden Kapitel eine Erh hung der Geometrieaufl sung als eine M glichkeit der Verbesserung der Visualisierungsqualit t dargestellt wurde soll bei dem nachfolgenden Vergleich eine Tendenz des Einflusses der Geometrieaufl sung bei verschiedenen Rendermodi abgeleitet werden Als Vergleichsgr e diente hierzu die erreichte durchschnittliche FPS Rate Die Testumgebung war wenig praxisnah da die Ergebnisse im Autorenmodus entstanden was zur Folge hatte dass eine signifikante CPU Belastung ca 30 ohne dass der Film abgespielt wird durch die Entwicklungsumgebung allein schon verursacht wurde Die unten abgebildete Testreihe Abb 6 12 wurde unter Verwendung von System 1 generiert Die Anzahl der Polygone wurde unter Nutzung des SDS Mo
124. m Handler handelt es sich um die Funktion animateCamera bzW controlCamera pOrbitCamera registerScript timeMS animateCamera me 0 40 250 Listing 25 Timer unter Verwendung eines Timerskriptes initialisieren 66 Die Kamerasteuerung Mit der Funktion wird ein Timer initialisiert der periodisch die Callbackfunktion animatecamera aufruft die sich in der gleichen Skriptinstanz befindet Skriptobjekt me Bei den letzten drei Parametern handelt es sich um den Beginn die Periodendauer 40ms und die Anzahl der zu generierenden Timerereignisse Die Funktion registerScript kann auch f r die Kollisionserkennung genutzt werden Eine hnliche Funktion existiert mit registerForEvent Der einzige Unterschied in den Funktionen liegt in dem Objekt an das die aufzurufende Funktion bei dem spezifizierten Ereignis im Beispiel t imems ein Zeitereignis gebunden wird pMember registerForEvent timeMS controlCamera me 1lStart 50 0 Listing 26 Registrierung eines Timer Skriptes bei einem 3D Darsteller Im ersten Fall wird ein Script an den Node porbitcamera gebunden und ein objektspezifischer Timer erzeugt Mit der zweiten Variante wird das Skript an den Darsteller gebunden und es reagiert auf Zeitereignisse die im Darsteller auftreten F r das Beispiel der Kamerasteuerung mit seinen unabh ngigen zeitlich getrennt auftretenden Timerereignissen bleibt es gleich welche Art der Callbackfunktionsgenerierung verwendet wird Eine sinnvolle Trennung der Ein
125. m das Userinterface und einige Xtras aufgebohrter Director 8 5 1 ob das einen Versionsprung rechtfertigt Www55 Die kritische Einstellung der Directornutzer beziiglich der neuen Version ist auch in den Diskussionen innerhalb der Director MailingList www47 erkennbar Anscheinend ist Macromedias Engagement f r 3D bestenfalls halbherzig Das merkt man auch daran dass man 3D Cast Member immer noch nicht abspeichern kann und dass es immer noch kein Drehbuch o f r 3D Cast Member gibt Der 3DPI bleibt unerl sslich ThanksUllala Auszug aus einer Mail von Stefan Ladstaetter vom 23 01 2003 an Director MailingL ist Ob und wie der Support und die Entwicklung von Director sowie speziell der 3D Engine zuk nftig auch in Hinblick auf Microsofts Interesse an der Flashtechnologie aussehen wird bleibt abzuwarten Allerdings w re es w nschenswert wenn dieses m chtige und interessante Autorenwerkzeug auch in Zukunft seine Reputation als multimediales Werkzeug beh lt 96 Darstellungsqualit t und Performance 7 2 Fazit Im Rahmen der Diplomarbeit wurden die M glichkeiten von Director zum Teil sehr intensiv getestet und verwendet Neben der 3D Implementation die im Mittelpunkt der Arbeit stand wurden verschiedene weitere Aspekte von Director ber hrt So mussten u a auch Teill sungen realisiert werden die auf NetLingo Imaging Lingo oder dem XML Parsing Xtra beruhen Der gr te Teil der 3D Philosophie von Director w
126. n der Mehrzahl m nnlich e Travellers interessieren sich f r touristische Angebote ein Gro teil davon sind Frauen 13 e Business User sind eher m nnlich und Kicker nutzen das Internet fiir berufliche Zwecke 25 Business User Internet Profi 12 e Internet Profis sind meist j nger und nutzen 9 M das Netz sehr intensiv und berwiegend f r Quelle GfK Online Monitor Grafik FTK private Zwecke Abb 1 1 Relative Verteilung der Internet Nutzertypen www18 e Klicker sind sporadische Nutzer die dem soziodemographischen Bundesdurchschnitt entsprechen e Der News Freak ist etwas lter und nutzt das Netz haupts chlich zur Informationsrecherche 10 Einfiihrende Bestandsaufnahme 1 2 Anwendungsbereiche Die Anwendungsbereiche fiir 3D Content lassen sich in verschiedene Kategorien untergliedern Dabei sind berg nge zum Teil flie end und die L sungen bedienen z T auch mehrere dieser Anwendungsfelder 1 2 1 E Commerce Beim elektronischen Gesch ftsmodell wird das herk mmliche Top Down Modell Hersteller H ndler Konsument gegen das Bottom Up Modell Kunde H ndler Hersteller getauscht Der Kunde wird wesentlich st rker als bisher zum bestimmenden Faktor der Anbietermarkt wandelt sich in einen Konsumentenmarkt Entsprechend erlangt die Art und Weise einer Produktpr sentation eine entscheidende Bedeutung Durch interaktive 3D Darstellungen kann ein umfassender und realistischer Ein
127. n mit der Kamera ignoriert werden sollte Der Nachteil der L sung mit dem simulierten Lichtkegel zeigt sich wenn die Kamera durch diesen hindurch bewegt wird Dann fallen Helligkeits und Farbtonunterschiede auf sobald die Kamera den Mantel durchdringt sich in den Kegel hinein und wieder heraus bewegt Dieser Unterschied l sst sich jedoch nicht g nzlich vermeiden 3 1 5 Problem der Shockwave Tiefensortierung Als eines der gr ten Probleme stellte sich eine geeignete Modellierung der W nde heraus Fl chen die in der gleichen Tiefenebene liegen oder sich in der Tiefenanordnung nur wenig unterscheiden k nnen in Shockwave3D nicht korrekt gerendert werden es treten Flackereffekte auf Mal wird die eine Fl che zuletzt gerendert dann die andere Prinzip des Maleralgorithmus male zuerst den Hintergrund und dann die Objekte in der Reihefolge wie sie von der Kamera entfernt sind beginnend mit der gr ten Entfernung Da der Renderer nur eine begrenzte Genauigkeit f r die Ermittlung der Tiefensortierung hat ist eine eindeutige Festlegung welche Fl che sich vor welcher befindet nicht immer m glich Sie erfolgt dann bei jedem Renderzyklus nach dem Zufallsprinzip Sichtbar wird das Problem der Tiefensortierung jedoch erst dann wenn die abwechselnd dargestellten Dreiecksfl chen unterschiedliche Schattierungen aufweisen Dies tritt zum Beispiel dann auf wenn die Quader welche die W nde bilden ber Eck angeordnet sind Abb 3 7
128. nd deren Manipulation in Director sowie auf die Relevanz fiir das Projekt eingegangen 40 Grundlagen Director und 3D Darstellung 2 4 Einf hrung in Director3D Mit Director 8 5 Shockwave Studio fiir 3D hat Macromedia das meistverbreitete Autorenwerkzeug fiir die Erstellung von interaktiven Online Offlinemedien um die F higkeit der skalierbaren 3D Echtzeitdarstellung erweitert Die implementierte 3D RenderEngine basiert dabei auf der von Intel Architecture Labs www48 entwickelten Intel Internet 3D Graphics Technologie www49 Zum besseren Verst ndnis der weiteren Ausf hrungen soll im folgenden Abschnitt die grundlegende Funktionalit t von Director3D dargestellt werden Innerhalb des Projektes gibt es zwei verschiedene Situationen mit Elemente die nicht in einem externen 3D Modellierungswerkzeug z B 3D Studio MAX erstellt und anschlie end exportiert wurden um sie in Director zu verwenden In der Preloadersequenz bevor also die eigentliche 3D Szene angezeigt werden kann bzw in Situationen in denen Szenenelemente nachgeladen werden sollen wird ein w rfel hnliches Objekt s Abb 2 13 dargestellt Abb 2 13 Das Preloaderelement Dieses besteht aus einer Reihe von Zylindern und Kugeln die per 3D Lingo generiert im Raum angeordnet hierarchisch gruppiert und animiert wurden Die Vorgehensweise um ein solches Objekt mit den neuen 3D Lingobefehlen zu erstellen soll in den folgenden Kapiteln als Einf hrung in die Sh
129. ndete Web3D Plattform da f r den Nutzer die M glichkeit besteht relativ einfach Vergleiche zwischen webbasierten 3D Spielen und inhaltlich hnlich gelagerten PC Spielel sungen zu ziehen H ufig werden solche und hnliche Spielkonzepte f r Marketingaktionen entwickelt und genutzt Einige Anbieter von Web3D Technologien u a CyCo Systems www27 und The Groove Alliance www28 haben sich auf das Marktsegment des 3D Online Gamings spezialisiert Eine andere Variante im Entertainmentbereich stellen Avatare dar Bei einem Avatar handelt es sich um einen virtuellen Charakter der einem Teilnehmer einer virtuellen Welt Chatroom Lerngemeinschaft zugeordnet werden kann und somit zu einer Verringerung der Anonymit t beitr gt s Abb 1 5 Avatare k nnen mittels Mimik und Gestik eine begrenzte visuelle Kommunikation erm glichen und er ffnen damit eine zus tzliche Ebene der Kommunikation Beispiele hierf r bieten u a Adobe Atmosphere www29 und Pulse3D www30 an Abb 1 5 Beispiel eines 3D Chatsystems www31 Als dritte M glichkeit f r den Einsatz von Web3D Technologien bietet sich deren Nutzung f r Comics und Sketche in Form von Charakteranimationen an Hierbei spielen Details und Interaktionsf higkeit nur eine untergeordnete Rolle So werden beispielsweise auf der Website des amerikanischen Senders NBC Sketche mit Jay Leno dem Moderator der sehr erfolgreichen Tonight Show www32 in Form einer 3D Charakteranimation visualisi
130. nem allgemeinen Loaderscript realisiert als Parentscript zu implementieren Ein Vorteil der objektorientierten Realisierung des Loaderobjektes ist die M glichkeit dass dieses Objekt f r den Download jeder ben tigten Datei verwendet werden kann und durch die Nutzung des CallBack Mechanismus flexibel einsetzbar ist Die Status berpr fung des Downloadvorganges erfolgt gekapselt innerhalb des Objektes in der stepFrame Funktion Somit sind auch parallele Downloads durch mehrere Instanzen des Loaderscripts m glich 74 Ubermittlung und Darstellung dynamischer Inhalte Das Loaderobjekt funktioniert prinzipiell so dass f r die Initialisierung des Objektes der Name der aufzurufenden Callbackfunktion und eine URL der zu ladenden Datei bergeben wird Listing 53 Auszug aus dem Parentskript des Loaderobjektes Diese URL dient als Argument f r die Lingo Funktion preLoadNetThing die eine ID zur ckliefert mit deren Hilfe der Downloadstatus in der Funktion stepFrame verifiziert werden kann Ist der Downloadvorgang erfolgreich abgeschlossen so wird per CallBack Mechanismus eine Funktion aufgerufen die als Symbol dem Konstruktor des Loaderobjektes mit bergeben wird In dieser Funktion kann dann spezifisch auf die Beendigung des Downloadvorgangs reagiert werden Erzeugen von Texturen bei JPG Download bzw Erg nzung der Szene durch zus tzliche 3D Informationen aus der geladenen W3D Datei W hrend die Erstellung der Texturen und das Nachlad
131. ng und sein Ende entspricht dem Punkt P Zwei Vektoren werden miteinander addiert subtrahiert indem die einzelnen korrespondierenden Werte addiert bzw subtrahiert werden Das Ergebnis ist wieder ein Vektor ax bx ax bx ay by ay tby az bz az bz Der Betrag die L nge eines Vektors kann ber den r umlichen Lehrsatz des Pythagoras ermittelt werden ax ay ax ay az az Von einem Einheitsvektor normierten Vektor Normalenvektor wird gesprochen wenn der Betrag des Vektors gleich eins ist a 1 Soll ein Vektor normiert werden so werden seine Vektorkomponenten durch den Betrag des Vektors dividiert Die Multiplikation von Vektoren wird fiir die Skalierung eines Vektors und fiir die Berechnung des Winkels zwischen zwei Vektoren ben tigt 38 Grundlagen Director und 3D Darstellung bx s bx s gt l positive Skalierung Verl ngerung des Vektor s by s by O lt s lt 1negativeSkalierung Verk rzung des Vektors bz s bz s lt 0 inverser skalierter Vektor Werden zwei Vektoren miteinander multipliziert so erh lt man ein Skalar Ma zahl ax bx ay by ax bx ay by az bz az bz Anwendung findet die Multiplikation zweier Vektoren bei der Berechnung des Winkels zwischen diesen Vektoren Skalarprodukt inneres Produkt zweier Vektoren ax bx ay by a b cos Z a b az bz NS ax bx ay by az bz ax ay az bx by bz Mit dem Vektorprodukt
132. ngen hier if pMouseDown OR pRightMouseDown then Berechne H he Camera ber Fussboden Treppe und korrigiere ev Kamerah he 1_list pMember modelsUnderRay pCamera transform position vector 0 0 1 3 detailed k 1 repeat with i 1 to pIgnoreCollisionList count repeat with 1 to Lolistcount Tf Lolise gi lichens pignerecollisionhist li then k k 4 1 end if end repeat end repeat sendsprite me spriteNum checkTrigger l_list alse A ilk Sic CONE S gt schen if l_list k distance lt gt pCamOldDistance then lCamDeltaZz pCamOldDistance l_list 1 distance pCamera transform position z pCamera transform position z lCamDeltaz Listing 50 Korrektur der H he der Kamera und Aufruf Triggertest 103 Listings zugeh rige Erl uterungen hier case TRUE of pMouseDown left mouse down cast ray forward tList pMember modelsUnderRay pCamera worldPosition pCamera transform zAxis detailed if there are models in front of the camera check for collisions if tList count then me checkForCollision tList 1 end if pRightMouseDown right control mouse down cast ray backward tList pMember modelsUnderRay pCamera worldPosition pCamera transform zAxis detailed if there are models in back of the camera check for collisions if ELA St counk then me checkForCollision tList 1 end if end case Listing 51 Test ob Objekte vor bzw hinter der Kamera sind zugeh rige Erl uterungen hier on checkForC
133. ngle pCamOrbitAngle PI 2 Quadrant end if end if pCamOrbitOffset point pMember model Sky transform position x pMember model Sky transform position y pOrbitRadius power power deltaX 2 power deltaY 2 0 5 end initOrbitCam Listing 47 Initialisierung fiir kreisf rmige Kamerafahrt zugeh rige Erl uterungen hier on animateCamera else pCamOrbitAngle pCamOrbitAngle 2 PI 120 0 lx cos pCamOrbitAngle pOrbitRadius pCamOrbitOffset locH ly sin pCamOrbitAngle pOrbitRadius pCamOrbitOffset locv pOrbitCamera transform position vector 1x 1ly pOrbitCamera transform position z pOrbitCamera pointAt pCamOrbitLookAt vector 0 0 1 end if end animateCamera Listing 48 Transformation der Orbitkamera auf Kreisbahn 102 Listings zugeh rige Erl uterungen hier if pStartCamPathInterpol then increment the internal counter for the animation pCamAnimInfo count pCamAnimInfo count 1 determine the interpolation percentage ecto 100 0 7 7fefan rinints ceaune 2 90 09 if pctg is greater than 100 end animation sequence atripetg gt 100 Then peto 100 pCamAnimFlag FALSE pStartCamPathInterpol FALSE pSprite camera pCamera end if determine the new interpolated camera transform t pCamAnimInfo initT interpolate pCamAnimInfo finalT pctg apply that transform to the camera pOrbitCamera transform t Listing 49 Positionpathinterpolation zugeh rige Erl uteru
134. nnnonsennnesonnnesnenennonsennnnsonnnenenennonennn 63 42 2 Der Collision Modifier 5242 22 ERS hen Bish Meek ath hii BSR br 64 4 2 3 Funktionsprinzip der Kameraboundingsphere ssssssccscesecesesecesececesecueesecuaseecsaecaeesecneeaeenaeseeeas 64 4 2 4 Auswirkungen der Modi des Collision Modifiers 0u202240220200220snesennenennsnensnnnnnnennnenenenenennn 65 4 3 Endg ltige Realisierung der Kamerasteuerung rseesssseensesnensesnensersnesonnnenenennensnnnonsonnnennnesenenonon 65 4 3 1 Die notwendigen Flags und Eigenschaftsvariablen 2002002002002sennesnenesnensnnnnenennnenenenennnnn 66 4 3 2 Triggerinitialisierung Ereignisgenerierung 0 0 eecesecscesecneeeeceseeecssecetesecueesecuaeeccsaecaesecueeseenaeseeeas 66 4 33 Die Kamera talitt iann 3er e E a EE e a E EE E RES 67 4 3 4 Die Steuerung der Kameratransformation rsessersessesnnesensesnensernnesonnnennennsnonsennnnnonnnenennnenennn 69 4 3 5 Erkennung Aufl sung und Ausnahmen bei Kollisionen uur2u222sennesnensesnensesnnenennenensennenenn 71 5 bermittlung und Darstellung dynamischer Inhalte cccccccsssssssessescssessesesesscsscseaseesesesneescseanescescaneseeseaneseess 73 5 1 Content bertragung per XML und asynchrones Scripting nueesersessersessesnnnesnensesnensnnnnnnonnnenenennonennann 73 5 2 Dynamische Visualisierung textbasierter Inhalte oo cee eeeeecseeeecsseeecsseceeesecneesecsaeeeesaecaesec
135. nnung verwendet Programm welches Daten aus dem weltweiten Netz abruft und dann am Computer verarbeitet und anzeigt Element von Director Fl che auf der alle Sprites platziert werden in der endg ltigen Online oder Offline Pr sentation der sichtbare Bereich Element der Anwendung Macromedia Director Mediadaten Bilder grafiken Audio Video Text 3D Szenen die in der Besetzung verwaltet werden Fehlersuche im Programmcode vom engl Bug Wanze Siehe Macromedia Director komplette Anwendung Datei die in Macromedia Director erstellt wurde Microsofts interaktive Medien Technologie f r die Windows Plattformen enth lt u a auch die Direct3D API die von Spielen und Web3D Technologien genutzt wird Bezeichnung f r das Herunterladen von Daten aus einem Kommunikationssystem wie dem Internet dabei werden Programme oder Dateien auf den eigenen Computer bertragen Element von Macromedia Director Instanzen der Darsteller werden dort in einer Zeitleiste angeordnet Document Type Definition deklariert die Struktur und Tags eines Dokumenttyps 121 Echtzeit Ereignisskript auch Event Handler Event Handler Fall off Farbtiefe Filmskript Grafikkarte Hardware Hypertext Imaging Lingo Interaktive 3D Grafik Interaktivit t Internet Lingo Macromedia Macromedia Director Maske Map Mapping Modell Modellressource Modifikator oder Modifier Glossar DTD legt die Syntax und Semantik einer Auszeichnung
136. nologische Betrachtung der Shockwave3D Technologie bildeten Neben der 3D Darstellung des Wandelhofkomplexes wurde eine konventionelle 2D Pr sentation entworfen die vom Nutzer f r weitergehende Textinformationen f r Pr sentation einer Diashow als Navigationshilfe sowie als Feedback M glichkeit genutzt werden kann Abb 0 7 2 2D Navigationsplan Diashow Diese Pr sentation wurde nur teilweise realisiert hat thematisch keine weitere Bedeutung f r die Diplomarbeit und wurde nur der Vollst ndigkeit halber hier aufgef hrt In den nachfolgenden Kapiteln wird sie h chstens punktuell erw hnt Hinsichtlich der Systematik der Fachtermini wird innerhalb der Diplomarbeit die deutsche Rechtschreibung verwendet Ausnahme hiervon bilden Markennamen und die Codebeispiele die der originalen Lingosyntax entsprechen Einfiihrende Bestandsaufnahme 1 Einf hrende Bestandsaufnahme 1 1 Vom Anfang des Webs bis zum Aufbruch in die dritte Dimension Es gibt wahrscheinlich neben den Erfindungen des Telefons und Fernsehens keine Entwicklung die das Informationsverhalten der Gesellschaft in den Industriel ndern so ver ndert wie dies mit dem rasanten Siegeszug des Internets der Fall ist Der bekannteste Vertreter des Internets das World Wide Web hat dazu sicherlich den entscheidenden Anteil beigetragen 1 1 1 Ein kurzer Blick in die Geschichte des Webs Der Name World Wide Web kurz WWW oder Web entstand 1990 am Kernforschungszen
137. nster erstellen w member Fenster_mAlpha width h member Fenster_mAlpha height im image w h 32 8 am_neg image w h 8 am member Fenster_mAlpha image extractAlpha repeat with i 1 to w repeat with j 1 to h if am getPixel i j paletteIndex 255 then am_neg setPixel i j paletteIndex 1 elise am_neg setPixel i j paletteIndex 255 end if end repeat end repeat im setAlpha am_neg 1Txr pMember newTexture txr_wndLight fromImageObject im pShaderLightOn pMember newShader shLightOn standard pShaderLightOn emissive rgb 255 251 240 pShaderLightOn texture 1Txr pShaderLightOff pMember newShader shLightOff standard pShaderLightOff emissive rgb 0 0 0 pShaderLightOff texture 1Txr pShaderLightOff blend 25 Opazit t 25 Listing 46 Erzeugen und Zuweisen der Alphakanalmasken Listings 101 Listings zugeh rige Erl uterungen hier on initOrbitCam deltaX pOrbitCamera transform position xpMember model Sky transform position x deltaY pOrbitCamera transform position ypMember model Sky transform position y pCamOrbitAngle atan 1 0 deltaY deltaxX if pCamOrbitAngle gt 0 then if pOrbitCamera transform position y lt 0 then 3 Quadrant pCamOrbitAngle pCamOrbitAngle PI end if else 2 oder 4 Quadrant if pOrbitCamera transform position y lt 0 then 4 Quadrant pCamOrbitAngle pCamOrbitAngle 2 0 PI SISS pCamOrbitA
138. nutzung nur bei statischen Szenen empfiehlt Das Ein und Ausschalten des Antialiasings ist in einer separaten Funktion realisiert Listing 60 Aktivieren bzw Deaktivieren des Antialiasings Damit kann das De Aktivieren der Kantengl ttung von verschiedenen Funktionen in unterschiedlichen Skripten mit Hilfe des sendsprite Befehls angesto en werden Der Befehl wird auf einer 3D Spritereferenz ausgef hrt und gl ttet alle sichtbaren Kanten Die Beschr nkung des Antialiasings auf einzelne Modelle ist nicht m glich Abb 6 13 Vergleich Szenenausschnitt ohne mit Antialiasing Auch mit aktiviertem Antialiasing bleiben die typischen treppenartigen Artefakte erkennbar s Abb 6 13 Im Hinblick auf die Verschlechterung der Renderperformance und des Echtzeitverhaltens auf Nutzerinteraktionen ist im Allgemeinen von der Nutzung des Antialiasings abzuraten Diese Aussage soll mit der nachfolgenden Untersuchung belegt werden 91 Darstellungsqualit t und Performance 6 4 Renderperformance mit und ohne Antialiasing F r die Testuntersuchungen wurde wiederum das System 1 verwendet Die 3D Testgeometrie bestand aus ber 15000 Polygonen Der OpenGL Treiber der Grafikkarte unterst tzte keine Kantengl ttung Daher sind f r diesen Rendermodus keine Werte erfasst worden Die Werte wurden im Projektormodus gewonnen Bildwiederholrate mit ohne Antialiasing E directX7_0 FPS E directX7_0 CPU directX5_2 FPS E direct
139. ockwave3D Welt veranschaulicht werden Ein zweiter Anwendungsfall im Projekt f r die Generierung eines komplexen 3D Objektes per Lingo wird im Abschnitt 3 2 2 Das Kino Informationsobjekt ausf hrlich dargestellt 41 Grundlagen Director und 3D Darstellung 2 4 1 Shockwave3D Darsteller Koordinatensystem und Orientierung F r die 3 dimensionale Visualisierung in Director wurde ein neuer 3D Darstellertyp eingef hrt Dieser stellt die 3D Welt dar und kapselt in sich alle Komponenten die zur Beschreibung der 3D Welt ben tigt werden Nachfolgende Abbildung Abb 2 14 soll zur weiteren Erl uterung der Zusammenh nge zwischen den einzelnen Komponenten und ihrer funktionellen Bedeutung genutzt werden G _ e m Ba a2 Sprite Sprite Sprite Abb 2 14 Internes Organisationsprinzip einer 3D Darstellung Die einzelnen Komponenten die f r eine 3D Darstellung in Director ben tigt werden k nnen hinsichtlich ihrer Grundfunktion teilweise entsprechend zusammengefasst werden Deshalb wurden funktional zusammengeh rige bzw voneinander abh ngige Elemente durch eine gemeinsame farbliche Hervorhebung dargestellt Die Pfeile stellen Referenzierungen zwischen den einzelnen Komponenten dar deren Realisierungen per Lingo in Tabelle 13 jeweils mit einem Code Beispiel angegeben werden Sprit Ein Sprite ist ein zeitlicher Repr sentant eines 3D Darstellers Im 3D Kontext stellt a es einen Blick durch eine Kamera mit einem d
140. odellressourcen vom Typ mesh oder bei einem Modell an dem der Modifizierer meshDeform angebracht ist K nnen die Texturkoordinaten per Lingo ver ndert werden 82 Ubermittlung und Darstellung dynamischer Inhalte Die textureCoordinateList dient dabei als Hilfsmittel Sie enth lt dimensionslose Wertepaare deren Definitionsbereich von 0 bis 1 ist Damit kann das Format jeder Bitmapgrafik und jeder einzelne Bildpunkt repr sentiert werden das Wertepaar 1 1 entspricht der gegen berliegenden Ecke des Wertepaars 0 0 Die Texturkoordinaten eines Polygons werden ber die Indizes der Punkte in der textureCoordinateList definiert mrMesh textureCoordinateList 0 0 1 0 1 11 0 1 mrMesh face l texcoords 1 2 3 Listing 39 Definition der textureCoordinateList und Zuweisung der Texturkoordinaten Abbildung 5 10 und Abbildung 5 11 zeigen beispielhaft einmal die komplette Bitmap als Textur und zum anderen eine Texturierung die nur die linke H lfte der Bitmap mit dem Befehl texturecoordinateList 10 0 0 5 0 0 5 1 0 1 verwendet Abb 5 10 komplette Bitmap als Textur Abb 5 11 Teil der Bitmap als Textur Die nderung der Darstellung der FPS Rate erfolgt indem zyklisch alle 1500ms die Bildwiederholrate bestimmt und der darzustellende String der Funktion setTextureFontString als Argument bergeben wird Der String wird in seine einzelnen Zeichen separiert und entsprechend jeweils ein Modell basierend auf d
141. offset point W pImage width 2 H pImage height 2 lDestRect rect lOffset point plmage rect right plmage rect bottom 1lOffset nImage copyPixels plImage 1lDestRect plmage rect if pUseAlpha then nImage setAlpha getNegativ getNegativ nImage 107 Listings nImage useAlpha TRUE end if plmage 0 return nimage end PowerOf2Dimensions on getNearestPowerGE base value Returns the power of the given base that is greater than or equal to the given value return integer power base integer log value log base 0 50000001 1 end getNearestPowerGE on getNegativ plmage lRect plmage rect imgBlk image plmage width plmage height 8 grayscale imgBlk fill 0 0 pImage width pImage height rgb 0 0 0 imgWht image plmage width plmage height 8 grayscale imgWwht fill 0 0 plImage width pImage height rgb 255 255 255 imgWht copyPixels plmage rect 0 0 plImage width plmage height rect 0 0 pImage width pImage height ink 4 return imgWht end getNegativ Listing 56 Imaging Lingo f r optimale Darstellungsqualit t von Textinformation zugeh rige Erl uterungen hier on mouseDown me lList sprite me SpriteNum camera modelsUnderLoc the mouseLoc 1 detailed fID lList 1 faceID liefert die PolygonIDput fID liefert eine Liste bestehend aus 3 Indizes der VertexListe put pModel meshdeform mesh 1 face fID liefert Liste der 3 Vektoren des P
142. ollision me thisData repeat with i l to pIgnoreCollisionList count if thisData model name contains pIgnoreCollisionList i then return end repeat grab the distance value dist thisData distance if distance is smaller than bounding radius resolve collision if dist lt pCameraSphere resource radius then get distance of penetration diff pCameraSphere resource radius dist calculate vector perpendicular to the wall s surface to move the camera tVector thisData isectNormal diff move the camera in order to resolve the collision pCamera translate tVector world end if end checkForCollision Listing 52 Test auf Kollision ggf Aufl sung 104 zugeh rige Erl uterungen hier on new me aPropList pURL aPropList pURL pSpriteNum aPropList pSpriteNum pCallBackObj aPropList getaProp pCallBackObj pCallBackFkt aPropList pCallBack pMember aPropList pMember pNetID preLoadNetThing pURL return me end on stepFrame me if not voidp pNetID then if netDone pNetID then lState getStreamStatus pNetID state pNetID void the actorList deleteOne me if not voidP pCallBackFkt AND pSpriteNum lt gt void then sendSprite pSpriteNum pCallBackFkt else if pSpriteNum void then AND pCallBackObj lt gt void then call pCallBackFkt pCallBackObj 1State falls Funktion in einem end if Objekt gerufen werden muss end if end if end if end stepFrame Listing 53 Auszug a
143. olygons put lList 1 vertices end Listing 57 Bestimmung des gepickten Polygons und dessen Scheitelpunkte 108 Listings zugeh rige Erl uterungen hier lFaceList 2 5 12 17 18 20 Liste der Fl chenindizes der Fl die nach vorn zeigen mrMesh pMember newMesh mrMesh 6 8 0 0 0 6 Polygone 8 Scheitelpunkte 1lVertexList vector 128 2970 13 2721 0 0 vector 349 4987 13 2721 0 0 vector 349 4987 13 2721 286 0876 vector 349 4987 13 2721 286 0876 vector 349 4987 13 2721 0 vector 202 0309 13 2721 0 VeeEor 20200309 187 OU 2 eo 9G L4yvector EZ SER ZITIERT ZIERT 09T mrMesh vertexList 1lVertexList mrMesh face l vertices 1 2 3 mrMesh face 2 vertices 3 8 1 mrMesh face 3 vertices 3 4 8 mrMesh face 4 vertices 4 7 8 mrMesh face 5 vertices 4 6 7 mrMesh face 6 vertices 4 5 6 mrMesh generateNormals smooth mrMesh build ltmpModel pMember newModel Test mrMesh 1tmpModel shaderList pMember shader Material 1 Listing 58 Erstellung Referenzobjekt f r Untersuchung der Darstellungsqualit t zugeh rige Erl uterungen hier pAASupported FALSE lVersion the environment productVersion Stringseparation 1TmpDelim the itemDelimiter the itemDelimiter if integer lVersion item 1 gt 9 then pAASupported TRUE Dummyfkt Muss f r Dir MX angepasst werden else if lVersion item count gt 2 then pAASupported TRUE 8 5 1 hat drei I
144. on Giiltigkeit besitzen Nachricht Primary Event Handler keyUp the keyupscript keyDown the keydownscript mouseUp the mouseupscript mouseDown the mousedownscript Tabelle 12 M gliche Nachrichten fiir Primary Event Handler 36 Grundlagen Director und 3D Darstellung Im eigentlichen Sinn handelt es sich nicht um Skripte sondern um Eigenschaftsvariablen Sie k nnen den Namen eines Filmskriptes oder ein komplettes Lingo Skript enthalten Nachfolgendes Beispiel zeigt die Initialisierung eines Primary Event Handlers on startMovie the keydownscript alert amp amp QUOTE amp Event KeyDown amp QUOTE amp amp end Listing 1 Initialisierung eines Primary Event Handlers Verwendung fand das Prinzip des Primary Event Handlers f r den Aufruf einer 2D Director Pr sentation aus der 3D Szene heraus wenn eine entsprechende Taste gedr ckt wird Dieser Directorfilm wird in einem neuen Browserfenster ge ffnet und soll in seiner endg ltigen Version einen Navigationsplan eine Diashow zus tzliche Informationen in Textform und weitere Funktionen bieten Geplant war die Taste F1 f r den Aufruf aber auf Grund der Tastaturkonkurrenz zwischen Browser und Film wird die Nachricht von beiden interpretiert und der Browser ffnet sein eigenes Hilfefenster Da es nach Aussage der DirectorList www47 keinen Workaround f r dieses Problem gibt wurde f r den Aufruf die Taste h verwendet Darstellerskripte haben in den letzten Jahren auf
145. on der Fenstertexturen F r die Textur wurde ein Bitmapdarsteller mit einem 1 Bit Alphakanal verwendet Die Farbe des Alphakanals f r den Fensterrahmen ist wei d h die Textur wird an dieser Stelle gezeichnet F r die Glasfl chen ist die Alphainformation schwarz das Objekt wird an diesen Stellen transparent 55 Modellierung der Szene Da die Ebene fiir die Hintergrundbeleuchtung die gleiche Position wie die Fensterebene hat wiirden sich die beiden Ebenen berdecken Indem der invertierte Alphakanal verwendet wird k nnen auf der Hintergrundebene die Bereiche des Fensterrahmens transparent gestaltet werden Listing 46 Erzeugen und Zuweisen der Alphakanalmasken 3 2 2 Das Kino Informationsobjekt 3 2 2 1 Erstellung des Objekts Neben dem Preloaderelement wurde ein zweites Element komplett per Lingo generiert Dabei handelt es sich um ein rotierendes prismen hnliches Objekt dessen Mantelfl chen als Textur Bitmaps von Kinoplakaten verwenden Damit ist die Funktion des Objekts auch schon fast erkl rt Der Nutzer soll darauf klicken und erh lt je nach dem auf welche Mantelfl che er geklickt hat weitere Informationen zum Film Das Objekt wird zur Laufzeit per Lingo in Abh ngigkeit verschiedener Parameter erzeugt und mit Betreten des gro en Kinosaals gerendert Zwecks Kapselung und Wiederverwendbarkeit ist die gesamte Funktionalit t unter Verwendung eines Parentskriptes realisiert worden Es wird eine Instanz des Parentskri
146. onz hler s Abb 3 2 zur Verf gung Polygonanzahl x Ausgewahl e Obekte H chstzaht TOIT Aktuell 3242 Objekte H chstzah 1000 akiuel 8332 Schlis en Abb 3 2 Hilfsmittel Polygonz hler in 3D Studio MAX 52 Modellierung der Szene Ein kurzes Beispiel soll diesen Sachverhalt verdeutlichen In der Szene existieren ber 30 Au enfenster die als Instanzen erzeugt wurden Hinsichtlich der Downloadgr e ergeben sich damit keine Probleme Aber jedes Fenster bestand urspr nglich aus 130 Polygonen Somit w rde nur f r die Modellierung der Fenster ein Drittel der maximalen Polygonanzahl verwendet werden Um dieses Problem zu l sen wurden einfache Ebenenobjekte f r die Fenster verwendet die zur Laufzeit per Lingo eine Fenstertextur erhielten 3 1 3 Beleuchtung und Schattierung Bei gro fl chigen Polygonen f llt eine typische Kantenbildung auf Au erdem wird keine gleichm ige kreisf rmige Beleuchtung der Fl che erzeugt Diese Probleme sind materialunabh ngig und k nnen w hrend der Modellierungsphase nur dadurch vermieden werden dass geometrische Primitive mit mehreren Segmenten erstellt werden Eine korrekte Darstellungsqualit t konnte bei den in diesem Beispiel gew hlten Gr enverh ltnissen mit 10 Breiten und L ngensegmenten des Basisquaders erreicht werden Qualit tsunterschiede s Abb 3 3 bis Abb 3 5 Dies f hrt jedoch zu einer gr eren Exportdatei und damit zu
147. ool m ssten die Normalen mit Hilfe des Kreuzproduktes manuell bestimmt werden Dabei f llt auf dass die Normalenvektoren nicht dem erwarteten Vektor 0 1 0 entsprechen Die Werte unterscheiden sich in der dritten Kommastelle vom Normalenvektor der xz Ebene 85 Darstellungsqualit t und Performance Eine Ursache fiir diese Abweichung ist nicht eindeutig bestimmbar Der Fehler kann beim Export entstanden oder aber erst mit der Anwendung des meshpeform Modifiers erzeugt worden sein Um den Einfluss der Abweichung der Normalenvektoren zu verifizieren wurde ein Referenzobjekt basierend auf einer Gitternetzressource ohne Textur per Lingo erstellt Listing 58 Erstellung Referenzobjekt fiir Untersuchung der Darstellungsqualit t Die Vertexpunkte des neuen Objektes stimmen mit denen des importierten geboolten Objektes berein Nachdem die Normalen des Referenzobjektes generiert wurden mrMesh generateNormals smooth Konnte festgestellt werden dass die Normalen der Polygone dem erwarteten Vektor 0 1 0 entsprechen Trotzdem ist die fehlerhafte Darstellung der beleuchteten Fl che auch an diesem Objekt feststellbar d h die geringe Abweichung der Normalen des importierten Objektes sind nicht die Ursache f r die Darstellungsprobleme Abb 6 3 Fehlerhafte Darstellung des Referenzobjektes Damit blieb als m gliche Ursache nur der verwendete Shadingmodus Shockwave verwendet als Beleuchtungsmodell entweder den Flat Shading oder den Smoo
148. oordinatensystem und Ausrichtung Jedes Modell besitzt ein eigenes lokales Koordinatensystem Wenn ein Modell nicht rotiert wurde so stimmen die Ausrichtungen der Achsen des lokalen Koordinatensystems mit denen des Weltkoordinatensystems kurz WKS berein Im Beispiel der Abb 2 17 wurde der W rfel in positiver Richtung der x und in negativer Richtung der y Achse verschoben Aufgrund der r umlichen Verzerrung ist die lokale z Achse im Gegensatz zu der des WKS sichtbar Die z Achse des WKS ist nur als Punkt sichtbar da der Orientierungsvektor der Standardkamera vector 0 0 1 der negierten z Achse des WKS entspricht Mit der Initialposition vector 0 0 250 der Standardkamera blickt diese somit entlang der z Achse auf das Zentrum des Weltkoordinatensystems Director verwendet standardm ig f r die 3D Darstellung ein rechtsh ndiges Koordinatensystem d h die z Achse zeigt nach vorn Daraus resultiert die Definition der positiven Drehrichtung welche f r die Rotation der Objekte entscheidend ist 45 Grundlagen Director und 3D Darstellung Abb 2 17 Definition positive Drehrichtung Darsteller die auf einer exportierten W3D Datei basieren haben natiirlich die Orientierung der Szene innerhalb des Erstellungswerkzeuges tibernommen Director nutzt f r die 3D Darstellung nur eine quantitative Ma einheit Verwendete Gr en werden in Einheiten ohne weitere Zus tze wie Zentimeter oder Meter angegeben beim Export in 3D Studio MAX
149. pertyliste zugeh rige Erl uterungen hier on createTexture aPropList gIsready FALSE p3DMember member aPropList p3DMemberName targetMember member aPropList pBitmapName if targetMember memberNum 1 then targetMember new bitmap targetMember name aPropList pBitmapName end if overlayImage member aPropList pSourceName image if voidP overlayImage then return if gUseAlpha then baseImage image aPropList pWidth aPropList pHeight 24 8 baseImage fill 0 0 aPropList pWidth aPropList pHeight rgb 255 255 255 holen des Image des Textdarsteller das in das Bild hineinkopiert werden soll overlaylmage member aTextMemberName image hole Alphakanal des Textdarstellers damit dieser mit Antialiasing in das Bild kopiert werden kann maskImg overlaylmage extractAlpha Positionierung der Schrift mittig auf Ziel Bitmap targetRect rect 0 0 0 0 targetRect left baseImage width 2 overlaylmage width 2 targetRect top baseImage height 2 overlaylmage height 2 targetRect right targetRect left overlaylmage width targetRect bottom targetRect top overlaylmage height anlegen eines neuen ImagesObjektes in das Bild und Text hineinkopiert werden targetImage image baselmage width baseImage height 32 106 Listings targetImage copyPixels baseImage baseImage rect baselmage rect Beim Kopieren des Textes die Alphamaske mit angeben targetImage copyPix
150. polation der Position zwischen der Endposition nach der Kreisbewegung und der Kamerastartposition der Hauptkamera s Abb 4 1 Bei zuletzt genanntem Abschnitt wird die Transformation der Hauptkamera der Szene approximiert 67 Die Kamerasteuerung Abb 4 1 Prinzip Kameraanimation Die rote Kamera ist die Startposition entspricht der anf nglichen Transformation der Orbitkamera Die gelben Kameras repr sentieren den Schwenk der Kamera um das Rotationszentrum und die orangene Kamera stellt die Endposition der Kamera f r die Kreisbewegung und zugleich die Anfangsposition f r den PositionPathInterpolator dar Die gr ne Kamera sie entspricht der Anfangsposition der Hauptkamera in der Szene steht f r die Endposition des Interpolationsvorganges Damit die Kamera immer einen Gro teil der Szene einf ngt wird die Ausrichtung der Kamera nach jeder Positions nderung korrigiert Dazu wird die Property pCamorbitLookAt die per getPropertyDescriptionList bei der Zuordnung des Skriptes zum 3D Sprite definiert wurde mit nachfolgendem Befehl genutzt pOrbitCamera pointAt pCamOrbitLookAt vector 0 0 1 Listing 27 Ausrichtung der Kamera auf einen Punkt im Raum Anstatt die Kameraposition mittels trigonometrischer Funktionen manuell zu berechnen h tte man die Kamera auch als Child an ein Dummyobjekt das sich im Rotationszentrum befindet binden k nnen Dieses Dummyobjekt h tte man um die z Achse rotiert Die Kamera w rde somit durch ihre relative Bew
151. prache von Director seeseeseessesnensesnensernennornnesnnnennenennensennnnnonnenenesnonennann 35 23 Eimfuhrune Vektormathematik naene eaves det pa whale ti ea Gud Each aE EEE 38 23 1 Be STifiSAe Lt D CD secs ch be ated a aaea shou tide sera sens eat EEE th ga ate 38 23D Vektore ennnen ives ss Hirn Austern sich N O EEEE 38 2 3 3 M lrizen 22 222 escesk op ak heeds auhh E A ose Guach Sesh EA AEE AEE estas dest ueesaeeutead Garasens hae 39 2A Einf hrung n Director Dienen arte RLImiirisnbrnhe 41 2 4 1 Shockwave3D Darsteller Koordinatensystem und Orientierung euessessersessensersnesnnnennensenennen 42 2 4 2 Definition geometrischer Primitive uussessensessersesseesennnesenesnensennnnnonnennnnesnensennonnonsennnennennnonon 46 2 4 3 Oberfl cheneigenschaften Shader und Texturen eee ceeecsesceseeecsseceesecseeeecsaseeeaecesesecnesereeaeeees 47 2A A Transform tion von Objekien nr esta sahen iin nenn 48 2 4 5 Hierarchische Strukturen Parent Child Beziehungen u2200422002sesnensennensennnenennesnenennennon 48 Inhaltsverzeichnis 2 4 6 Animation der hierarchischen Anordnung 2222402422002022nensennensennnennnnennerennonnonnnennnenernnonon 49 2 4 7 Ein unverzichtbares Tool f r den berblick 3DPI ccssssssssssssessessessssesscseesesesessesssessesesseesesenes 49 3 Modellierung der Szene cies sities 342258 2 HR HERDER bie einen iad 51 3 1 Das Modellierungswerkzeu
152. ptes ps_3DInfoVisualisation erzeugt Behavior b_Cinema Funktion xmlParsing_successful wenn die XML Datei die die Informationen zu den aktuellen Kinofilmen beinhaltet erfolgreich geparst wurde siehe Abschnitt 5 7 Content bertragung per XML amp Asynchrones Scripting Damit das Objekt die Nachricht steprrame erh lt wird die Instanz der actorList siehe Listing 14 hinzugef gt Es wird automatisch an alle in der actorList enthaltenen Referenzen auf Skriptobjekte die Nachricht steprrame gesendet wenn der Abspielknopf ein Bild betritt oder die B hne aktualisiert wird Der Vorteil liegt darin das jede Skriptinstanz eine mit dem ent erFrame Handler vergleichbare Funktion besitzen kann Der Code kann damit bersichtlicher und verst ndlicher gestaltet werden potentielle Fehlerquellen werden reduziert da die Property Variablen jeder Instanz ihren eigenen G ltigkeitsbereich besitzen Nachfolgende Tabelle zeigt die Parameter die als Liste dem Konstruktor siehe Listing 14 bergeben werden Name des 3D Darstellers p3DMemberName H he der Mantelfl chen pRadius Au endurchmesser des Prismas pHeight Liste der geparsten XLM Informationen pParsedList Position des Infoobjektes im Raum pPosition Tabelle 14 Generierungsparameter des Infoobjektes p3DObj new Script ps_3DInfoVisualisation aProplist the actorList add p3DObj Listing 14 Instanzierung eines Parentskriptes 56 Modellierung der Szene Es k nnen sinnvoll Objekte von
153. r Xtras Dieses liest XML Dokumente ein und konvertiert sie je nach Dokumentstruktur in eine unterschiedlich tief gestaffelte Liste von Propertylisten 73 Ubermittlung und Darstellung dynamischer Inhalte Allerdings ist in einer endg ltigen Realisierung der Shockwave3D Pr sentation zu entscheiden ob die Informations bertragung per XML erfolgen soll da das ben tigte Xtra nicht im normalen Installationsumfang des Shockwave Plug ins enthalten ist und somit auf der Nutzerseite nachgeladen werden muss Wird die XML Datei per URL aus dem Internet geladen so erfolgt dieser Vorgang wie bei allen Downloadvorg ngen auch asynchron Das Abschicken eines Befehls und die Erledigung liegen dabei zeitlich mehr oder weniger weit auseinander Daher muss eine gestartete NetLingo Aktion zyklisch auf ihren Status ihr Ergebnis hin berpr ft werden Prinzip des asynchronen Scriptings Die berpr fung des Status kann entweder in einem exitFrame Handler oder eleganter unter Verwendung eines Parentskriptes mit eingebautem CallBack Mechanismus erfolgen siehe auch GIL00 S 399ff Eine solche Callbackfunktion wird automatisch aufgerufen wenn ein Netzvorgang beendet wurde Dieses Prinzip wurde auch f r das Laden eines XML Files genutzt Dazu wird eine Instanz des XML Parser Xtras erzeugt und dieser beim Aufruf der Funktion parseuRL als Argumente die zur parsende URL der Name der Callbackfunktion und die Instanz die die aufzurufende Funktion enth lt
154. r kann diese Textur entsprechend zugeordnet werden gridImg image 32 32 24 0 Gj e ea se ab ILL 0 0 Sik Sully ze 0 Sl 7510 5 tx_plane pMember newTexture tex1 fromImageObject gridImg shdl textureModeList 1 wrapPlanar shdl pMember newShader shaderCubeElements standard shdl texture tx_plane shdl blend 50 Listing 7 Textur und Shadergenerierung Die Zuordnung des soeben definierten Shaders zu einem Modell erfolgt nach folgender Syntax pMember model CenterSphere shader shdl Listing 8 Zuordnung eines Shaders zu einem Modell 47 Grundlagen Director und 3D Darstellung 2 4 4 Transformation von Objekten Die Transformation von Objekten realisiert Director intern mit Transformationsmatrizen die sich mit entsprechendem Aufwand auch manuell manipulieren lassen Allerdings ist das Arbeiten mit solchen Matrizen wenig intuitiv Deshalb existieren entsprechende Funktionen fiir Rotation Translation und Skalierung Innerhalb des Projektes ergab sich nicht die Notwendigkeit Transformationsmanipulationen auf der Basis von manuellen Matrizenver nderungen zu realisieren Alle Transformationen konnten mit den nachfolgend dargestellten Funktionen programmiert werden member whichCastmember node whichNode translate xIncrement yIncrement zIncrement relativeTo member whichCastmember node whichNode translate translateVector relativeTo Listing 9 Allgemeine Form der Translation member whi
155. rd so ver ndert sich die Darstellereigenschaft state w hrend des Vorgangs s Abb 2 15 Ladevorgang dar Shockwave3D Datei C ur cy a 41 Initial Loader 3 Rumpftell mi verschachteiter E Segment Geometrie und Taxturdaten JPEG S d i 2 5 15 REEL 2 ULSI ae aij mamber stata 1 member state 3 kainzugrff auf Zugriff auf Elemente in der 3D Weitper Ladevorgang Elemente in der Lingo erlaubt Geometrie und Texturen beendet alle 3D Wek por streamen sichtbare Ver nderung Daten vor Lingo handan und sichtbar Abb 2 15 Aufbau eines W3D Files BIEO2 Erst wenn der Wert von member state gr er bzw gleich 2 ist Ladevorgang des Kopfteils beendet k nnen Lingobefehle auf Szenenelemente angewendet werden Gestreamt werden kann nur der Rumpfteil Wird er geladen so wird die Szene nach und nach aufgebaut Um den Rendervorgang eines 3D Darstellers anzusto en muss eine Instanz des Darstellers im Drehbuch existieren Eine solche Instanz wird als Sprite bezeichnet Sie ist ein zeitlicher Repr sentant des Darstellers und stellt einen Blick durch eine Kamera mit einem definierten Blickwinkel auf die Szene des 3D Darstellers dar Die Erstellung eines Sprites das auf einem Shockwave3D Darsteller beruht kann wie bei jedem anderen Darstellertyp auch zur Entwurfszeit erfolgen indem man den Darsteller auf die B hne zieht und seine Position sowie die zeitliche Pr senz festlegt oder indem der Darsteller eines Sprites
156. rochen Mit der Integrierung des Internet Explorers in das Betriebssystem gelang es Microsoft die Marktanteile umzudrehen Heute besitzt der Internet Explorer mit ber 80 Marktanteil die weiteste Verbreitung aller Browsersysteme Um den mit dem Browserkrieg einhergehenden willk rlichen nicht kompatiblen Entwicklungen der Browserhersteller entgegenzuwirken wurde im Oktober 1994 das World Wide Web Consortium www05 kurz W3C gegr ndet Das W3C sieht seine Aufgabe als Standardisierungs und Koordinationsgremium f r das World Wide Web Seine Aufgabe ist es Webtechnologien zu initiieren zu entwickeln ihre Entwicklungen zu koordinieren und zu standardisieren WEIOl Aktuelle Browser sollen die von der Organisation verabschiedeten Standards so umsetzen dass jedem Internetnutzer eine einheitliche Darstellung und Funktionalit t der von ihm aufgesuchten Internetseiten gew hrleistet werden kann Einfiihrende Bestandsaufnahme Als eine der bedeutendsten Entwicklungen der letzten Jahre hat sich neben der Standardisierung von XML die Visualisierung von 3D Inhalten im Web herausgestellt Die Nutzung von 3D Inhalten im Web die daraus resultierenden Vorteile Anforderungen und Realisierungsstrategien sollen nachfolgend naher analysiert werden 1 1 2 Die dritte Dimension erobert das Internet Bis zur Einfiihrung der Plug in Technologie waren Browser nicht in der Lage 3D Objekte und komplexe Szenen die in einer Webseite eingebunden
157. rsprache von Director Mit der Entwicklung komplexer interaktiver Anwendungen ergibt sich zwangsl ufig die Notwendigkeit Steuerung und Funktionalit t von Director Filmen mit den verschiedensten Lingofunktionen anpassen und erweitern zu k nnen F r die Realisierung des Prototyps wurden Lingoelemente verschiedener Kategorien verwendet e NetLingo Abfrage des Netz und Downloadstatus Download verkn pfter Medien und Initfiles e ImagingLingo Generierung dynamischer Texturen zur visuellen Vermittlung ver nderlicher Informationen Textur des Sternenhimmels e 3D Lingo Erstellung von Szeneelementen Navigationssteuerung Interaktionskontrolle e Kontroll und Navigationsbefehle typische Lingobefehle und Kontrollstrukturen f r die Film und Ablaufsteuerung e Objektorientierte Lingoprogrammierung Verwendung von Parentskripten zur Erzeugung von Instanzen mit dem Ziel der Funktionskapselung und der Wiederverwendbarkeit genutzt f r FPS Counter Downloadsteuerung Loaderobjekt und Kinoinformationsobjekt Grundlage f r das Verhalten eines Filmes sind so genannte Nachrichten Dabei unterscheidet man zwischen Nachrichten die vom Betriebssystem generiert werden mouseDown und solchen die der Kernel von Director selbst erzeugt enterFrame Alle Nachrichten k nnen ber ihren eindeutigen Namen identifiziert und in entsprechenden Skripts unter Nutzung von EventHandlern abgefangen und interpretiert werden Die unterschiedlichsten Objekt
158. rzeichnis Literaturverzeichnis BIEO2 GIL00 GOT02 GROOO IMM99 JURO2 KLOO0 KOEO00 LAMO2 NAUO1 p ea re RUKO1 STROO WEIO1 Biedorf Thomas et al 3D Programmierung mit Director Bonn Galileo Press GmbH 2002 Gillmaier Gerd Gola Joachim Director8 Workshop M nchen Addison Wesley Verlag 2000 G tz Frank 3D Grafik im Web Exemplarische Analyse aktueller Technologien Diplomarbeit Paderborn Universit t Gesamthochschule Paderborn 2002 Gross Phil Gross Mikel Macromedia Director8 5 ShockwaveStudio f r 3D Das offizielle Trainingshandbuch M nchen Markt Technik Verlag 2002 Immler Christian Das gro e Buch 3D Studio Max D sseldorf DATA Becker GmbH amp Co KG 1999 Jurk Andrea Ergonomische Gestaltung und prototypische Umsetzung einer kindgerechten Lernsoftware f r den Geografieunterricht Diplomarbeit Dresden Hochschule f r Technik und Wirtschaft Dresden FH 2002 Kloss Martin Lingo objektorientiert Bonn Galileo Press GmbH 2000 Koenigsmarck von Arndt 3D Design Z rich Midas Verlag AG 2000 Lamprecht Frank 3D f r das Web M nchen Addison Wesley Verlag 2002 Naumann Sven Charakteranimation in Shockwave3D Evaluation und Entwurf eines Produktionsprozesses Diplomarbeit Dresden Hochschule f r Technik und Wirtschaft Dresden 2001 Rukzio Enrico Formate Technologien und Architekturkonzepte f r 3D Web Applikationen Belegarbeit Dresden Technisc
159. s XML Datenformat Der Player selbst ist modular aufgebaut und l dt bei Bedarf fehlende Komponenten automatisch nach Ein interessantes Feature ist die so genannte Hyperview Technologie Sie erm glicht Animationen ber Fenstergrenzen hinweg So bewegt sich zum Beispiel wie in Bild links zu sehen ist ein Fahrzeug ber den gesamten Bildschirm Der Media Player ist recht weit verbreitet Er wurde bisher weltweit ca 25 Millionen mal davon 8 Millionen mal in Deutschland installiert Unter den Firmen die sich der VE Technology bedienen sind solch renommierte Firmen vertreten wie z B BMW die Deutsche Telekom oder AOL Letztgenannte Firma vertreibt das Plug in seit der AOL Zugangssoftware 7 0 Tabelle 2 Zusammenfassung Viewpoint Experience Technology 21 1 3 2 2 Pulse3D Hersteller URL Plattformen Installationsdateigr e Zusammenfassung Abb 1 12 Quelle www40 Einf hrende Bestandsaufnahme Pulse gegr ndet 1994 USA http www pulse3d com MS Windows MacOS PocketPC ca 0 4 MB Die St rken von Pulse3D liegen in der Unterst tzung von Charakteranimationen und Sprachsynchronisationen in einer guten Darstellungsqualit t und der M glichkeit Inhalte streamen zu k nnen Das Plug in nutzt f r die Wiedergabe entweder den Softwarerenderer oder setzt auf vorhandene Hardwareunterst tzungen DirectX OpenGL auf Die Software unterst tzt Antialiasing und kann eng mit dem Realplayer und QuickTime integriert werden S
160. satzgebiete ergibt sich wenn statt auf Timer auf Kollisionsereignisse reagiert werden muss Hier kann die Trennung zwischen objektgebundenen und globalen darstellergebundenen Callbackmechanismen sinnvoll und notwendig sein siehe Abschnitt 4 2 Machbarkeitsanalyse Kollisionserkennungsprinzip 4 3 3 Die Kamerafahrt Zu Beginn der Szene soll die Kamera einen 360 Umlauf mit einer erh hten Perspektive ber dem Geb udekomplex durchf hren Dabei soll die Blickrichtung der Kamera stets auf das Zentrum der Szene gerichtet sein Diese Kamerafahrt baut dabei nicht auf einer importierten Animation auf sondern wird komplett per Lingo realisiert Notwendig f r die Initialisierung der Animation sind die Kamera orbit als Startposition die Endposition der Kamera Kamera01 und ein Repr sentant f r das Rotationszentrum das Modell sky Darauf aufbauend wird der Startwinkel der Kamera auf der Kreisbahn sowie deren Radius und Offset zum Koordinatenursprung berechnet Zur Vereinfachung wurde davon ausgegangen dass die Kreisbahn in der xy Ebene liegt Listing 47 Initialisierung f r kreisf rmige Kamerafahrt Die Animation der Kamera erfolgt in der CallBack Funktion animatecamera Listing 48 Transformation der Orbitkamera auf Kreisbahn welche zyklisch durch einen Timer aufgerufen wird siehe auch vorhergehender Abschnitt Die Kamerafahrt unterteilt sich in zwei verschiedene Abschnitte die Kreisf rmige Translation der Kamera und die lineare Inter
161. sesnennennnennnenenen sonen 25 Tabelle 9 bersicht zu Java 3D ums ae ass sole 26 Tabelle 10 bersicht zum Cortona VRML Viewer uunssensssnsensesseensnsseensnsnnennsnenennennnnsnnensnnnenensenanennnn 27 Tabelle 11 Zusammenfassung der Web3D Technologie Blaxxun Contact cessesnensesnerserneesernnennnnennenen nennen 27 Tabelle 12 M gliche Nachrichten f r Primary Event Handler ursusssrsessesnensesnersesnensonnneneenenennnenennn 36 Tabelle 13 Komponenten eines 3D Darstellers und ihre Funktionen 222022222002sesnensennennennnennnennenn nennen 43 Tabelle 14 Generierungsparameter des Infoobjektes cc eeesesssesecseeeeceseeecesecaeesecneesecseesecsaseneaecaeesesnesseenaeeeseas 56 Tabelle 15 Auflistung der zu realisierenden Funktionalit ten bez glich der Kamerasteuerung n 62 Tabelle 16 bersicht der Standardmodifikatoren c ccccccsssssssesssscssesseseseesssccsessssscsesneescsesnesccseanesccseaneaceneaneasess 63 Tabelle 17 Eigenschaften des Collision Modifiers und deren Bedeutung 40222200200sseseennesennnennenee nennen 64 Tabelle 18 Notwendige Eigenschaftsvariablen f r die Kamerasteuerung 2222402222sensensnsennnennnnennense nennen 66 Tabelle 19 Anzahl der Scheitelpunkte bei unterschiedlichen Schriftfonts u2s0200200sseeseennesnnnenneneennenenn 76 Tabelle 20 Ben tigte Parameter f r die Texturerstellung u u22202002s02s0ssesennes
162. ssprache z B von XML fest Unmittelbares Reagieren auf Nutzerinteraktionen und Eingaben Verz gerungszeit zwischen dem externen Ereignis und der Reaktion des Programms Systems ist dabei m glichst gering Element von Director Behandlung bestimmter Ereignisse z B Benutzereingaben mit Hilfe der directoreigenen Programmiersprache Lingo siehe Ereignisskript Bereich der die Lichtabnahme eines Spotlichtkegels definiert Informationsmenge mit der die Farbe eines Bildpunktes beschrieben wird Element von Director Skript dessen Lingo Programmcode Prozeduren global f r alle anderen Skripte bereitstellt und das Verhalten des Filmes steuert spezielle Erweiterungskarte f r die Ansteuerung des Monitord und die Darstellung von Grafikfunktionen Alle harten Bestandteile des Computers und seiner Peripherie d h alle Ger te und Ger teteile vom Prozessor ber Speicher und Datentr ger usw Neben normalem Text existieren in einem Hypertextdokument Querverweise Hyperlinks zu andern Dokumenten oder Textstellen Teil der Director Lingo Programmierung Befehlssammlung zur Bildmanipulation auf Pixelebene Bildsequenzen werden erst zum Zeitpunkt des Abspielens in Abh ngigkeit von Nutzerinteraktionen in Echtzeit erzeugt Beschreibt dialogorientierten Informationsaustausch zwischen Anwender und Computer Weltweit gr tes Computernetzwerk das aus miteinander verbundenen Netzwerken besteht Programmiersprache von Macromdia Director Entwickl
163. t 2 scale vector 0 5000 0 5000 1 0000 theShader textureTransformList 2 position vector 0 2400 0 2500 0 0000 theShader textureRepeatList 2 FALSE Listing 37 Skalierung ohne Wiederholungen und Neupositionierung einer Textur Download zu 30 0 abgeschlossen 480 0 kB von 1600 kB geladen Datei Kegel jpg Abb 5 5 Verbesserte Darstellungsqualit t durch Skalierung der Textur Variante 2 Die bestm gliche erreichbare Qualit t der Textdarstellung s Abb 5 6 war mit gr erem Aufwand hinsichtlich Programmierumfang und l ngeren Ausf hrungszeiten der genutzten Algorithmen verbunden Das Testsystem ben tigte f r die Erstellung einer neuen Textur mehr als 200ms die automatische Drehung des Modells stockte deshalb sichtbar Download zu 34 0 abgeschlossen 544 0 kB von 1600 kB geladen Datei Kegel jpg Abb 5 6 Bestm gliche erreichbare Darstellungsqualit t realisiert mit Imaging Lingo Der Funktion zur Erstellung einer Textur wird eine Reihe von Parametern als Property Liste bergeben Property Name Verwendung p3DMembe rName Name des 3D Darstellers pWidth Breite der zu generierende Texturbitmap pHeight Hohe der zu generierende Texturbitmap pBitmapName Darstellername der Bitmap pSourceName Name des Textdarsteller welcher die zu visualisierende Information beinhaltet Tabelle 20 Ben tigte Parameter fiir die Texturerstellung 80 Ubermittlung und Darstellung dynamischer Inhalte Der komplette Quellcode fiir
164. t und zwar der der dem Zeichen entspricht als Textur zugeordnet Dazu ist eine Anpassung der Texturkoordinaten der einzelnen Ebenen notwendig F r die Anzeige der Bildwiederholrate werden somit insgesamt nur 14 Modellressourcen dargestellt als regul rer Ausdruck 0 9 0 9 FPS mit entsprechend vielen Texturressourcen ben tigt Abb 5 9 Ausschnitt der Bitmap f r die Texturen Damit nur ein Teil der gesamten Bitmap s Abb 5 9 als Textur verwendet werden kann wird bei der Instanzierung eine Liste initialisiert die den Zeichenumfang und die zeichenspezifischen Texturkoordinaten definiert Die Modellressourcen basieren auf einem Ebenen Primitiv dessen Geometrie nach Anwendung des meshDeform Modifiers manipuliert werden kann notwendig f r die Anpassung der Texturkoordinaten Ihre Breite und H he wird durch das darzustellende Zeichen bestimmt Deren Gr e wird innerhalb einer Rect Variable festgelegt ceharaceterDefinitionkist M ACHAR I FARHCD Rect l SO 69 200 i ACHAR 0 ARECT Rect 180 0 196 20 ACHAR 1 ARECT Rect 197 0 210 20 J ACHAR 2 ARECT Rect 210 Oy 226 20 Fk lo y Listing 38 Auszug aus der Definition der darzustellenden Zeichen Die Koordinaten der einzelnen Zeichen die hier bitmapspezifisch sind werden ben tigt um die Texturkoordinaten einer jeden Ebenen Modellressource anzupassen Texturkoordinaten bestimmen wie eine Textur tiber ein Gitternetz gelegt wird Bei M
165. teigr e Interaktionen m glich Fl chen von Objekten werden Farbwerte zur Simulation von Oberfl cheneigenschaften zugewiesen Dateiformat von Director und Flash mit dem multimediale Inhalte im Web pr sentiert werden k nnen ben tigt jeweils das entsprechende Plug in auf der Zielplattform Instanz eines Darstellers auf der B hne Sprites werden im Drehbuch in Spritekan len organisiert diese definieren die Tiefenanordnung der Sprites 123 Startup Latenz Streaming Szene Szenegraph Textur Texture Mapping Tool Transparenz Transformation Unicode Usability UTF Vektor Vertex Vertices Virtuell Virtual Reality Web3D WorldWideWeb WWW Xtras Zoomen Glossar Zeitraum der vergeht bis erste Interaktionen m glich sind nachdem die Web3D Szene angefordert wurde Dateien die noch nicht vollst ndig geladen wurden k nnen bereits soweit sie geladen sind genutzt werden Audio Video 3D Streaming auch 3D Szene 3D Welt Bezeichnung f r einen dreidimensionalen Raum in dem 3D Objekte existieren Hierarchische baum hnliche Struktur zur Verwaltung von Objekten einer Szene 2D Grafik die den Oberfl chen von 3D Objekten zugewiesen wird Vorgang des Zuweisens einer 2D Grafik zu einer Fl che unter Beachtung der korrekten perspektivischen und ggf geometrischen Verzerrung Engl f r Dienst oder Hilfsprogramm Anwendung Werkzeug Durchsichtigkeit Teile eine Bitmap einer Textur k nnen In
166. tellenden Kontext automatisch seinen Inhalt Das hei t mit ihm k nnen Sprite Film und darstellerspezifische Eigenschaften angezeigt und ge ndert werden Eigenschafteninspektor E u Sprile 4 Shockwevs ID me Dummy Tem HA Jatene EO El Spre vera E ON B fs E Ab E Kapieren 1100 255 A c X Jos 32 24 nf 138 Il 361 5 mn zr nm k 6 r 200 0 7 u RA Alles wiece herstelen kaleen bd Abb 2 5 Director Arbeitsbereich der Eigenschaftsinspektor 33 Grundlagen Director und 3D Darstellung 2 1 5 Das Skriptfenster Director besitzt mit Lingo eine eigene sehr umfangreiche Skriptsprache Mit dieser Programmiersprache ist es m glich fast alle Eigenschaften von Sprites und Darstellern zu ndern Interaktivit t zu integrieren und somit auch die Navigation innerhalb eines Filmes zu erm glichen Komplexe Projekte lassen sich nur mit intensiver Nutzung von Lingo realisieren Allein f r die 3D Darstellung die den Schwerpunkt innerhalb der praktischen Realisierung darstellt stehen mehr als 300 neue Lingobefehle zur Verf gung mit deren Verwendung die volle Kontrolle ber eine 3D Szene m glich ist Im Skriptfenster Abb 2 6 werden Quellcodes eingegeben auf korrekte Syntax hin gepr ft und f r die Fehlersuche eventuell ben tige Haltepunkte gesetzt Ei verhaltensskript 7 Automatische lolx E Automatise 6 E inteme a actPropertyDescripti fa aE L
167. tems end if Listing 59 Abfrage auf Antialiasingsupport zugeh rige Erl uterungen hier on setAntiAliasing aStatus if pAASupported AND pAllowAA then if pSprite antiAliasingSupported TRUE then if pSprite antiAliasingEnabled lt gt aStatus then pSprite antiAliasingEnabled aStatus Listing 60 Aktivieren bzw Deaktivieren des Antialiasings 109 Abbildungsverzeichnis Abbildungsverzeichnis Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb 0 7 1 3D Ansichten des Entertainmentkomplexes cecessssesscseeeeceseeeceseceeesecseesecnaesecsasecesecaeeaeenesenenaeeess 5 0 7 2 2D Navigationsplan Diashow ccssssesscsseseceseeecesecseesecseesecsaccessecaesecseesecnasecsaseeesaecaeeaeenesseeeaeeess 6 1 1 Relative Verteilung der Internet Nutzertypen WWW18 ccseccesseeceeceeeeceeeecseeeecsaecaeesecseeseeneeeeeaees 10 1 2 Bedienungsanleitung einer Kamera www24 u nessessensesnersesnonsennnesonnnennennsonsennnnnonnnenennnsnonennanne 13 1 3 Interaktive 3D Darstellung eines Sch dels www25 2222004200220nsensennsennennnennnennnnnnnnn nennen 14 1 4 Darstellung der ISS Raumstation www26 cc cccscessceeseeeeceeeeseceseceeecaeecaeeeneeeneeseeseenseeneeeeaeenaeeaeeate 14 1 5 Beispiel eines 3D Chatsystems WWW31
168. ter physikalischen Gesetzm igkeiten Das Havok Xtra Konzept zur physikalischen Simulation ist eines der spannendsten und anspruchvollsten Themen die im Zusammenhang mit Director und 3D auf eine diplomw rdige Aufgabenstellung warten 97 Anhang Listings Abbildungsverzeichnis Tabellenverzeichnis Abkiirzungsverzeichnis Literaturverzeichnis Verzeichnis der Internet Links Glossar Selbst ndigkeitserkl rung Anhang 98 Listings zugeh rige Erl uterungen hier VRML V2 0 utf8 Der Kommentar der ersten Zeile ist zwingend vorgeschrieben Einfaches Hello World Programm das einen String und ein 3D VRML Modell darstellt animiert und einen Link ins World Wide Web darauf legt Background SKYE oflkorcas Om Out Anchor children DEF SCHRIFT Transformi children iipilatieyes url Stus wr Shape geometry Text string Hello World description Hello World url http www csv ica uni stuttgart de vrml vrml_csv html DEF ROTOTATOR OrientationInterpolator keya 105 Oss ab ke waue O a OO Ol S44 dt Ge 28 DEF TIMER TimeSensor cycleInterval 10 loop TRUE ROUTE TIMER Fraction changed TO ROTOTATOR set_fraction ROUTE ROTOTATOR value_changed TO SCHRIFT set_rotation Listing 41 Aufbau einer einfachen VRML Szene aus www56 Listings 99 zugeh rige Erl uterungen hier lt xml version 1 0 encoding UTF 8 gt lt X3D gt lt Scene gt lt Transform Parameter gt lt Shape
169. teuerung der Kamera immer dann auf wenn die Szene zu komplex oder verschiedenste Teilaspekte der Szenensteuerung noch nicht optimiert waren Das gesamte Projekt war davon gekennzeichnet eine Balance zwischen der Darstellungsqualit t und dem Reaktionsverhalten auf Nutzerinteraktionen zu finden F r die Darstellungsgeschwindigkeit ist neben der Leistungsf higkeit der CPU auch die Grafikkarte entscheidend Director bietet vier verschiedene 3D Render Engines directx7_0 directX5_2 openGL software Drei davon greifen auf hardwareimplementierte Funktionen von Grafikkarten zur ck Leider gibt es eine Reihe von weit verbreiteten 3D Grafikkarten deren Hardwareunterst tzung von Director nicht fehlerfrei verwendet werden kann eine entsprechende Liste bietet Macromedia unter www54 an Bei diesen Grafikkarten muss auf ein hardwareunterst tztes Rendering verzichtet werden Stattdessen sollte der langsamere Softwarerenderer verwendet werden Um den Einfluss der verschiedenen Rendermodi unterschiedlicher Geometriekomplexit ten und verschiedener Hardwareausstattung analysieren zu k nnen wurden diverse Tests entworfen Als Hardwareplattform dienten 3 verschiedene PCs mit Windows 2000 als Betriebssystem System 1 System 2 System 3 AMD Duron 700 MHz AMD Athlon 600 Intel PITT M 800 MHz ATI Radeon 7500 3Dfx Vodoo 3 3000 ATI Rage128 mobility Tabelle 21 Relevante Hardwareausstattung der 3 Testsysteme Verwendet wurde eine Testszene mit folgend
170. th Shading Algorithmus respektive Gouraud Shading Intensity Interpolation Shading Color Interpolation Shading oder auch Vertex Lighting Abb 6 4 Gouraud Shading am Beispiel des geboolten Objektes Bei diesem Algorithmus werden die Scheitelpunktnormalen basierend auf den Fl chennormalen der angrenzenden Polygone gemittelt im Beispiel des Referenzobjektes entsprechen auch die gemittelten Scheitelpunktnormalen dem Vektor 0 1 0 da alle Fl chennormalen konstant sind Aus der Richtung des einfallenden Lichts und den ermittelten Scheitelpunktnormalen kann der Lichteinfallswinkel berechnet werden Davon abh ngig ist dann der Einfluss der Lichtquelle auf die Scheitelpunktfarbe Nur f r die Scheitelpunkte in Abb 6 4 also f r Punkte P P P bzw P P P usw werden die Farbwerte unter Ber cksichtigung der Lichtquellen berechnet Die Farbwerte der Punkte die auf einer Kante zwischen zwei Scheitelpunkten z B P P liegen werden basierend auf den Scheitelpunktfarbwerten interpoliert 86 Darstellungsqualit t und Performance Sind alle Punkte repr sentiert durch P und P auf den Kanten berechnet worden wird das Innere der Polygone P durch scanline orientierte Interpolation bestimmt s Abb 6 5 Abb 6 5 Prinzip der Kanten und Fl cheninterpolation Um das Problem der Kantenbildung zu minimieren gibt es eigentlich nur zwei M glichkeiten Entweder die Fl che wird gleichm ig beleuchtet nicht sinnvoll realisierbar
171. tion des Wandelhofes sollte die M glichkeit analysiert werden dem Besucher der Seite einen Mehrwert dahingehend anzubieten dass er online den virtuellen Freizeitkomplex begehen und gew nschte Informationen holen kann Abb 0 7 1 3D Ansichten des Entertainmentkomplexes Einleitung Neben der Visualisierung der Au enansicht und der Inneneinrichtung war es geplant Informationen zum aktuellen Kino und Diskoprogramm sowie zu Veranstaltungen anzubieten Diese dynamischen Informationen sollten so in die Anwendung integriert werden dass sie jederzeit ge ndert werden k nnen ohne den Shockwavefilm anpassen zu m ssen Der Freizeit und Entertainmentkomplex Wandelhof repr sentiert eine gewachsene Struktur von mehreren Geb uden deren gemeinsames Merkmal ihre v llig unterschiedliche architektonische Gestaltung ist Es handelt sich also nicht um einen der heute typischen durchgestylten am Rei brett entworfenen Spa tempel Der Komplex bietet eine Gro raumdiskothek ein Tanzcaf einen gro en und drei kleine Kinos le eine Weinbar eine Kellerbar mit einer kleineren Disko eine Bowlingbahn und M glichkeiten f r Billard und Dart Da die Modellierung der gesamten R umlichkeiten den Rahmen der Diplomarbeit sprengen w rde und der Focus der Arbeit auch nicht auf einer vollst ndigen Replikation des Originals lag wurden nur einige Teile des Komplexes Au enansicht Kinogang gro er Kinosaal erstellt die dann die Basis f r die tech
172. trum CERN wwwOl in Genf aus einem Projekt zur ortsunabh ngigen Darstellung von wissenschaftlichen Daten auf vernetzten Computern Im gleichen Jahr war der erste Web Server unter info cern ch erreichbar Der erste benutzbare im Textmodus arbeitende Browser wurde 1991 ver ffentlicht Ein Jahr sp ter existierten bereits die ersten Browser Erwise und Viola die eine grafische Oberfl che verwendeten Zum Durchbruch des Web 1993 verhalf die Einf hrung des Web Browsers Mosaic der von Marc Andreessen und Eric Bina am NCSA www02 der University of Illinois entwickelt wurde Mit der Freigabe der WWW Technologie im selben Jahr seitens des CERN konnte diese Technik ohne irgendwelche Patentrechte oder Copyrightgeb hren frei verwendet werden HTML die Seitenbeschreibungssprache des Webs wurde als Anwendung von SGML Standard Generalized Markup Language normiert Marc Andreesen einer der Entwickler des Mosaic Browsers gr ndete 1994 die Firma Netscape www03 Der von der Firma weiter entwickelte Mosaic Browser der sich als Netscape Navigator bzw sp ter als Netscape Communicator etablierte erreichte schnell einen Quasi Status Mit diesem Browser f hrte Netscape weitere Funktionalit ten wie farbige Schriften und Hintergr nde Tabellen Framesets und die Plug in Technologie ein Die fast Monopolstellung die der Netscape Browser 1996 mit einem Marktanteil von ca 90 inne hatte wurde 1997 von Microsoft www04 mit dem Internet Explorer 4 durchb
173. tsche Trialversion des Autorenwerkzeuges zum Download auf der Webseite von Macromedia angeboten wurde kann ein Eindruck von den neuen Features mit der englischsprachigen Testversion gewonnen werden Warshelval_ssnccere 812 Director ME De Lit Yen juet Hedfy Control dran Anden ki RER I AUBE at mi BF ne COMO ZSAS BOO Property Immer Sculpt Bahervies Scvigt Gb ComeaCentied Debugger Risak a REIT O za BO gt X ogzi OF a Be FIGHT gt Caneel 4 Eilon controllawers e GE 11 zot the extilidown then 2 zouzabpl E end it m respond only if the intro camera animation is coapl me if not pCemsninFleg AND p rollst thea F teste ewer Fa IDiftrelz e the sousel p prite lool Local Prapemy Gatai ot IDiffrel the acuseY poprite loc x 42 St sree if abs lDifirel_H AND obe 1Diffrel_ ther mache nn m Steuerung der Rotation der Kasera um ihre lokal Ctz if nat the cantrolDewn than nur veza at abe lDiifrel E hen Dii frel N then 1Dstirel_N IDittrel ttrela lt then IDiffrel E imuttr at L tangle phaxRotangle IDittrel cetantidliosing FALSE Rotation um die Z Achse Geltkoordinatensy Canero rotateipCarero wor ldPosi tian vootor pOldTinelicuseChanged the ail liseconds ihre Steuerung der Rotation der Zanere w if the comtrolfown then it abs IDittre
174. ttels appletbasierter Viewer ist zwar die Installation eines Plug ins nicht n tig daf r m ssen jedoch die Java Class Dateien welche f r die 3D Funktionalit ten ben tigt werden jedes Mal mit geladen werden wenn diese nicht mehr im Browser Cache vorhanden sind Insgesamt lassen sich im E Commerce zwei grundlegende Darstellungskonzepte unterscheiden e Es wird ein dreidimensionales virtuelles Einkaufszentrum eine Shopping Mall repr sentiert in der sich der Nutzer bewegen kann Dieser virtuelle Komplex dient als Rahmen f r die eigentlichen Produktpr sentationen Mit diesem Konzept verbunden ist eine m glichst gro e Fensterdarstellung der Webapplikation und erh hter Aufwand f r die Textdarstellung innerhalb der Szene f r Navigation und Information siehe auch Abschnitt 5 2 Dynamische Visualisierung textbasierter Inhalte Au erdem ergibt sich ein weiterer Implementierungsaufwand f r Kamerasteuerung Kollisionserkennung zus tzliche Interaktionsm glichkeiten und ggf f r die pers nliche Identifizierung des Nutzers mit einem angebotenen Avatar 3D Figur als Repr sentant eines Gespr chsteilnehmers Spielers e Im Gegensatz dazu erfolgt bei einer Produktpr sentation die Visualisierung eines einzelnen Objektes ohne den entsprechenden u eren Rahmen Hier ist eine m glichst gro e Detailgenauigkeit von Bedeutung Dem Nutzer werden Standardinteraktionsm glichkeiten f r Objektdrehung und Kamerazoom angeboten Sollen Funktions und D
175. ty der Kamerasteuerung wie in Abschnitt 4 7 Anforderungen beschrieben gew hrleistet werden kann sind eine Reihe von Bedingungen abzufragen Die Funktion controlcamera wird im Normalfall vom Timer alle 50 ms aufgerufen Die theoretische Anzahl von knapp 20 Funktionsaufrufen wurde bei komplexen Szenen bei eingeschaltetem Antialiasing oder im Software Rendermodus deutlich unterschritten so dass ein akzeptables Reaktionsverhalten auf Benutzerinteraktionen nicht mehr gegeben war F r die Umsetzung der Kamerasteuerung wurde die B hne in drei Bereiche aufgeteilt die bestimmen wie auf die Mausposition reagiert wird Nachfolgende Grafik s Abb 4 2 soll die Funktion der Bereiche verdeutlichen Abb 4 2 Funktionsschema maussensitiver Bereiche Das gr ne Rechteck symbolisiert das 3D Sprite mit seiner Position H he und Breite auf der B hne roter u erer Bereich entspricht der B hne Der Registrierungspunkt eines 3D Sprites ist dabei sein Mittelpunkt Im inneren roten Bereich erfolgt ebenso wie au erhalb des 3D Sprites keine Aktion auf ein Mausevent Dies wird ber folgenden Funktionsausschnitt gew hrleistet lDiffrel_H 2 0 the mouseH pSprite locH pSprite width lDiffrel_V 2 0 the mouseV pSprite locV pSprite height Xf abs IDIffrel A I lt 1 AND aba IiDiffrel V lt 1 then aise ASN onead k S gt Oa eaa Listing 30 Definition aktiver Bereiche Damit die Kamera auch bei Treppen und Rampen eine konstante H
176. ufhellen und entgegen der Realit t auch abdunkeln Kameras Kameras sind der Blick in die 3D Welt Sie zeigen einen Ausschnitt aus der gesamten Szene Zusammen mit der Beleuchtung bestimmen sie was wie wahrgenommen wird Shader Shader definieren das Aussehen der Modelloberfl che Farbe Glanzlichter etc Die Darstellungseigenschaften eines Shaders werden durch Renderstyle fill wire point und Shadertyp standard painter engraver newsprint bestimmt m shader shaderName textureList Index Torten Texturen bestimmen im Zusammenspiel mit Shadern das Aussehen von Modellen Sie basieren auf Bildobjekten und k nnen innerhalb eines Shaders kombiniert werden Gruppen dienen der hierarchischen Zusammenfassung von mehreren Elementen Folgende Knotenelemente k nnen zusammengefasst werden Modelle Kameras Lichter oder andere Gruppen n group groupName child Index Modifikatoren erweitern die Funktionalit t in einer 3D Szene Sie erm glichen Knochen und Schl sselbildanimationen Kollisionserkennung Geometrie und Detailver nderungen sowie alternative Rendermodi inker toon im zeitungs oder comic hnlichen Stil 0 model modelName keyframePlayer playList Animationen erm glichen Ver nderungen eines Modells ber die Zeit Schl ssel bildanimationen erzeugen Positions Ausrichtungs und Skalierungsver nderungen Knochenanimationen dienen der komplexen Bewegung verkn pfter 3D Objekte mit Hilfe eines h
177. ummykugel die gleiche Position und Ausrichtung innerhalb der Szene haben Einen entscheidenden Einfluss auf das Kollisionsverhalten hat die Definition welches Objekt Parent und welches Objekt Child ist Wenn die Kamera als Parent fungiert und ihre Transformation direkt per Lingo ver ndert wird funktioniert dies nur so lange richtig bis eine Kollision auftritt Der Kollisionmodifier erkennt eine Kollision zwischen Dummykugel und einem anderen Objekt und korrigiert die Transformation der Kugel Die Transformation der Kamera bleibt jedoch unver ndert Kamera und Dummykugel divergieren Deshalb muss die Kugel gesteuert und die Kamera als Child der Kugel definiert werden 64 Die Kamerasteuerung 4 2 4 Auswirkungen der Modi des Collision Modifiers Entscheidend f r den Ausl semoment der Kollisionserkennung ist die Festlegung des Parameters collision mode Der einfachste Modus ist dabei sphere Hier wird eine Kugel als Kollisionsobjekt verwendet deren Radius automatisch so gew hlt wird dass das Modell komplett eingeh llt ist Bei einem Quader z B einer Mauer entstehen so unterschiedlichste Abst nde zwischen Kamera und Objekt wenn ein Kollisionsevent auftritt Die Verwendung des Attributes box l st zwar dieses Problem aber beiden Modi ist gemeinsam dass sie eine Boundingsphere bzw Boundingbox tiber das gesamte Modell legen Da eine Gruppierung von geometrischen Elementen die in einem externen 3D Werkzeug definiert wurden als eine Mo
178. ung Tabelle 15 Auflistung der zu realisierenden Funktionalit ten bez glich der Kamerasteuerung 62 Die Kamerasteuerung 4 2 Machbarkeitsanalyse eines Kollisionserkennungsprinzips F r die Kollisionserkennung gibt es theoretisch mindestens zwei verschiedene L sungsans tze Der erste Ansatz wird als Technologiestudie nachfolgend beschrieben Die letztendliche Realisation wird dann im Abschnitt 4 3 Endg ltige Realisierung der Kamerasteuerung dargelegt 4 2 1 Einf hrung in das Modifierkonzept Die erste Variante der Kollisionserkennung bedient sich der Funktionalit t des Collisionmodifiers Modifier auch Modifikatoren genannt sind in C programmierte Xtras Mittels dieser Xtra Technologie besteht f r Drittanbieter die M glichkeit die 3D Funktionalit t von Director zu erweitern indem sie spezifische Modifikatoren entwickeln Macromedia hat die bereits mitgelieferten Modifikatoren in dem Xtra Shockwave3D Asset gekapselt Modifikatoren hneln Verhalten das hei t sie k nnen auf Modelle eines 3D Members angewendet werden Nachfolgende bersicht Tabelle 16 zeigt die Modifikatoren die im Umfang von Director enthalten sind Modifikatortyp Funktionalit t collision e erkennt und behebt Kollisionen von Modellen bonesPlayer e verwaltet Animationen von Teilen des Modells die als Knochen bezeichnet werden keyFramePlayer e verwaltet keyframebasierte Animationen des gesamten Modells tod e entfernt Details dynamisch aus
179. ungen die eine dreidimensionale Visualisierung von H usern Landschaften sogar ganzen Stadtteilen erm glichen Man kann die H user begehen deren R ume und Inneneinrichtung gestalten und somit einen realit tsnahen Bezug zur zuk nftigen Entwicklung kn pfen Bisher waren diese dreidimensionalen Darstellungen an leistungsf hige Workstations u a Silicon Graphics gebunden und verstanden sich als Offlinemedium Mit Verbesserung der Grundlagen f r eine fl ssige Darstellung von 3D Objekten ergeben sich jedoch die Voraussetzungen f r eine Pr sentation von Architekturentw rfen und Projekten im Web Somit kann ein breiteres Publikum erreicht werden ffentliche aber auch private Bebauungspl ne k nnen im Vorfeld besser diskutiert und abgesch tzt werden s Abb 1 7 2 Abb 1 7 Beispiel eines 3D Entwurfes fiir ein Bebauungsprojekt www20 16 Einfiihrende Bestandsaufnahme 1 2 5 Forschung Simulation Der Einsatz von Web3D Technologien in der Forschung ist in verschiedenen Bereichen denkbar So k nnen dreidimensionale Visualisierungen ggf in Explosionsdarstellung dazu genutzt werden das Verst ndnis und die Zusammenarbeit lokal verteilter wissenschaftlicher Mitarbeiter zu unterst tzen Das Einsatzgebiet ist jedoch nicht auf die alleinige Nutzung in der Forschung beschr nkt vielmehr bietet sich dieses Konzept auch in der Entwicklung neuer Produkte oder im Ersatzteilwesen an Ein Anbieter der sich auf webbasierte 3D Koll
180. ungsfirma verschiedener Grafik Web und Multimedia Entwicklungswerkzeuge Director Flash Freehand Dreamweaver Authoring Werkzeug der Firma Macromedia Es wird eine Farbe ein Farb oder ein Bildbereich vor Ver nderungen gesch tzt oder speziell f r die Bearbeitung ausgew hlt Andere Bezeichnung f r Textur Andere Bezeichnung f r Texture Mapping Geometrisches Objekt im Shockwave3D Raum Beschreibt die geometrischen Eigenschaften sowie die Obenfl cheneigenschaften eines Modells 3D Studio Max Modifikatoren bieten verschiedene Funktionen zur ObjektmanipulationDirector3D Funktionen zur Erweiterung oder Manipulation von Objekteigenschaften Animationen Geometriever nderungen u a 122 Mouseover Multimedia Opazit t OpenGL Parameter Parser PlayList PlugIn Polygon Preloader Property Prototyp Rendering QuickTime QuickTime VR Shading Shockwave Sprite Spritekanal Glossar bezeichnet Vorgang bei dem die Maus ber sensitive Bereiche Buttons Links o bewegt wird und dabei dieses Ereignis ausl st Bezeichnung f r die Aufzeichnung Wiedergabe und Integration verschiedener Medien wie Video Animation oder Audio Ma f r die Undurchsichtigkeit einer Fl che mit Werten von 0 v llig transparent und 1 total undurchsichtig wird auch als Alpha bezeichnet Abk rzung f r Open Graphics Library 3D Software Schnittstelle 3D API die ab Windows NT fester Bestandteil von Win
181. urde in den Kapiteln zuvor beschrieben Verzichtet wurde aus Priorit tsgr nden auf eine eingehende schriftliche Darstellung von Knochenanimationen die in dem Projekt keine Rolle spielten auf Keyframeanimationen die u a f r die Animation der T ren verwendet wurden und auf die Beschreibung von Emitterprimitiven die ebenfalls keine Verwendung fanden Au erdem fehlen in der Ausarbeitung Ausf hrungen hinsichtlich verschiedener nicht verwendeter Standardmodifier Inker Toon LevelOfDetail Modifier Um die prototypische Entwicklung in eine reale Nutzung berf hren zu k nnen sind neben der weiteren inhaltlichen Ausstattung der Szenerie zus tzliche Arbeiten bez glich der Fehlerrobustheit der Performanceoptimierung der Plattformunabh ngigkeit abweichendes Downloadverhalten auf dem Mac und der Browserproblematik notwendig Prinzipiell konnte nachgewiesen werden dass auch komplexe Aufgabenstellungen die ihren Schwerpunkt bei der dreidimensionalen Darstellung setzen mit Director realisiert werden k nnen Projekte die auf einer bestehenden 3D Datenbasis aufbauen und nur Standardinteraktionen Objekte drehen und zoomen abdecken m ssen k nnen mit relativ geringem Aufwand unter Verwendung von mitgelieferten Verhaltensskripten internettauglich realisiert werden Falls auf lange gerade Kanten und relativ gro e Dreiecksfl chen in der Szene verzichtet wird und die fehlende Schattendarstellung kein gro er subjektiver Nachteil ist kann der
182. us dem Parentskript des Loaderobjektes zugehorige Erlauterungen hier parserObject new xtra XMLParser parserScriptObject new script ps_ParserScript parserObject p3DObj if the runMode contains Plugin then errorCode parserObject parseURL the moviepath amp pURL_FilmInfo parseDone parserScriptObject else errorCode parserObject parseString member XML_Info text end if errorString parserObject getError if not voidP errorString then alert Sorry there was an error amp errorString Exit from the handler exit ELSE parserScriptObject parseDone end if Listing 54 Initialisierung XML Parsing Ausschnitt aus Behavior b_Cinema Listings 105 Listings zugeh rige Erl uterungen hier on parseDone me if voidP myParserObject getError then lFilmList Childl_SubList myParserObject child 1 makeSubList repeat with ae IV ea eeeh Sublist count 1 Le min eoue StS le Childl_ i Subbist myParserob eck chi ldfl childali lo nakesubList Oo repeat With I 72 Te Chrldl l SsusLise i eouns ey iG holier addr rom ssymeoll Chi idl Siae As getOne Childl_1_SubList 1 j Name des Attributes Cried Su pba st ST N A Wert des Attributes end repeat lFilmList add lFilmInfoList end repeat sendAllSprites xmlParsing_successful 1lFilmList else put Parse error put amp myParserObject getError end if the actorList deleteOne me end Listing 55 Umwandlung der XML Pro
183. von Status und Eigenschaftsvariablen zu setzen und auszuwerten Dies erfolgt mittels unten aufgef hrter Propertyvariablen Tabelle 18 Weiter nicht aufgef hrte Variablen dienen der Bestimmung des Translationsoffsets und des Rotationswinkels Andere sind Listen f r die Interpolation oder kapseln die Modellnamen der Elemente die nicht f r die Kollisionserkennung verwendet werden sollen Au erdem gibt es eine Reihe von Properties die als Referenzen zur verk rzten Schreibweise genutzt werden Generelle Flags pControllson Kamerasteuerung aktiviert Antialiasingflags pAASupported 3D Antialiasing von Renderengine unterst tzt pAllowAA Flag ob AA aktiviert werden kann soll Maus und Tastaturflags pMouseDown linke Maustaste gedriickt pRightMouseDown rechte Maustaste gedriickt the controlDown Systemvariable ist Strg Taste gedr ckt the shiftDown Systemvariable ist Shift Taste gedriickt Kameraflags pShowAnim boolescher Wert Flag ob Intro Animation gezeigt werden soll pCamAnimFlag boolescher Wert Flag ob Intro Animation noch l uft pStartCamPathInterpol boolescher Wert Flag ob Kameraposition interpoliert werden soll Tabelle 18 Notwendige Eigenschaftsvariablen fiir die Kamerasteuerung 4 3 2 Triggerinitialisierung Ereignisgenerierung F r die Kameraanimation und steuerung wird die kontinuierliche Generierung von Timerereignissen sowie die Behandlung der Nachricht in einem entsprechenden Handler ben tigt Bei diese
184. waren darzustellen Mit Hilfe dieser Technologie war es ab 1994 m glich die Browser durch zus tzliche Bibliotheken zu erweitern und somit neue Funktionalit ten zu realisieren Auf der ersten internationalen WWW Konferenz 1994 in Genf wurde von Mark Pesce ein von ihm und Toni Parisi entwickelter Prototyp einer 3D Schnittstelle f r das Web vorgestellt www06 Im Ergebnis dieser Pr sentation wurde der Notwendigkeit Rechnung getragen eine gemeinsame Sprache zur Spezifikation von 3D Szenenbeschreibungen zu entwickeln Diese Sprache wurde als Virtual Reality Modelling Language VRML definiert und basierte auf dem OpenInventor ACSII File Format von Silicon Graphics Inc kurz SGI www07 Die Spezifikation von VRML wurde 1995 vorgestellt Zugleich wurde die VRML Architecture Group kurz VAG gegr ndet die zuk nftige VRML Spezifikationen festlegen sollte Es erfolgte die Ver ffentlichung des ersten VRML f higen Browsers WebSpace Navigator durch SGI in Kooperation mit TGS www08 Microsoft lizenzierte das Plug in WorldView der Firma Intervista und erweiterte damit den Internet Explorer um die VRML Darstellung Netscape integrierte 1996 den von der Firma Paper aufgekauften VRML fahigen Browser in deren eigenes Produkt Mit der Unterst tzung der VRML Technik durch die beiden verbreiteten Browser war die Grundlage f r eine gro e Akzeptanz des VRML Konzeptes gelegt worden VRML 1 0 erm glichte einfache Interaktionen es fehlte jedoch die Unterst
185. wendung dieser auf eine gro e Anzahl von Vektoren l sst sich entsprechend viel Rechenzeit einsparen 39 Grundlagen Director und 3D Darstellung F r die Matrizenoperationen werden 6 verschieden Matrizentypen ben tigt Grundlagen f r die Matrizenoperation ist eine Matrix die keine nderungen an einem Vektor oder an einer Matrix hervorruft wenn sie angewendet wird Diese Matrix wird als Einheitsmatrix Abb 2 9 bezeichnet 0 0 0 oo oOo m So m 00 1 0 0 1 Abb 2 9 Die Einheitsmatrix Die Verschiebung Translation eines Vektors Abb 2 10 kann als Vektoraddition aufgefasst werden 100 x 0101 M x 001 x 000 1 Abb 2 10 Die Translationsmatrix Eine Skalierung Abb 2 11 verschiebt den durch den Vektor definierten Punkt auf der Geraden die durch den Koordinatenursprung und den Endpunkt des Vektors definiert wurde sx 0 0 0 re 0 sy 0 0 0 0 sz 0 0 0 0 1 Abb 2 11 Die Skalierungsmatrix Eine Rotationsmatrix beschreibt eine Drehung um einen bestimmten Winkel um den Ursprung In Abh ngigkeit der Rotationsachse gibt es verschiedene Rotationsmatrizen Abb 2 12 1 0 0 0 cos ax sin ax cos ay 0 sin ay 0 cos az sin az 0 1 0 0 ips sin az cos az sin ay 0 cos ay 0 0 0 0 0 0 1 0 0 0 sin ax cos ax 0 0 0 Oo Oo CO oro Oo OO CO Abb 2 12 Matrizen fiir Rotation um x y und z Achse Im Abschnitt 2 4 4 Transformation von Objekten wird kurz auf die interne Verwendung von Matrizen u
186. www42 www43 www44 www45 www46 www47 www48 www49 www50 www51 Verzeichnis der Internet Links Koordinationsgremium fiir die Entwicklung X3D fahiger Browser Player http www web3d org x3d browserwg_charter html Web3D Consortium Browser Working Group gefunden Februar 2003 3D Personal Information Manager erstellt mit Pulse3D http www wapme net Wapme Systems AG gefunden Dezember 2002 3D Pr sentation des Fiat Stilo erstellt mit Cult3D http www fiat co uk stilo eng index htm FIAT AUTO U K Ltd gefunden Februar 2003 Aufschliisselung der kontinentalen Installation des Shockwave Plug ins http www macromedia com software player_census shockwaveplayer version_penetration html Macromedia gefunden August 2002 3di Entwickler von Web3D Technolgien http www 3danywhere com 3di Ltd gefunden November 2002 3D Modepr sentation http www eyematic com Fashion index html Excite Inc and Macy s gefunden August 2002 ParallelGraphics Web3D Technologie Anbieter Beispiel einer Produktpr sentation http www parallelgraphics com full showroom solutions product presentations olympus ParallelGraphics gefunden November 2002 Online 3D Welt Community erstellt von Blaxxun http www icity co il Suny Electronics Group gefunden Februar 2003 hilfreiche deutsche Mailingliste zu Director incl Mailarchiv http www startmovie net Direct r_List gefunden Juli 2002 Intel Architecture L
187. zur Laufzeit mit folgendem Befehl gewechselt wird sprite me spriteNum member member Preloader Listing 2 Zuordnung eines Darstellers zu einem Sprite 44 Grundlagen Director und 3D Darstellung Ein Beispiel fiir eine solche dynamische Zuordnung ist der Einsatz von Dummysprites die die Position und das zeitliche Verhalten vorgeben und erst zur Laufzeit den eigentlichen 3D Darsteller zugeordnet bekommen Diese Methode erm glicht es die Downloadgr e des Films gering zu halten und 3D Darsteller zur Laufzeit zu erzeugen nachzuladen und zuzuordnen Das Prinzip wird im Projekt dahingehend verwendet dass nur ein Dummysprite im Drehbuch als Referenz f r das eigentliche 3D Sprite existiert Dieses kann jedoch erst dann eingesetzt werden wenn der Downloadvorgang des zugeh rigen 3D Darstellers erfolgreich beendet wurde Zum besseren berblick ber die Orientierung der Szene im Raum kann sich der Entwickler die Welt und Modellachsen anzeigen lassen Member new3D_Member debugFlags 130 Listing 3 Anzeige der Koordinatenachsen in einem 3D Darsteller Wurde der 3D Darsteller mit Director erzeugt und besitzt die Kamera ihre Standardposition und orientierung zeigt die positive x Achse rot nach rechts die y Achse gr n nach oben und die positive z Achse blau auf den Betrachter Die beiden nachfolgenden Darstellungen Abb 2 16 und 2 17 sollen die Orientierung bzw die positiven Drehrichtungen verdeutlichen Abb 2 16 K

Download Pdf Manuals

image

Related Search

Related Contents

manual  Bedienungsanleitung Swifty  Intel GA-EQ45M-S2 User's Manual  Guida per l`utente    E féd r • G U I E ér - Comité Départemental de Golf du Var  LabVIEW Instrument Driver Documentation  User Manual - EL-CELL  D-Link DSL-524T  König KN-DVBT-OUT112 television antenna  

Copyright © All rights reserved.
Failed to retrieve file