Archive for Februar, 2010

FITC – Amsterdam – Tag 2

Freitag, Februar 26th, 2010

Tag 2:

  • Session 1:
    Als großer Papervision3D Fan war der Vortrag von Carlos Ulloa eine Pflicht und Freude. Auf der Bühne stand ein sehr zurückhaltender Mensch und erklärte sehr detailliert die Vorgänge, Gedanken und Überlegungen, die während der Arbeit an einem Projekt entstehen, und wie die Lösungen gesucht und gefunden wurden. Es war zu sehen mit wie viel Mühe und Arbeit die Ergebnisse erarbeitet wurden.
    Ulloa erschien mir wie der Designer, der die Technik erlernt und erarbeitet, um seine Projekte und Vorstellungen zu realisieren. Beeindruckt hat mich auch die Liebe zum Detail, aber das ist den meisten Designer-Flashern zu eigen – lol – mir fällt gerade das Wort Pixelschubser ein!
    Die beiden Projekte waren:
    1. Energy Lab – Papervision 3D:
    Was für eine Mühe das Modell so zu zerlegen, dass der Shader aussieht wie er aussehen soll.
    Wie viel Arbeit, bis die Lichtquelle im Inneren der Flasche sich „richtig“ an den Bruchstellen der einzelnen Teile bricht! Alles damit es so mühelos und „richtig“ aussieht wie es aussieht.
    2. Hello Racer – Unity 3d:
    Ich war mit dem kleinen Mini Flitzer schon mal gefahren. Naja, eben Unity3D, da sieht 3D so aus wie im wahren Spiel. Aber wer hat genau die perfekte Simulation der Physik beachtet? Oder wie präzise die Räder aussehen, wie natürlich, wie in Echt!

  • Session 2:
    “Building maintainable Applications with PureMVC” – mit Javier Julio – im Dylen, bei Kaminfeuer!
    In meinem letzten Job musste ich Cairngorm benutzen und ich betone das „musste“. Mit PureMVC hab ich schon eine ganze Zeit liebäugelt, aber nie wirklich die Zeit gehabt mich konkret damit auseinander zusetzen.
    Javier hielt einen flammenden Vortrag und erklärt enthusiastisch und gewand wie pureMVC ein Projekt strukturieren, und wie man davon profitieren kann:
    – Notifications – Das Kommunikationssystem, arbeitet ohne EventDispatcher, keine Flash Abhängigkeit, ein reines ActionsScript System
    – Model und Proxy – verkapselt die Kontrolle und die Manipulation von Daten, Service Interaktionen geschehen auf diesem Level
    – View und Mediators – verkapselt die View Komponente vom Rest des Frameworks, bekommt demnach keine weitere Information
    - Controller und Commands – Applikation Business Logik
    Ein Hinweis auf eine Pipe Utility
    Und Javiers Linktip mit sourcecode

    Ein gewaltiger Unterschied zu Cairngorm, mein nächstes Projekt wird pureMVC einsetzen!

  • Session 3:
    Als letzten Vortrag vor der Mittagspause entschied ich mich für meinen Papervision Lehrer Seb Lee-Delisle. Ich freue mich jedes Mal wieder auf seine kleinen Performance Einlagen und der Titel Work/Play hätte gut Fun/Play heißen können.
    Seine Arbeiten sind bunt und lustig – Big and Small in 3D
    Seine Ideen leicht schräg und sehr menschlich, wie seine Parkticketaktion
    Aber am Meisten hat mir als Multiplayer Programmierer, die mit Socket Servern arbeitet, sein Lunar Lander als Multiplayer Version gefallen – was für eine simple Idee alle Userbewegungen in einem Bild anzuzeigen! Leider kann ich hierzu kein Bild finden.
  • Danke Seb, nach dem Pancake essen und danach das Interview mit dir, und „The cool shit hour“ verlief leider ohne mich, aber man kann nicht alles haben! Sobald das Video bearbeitet wurde und hochgestellt folgt die Verlinkung!

    Vor meiner Abreise mit Hindernissen noch ein kurzer Besuch bei der Cinema4D Vorstellung. Für mich nichts Neues, bis auf den nun vorhandenen Collada Export. Aber sicherlich interessant für viele Zuhörer in dem überfüllten Saal.

    Fazit:
    Schön für die Flash Community oder cool für den User!!! Ist das ein Spagat, oder machbar? Was ist eine coole Demo, und wovon kann man leben!
    Wie war mein Motto als Designer? Wenn der Entwurf leichte Zahnschmerzen verursacht, dann ist es gut! Also alles wie üblich?
    Das Schöne für die Anerkennung, die Akquise, das Renommee!
    Das Populäre, das die Masse mag, für das Portemonnaie!
    Glücklich diejenigen, die nicht aufs Portemonnaie achten müssen, oder die mit Vorträgen ihr Geld verdienen – grins!

    Auf Wiedersehen FITC – vielleicht bis zum nächsten Jahr, denn mir hat der internationale Aspekt super gefallen. Winke an all meine neuen Freunde aus aller Welt!

    • Share/Bookmark

    FITC – Amsterdam

    Mittwoch, Februar 24th, 2010

    Mein erster Besuch bei der FITC in Amsterdam war ein einziges großes kreativ-technisches Input – Erlebnis mit so einigen Begegnungen der besonderen Art.
    Das ich mit und als ActionScriptHero dabei sein durfte machte die ganze Konferenz zusätzlich zu einem einmaligen Erlebnis, und es war manchmal schwer zwischen Vortrag und Vortrag und Vortrag und Interview zu entscheiden:

    Tag 1:

  • Ankunft in Amsterdam und via Hotel ging es Richtung Felix Merit, ein Gebäude typisch für Amsterdam = eng + viele Treppen + steile Treppen + enge Türen = man war auf Tuchfühlung mit Jedermann. In der Lounge fand ich Pablo Parado und Fernando Colaco – was für eine Freude, die beiden sind sehr herzliche und freundliche Menschen, und dies war unser erstes persönliches Treffen.
    Um 15 Uhr dann das erste Interview mit einem sehr optimistisch in die Zukunft von Flash blickendem Shawn Pucknel.
  • Tag 2:

  • Session 1:
    Begann im Großen Saal mit den Adobe Keynotes: Flash Player 10.1 – Flash auf allen Devides – Flash auf immer und ewig – nur nicht wirklich auf dem IPhone.
    Anmerkung: Es gab auf der Konferenz ein Gleichgewicht von Iphone und Besuchern!
    Schön, wir möchten und bekommen Hardware Unterstützung! Unity3D hatte es von Anfang an!

  • Session 2:
    Mario Klingemann spare ich mir für Köln auf, und Flash auf IPhone interessiert mich erst, wenn die Performance vernünftiger wird. Im Dylen lief „Making Meaningful Data Meaningful“, das klang interessant:
    Wie visualisiert man Daten? Mit Charts und Diagrammen! Aber wie visualisiert man Zusammenhänge und Abhängigkeiten? Wie werden Daten ohne Legende lesbar und verständlich? Der Sprecher Wesley Grubs gab ein paar interessante und ganz Neue Beispiele. Persönlich gefiel mir das Beispiel für den Esquire (alle Beispiele auf der Webseite). Technisch wurden die Beispiele mit Processing und Json Objekten umgesetzt, Flash könnte die riesigen Mengen an Daten, die in den Beispielen verwendet wurden nicht umsetzten.
    Die kreativen Tips: Beginne mit einem Diagramm, entwerfe was dann passiert. Frage dich was du den Menschen erzählen möchtest. Kreise sind spitze um Verbindungen darzustellen.

  • Session 3:
    Schwere Entscheidung zum 3ten Vortrag, Bartek Drozdz und „From Flash to Unity3D“ oder Quick as a Flash“ mit Grant Skinner? Die Wahl fiel auf Skinner, Optimierung ist ein Thema, und ich hatte schon von seiner PerformanceTest Klasse gehört:
    Der Vortag war eine Wucht an Informationen, die Folien seines Vortrages sind unter http://www.gskinner.com/talks/quickNL/ zu sehen.
    Einige Unterschiede zwischen FlashPlayer 9, 10 und 10.1 sind interessant, so wird ab 10 uint endlich schneller als seine Kollegen, sowie ab 10.1 der Variablen Zugriff, Funktions Aufrufe und static member Zugriff!
    Framerate: Es ist keine goldene Regel, aber eine niedrigere Framerate kann bei vielen Performance Problemen helfen, bedenkt man, dass in einem Frame neben Code und Grafik und Media auch die Garbage Collection erfolgt, zu der man bisher keine Möglichkeit des Zugriffs hat. Adobe!
    Skinner sieht eine logische Unterteilung bei der Optimierung in Syntax, Architektur und Design.
    Beispiele die mir besonders in Erinnerung geblieben sind:
    Syntax
    – Verweis auf TAAS von Joa Ebert
    – Keine mathematischen Wiederholungen
    – Multiplizieren schneller als Dividieren (soll in 10.1 behoben sein)
    Bitweise einsetzen wo es geht
    – Point ist schneller als Objekt
    – Bei true und false zuerst Abfragen was am Wahrscheinlichsten ist
    – Methoden direkt aufrufen, anstatt durch Referenzierung
    – Kein i.length in einer Schleife, den Wert als Variable vorher deklarieren
    Architektur:
    – Vermeide Instanzierungen, verschachtelte Funktionsaufrufe, tiefe Ver-
    linkung und die Häufigkeit von Operationen.
    – Callback – Rückruffunktionen sind schneller als Events, bubbling events
    super lahm.
    – Wenn es um Kollektionen geht, so sollte man die Auswahl (LinkedList,
    ByteArray und Vektor oder Array, Object und Dictionary) nach der
    Nutzung im Verlauf, oder nach Typ treffen. Skinner zerlegt das auf den
    Folien sehr ausführlich. Die erwähnte Chunker.as Klasse muß ich die Tage
    genauer unter die Lupe nehmen.
    – Algorithmen hätte ich gerne etwas ausführlicher erlebt, leider gab es dazu nur allgemeine Tips wie: Suche Bessere, Treffende, Schnellere oder diese Encapsulated also gekapselt zu halten, sind nicht wirklich informativ.
    Video und Media:
    Mit Hilfe des Rechtklicks die Bildaktualisierungsbereiche anzeigen und kontrolieren ob Notwendig.
    Render Kosten reduzieren, indem man auf die Faktoren wie Masken, Verläufe, oder anti-alias für Animationen achtet, eher Bitmaps benutzen, Cache as Bitmap verwenden, Grafiken in Container packen und auf diese scripten. Vermeide starke Filter, leere Pixel, vermeide alpha 0 Werte und benutze visible als false, oder entferne komplett.
    Das ActionScriptHero Interview mit Grant Skinner ist hier!

  • Session 4:
    Ralph Hauwert’s Skunkworks, was sonst!
    Er erzählt, berichtet von seinen Versuchen mit PixelBlender und Flash Raytracer und 3D Simulationen. Wie sein Beitrag zu Letitbloom entstand. All die Beispiele sind auf seinem Blog!
    Das ActionScriptHero Interview mit Ralph Hauwert ist hier!

  • Session 5:
    Jared Tarbell mit „The strangest things i’ve ever seen“ – war das Eindrucksvollste was ich auf der Konferenz gesehen habe. Der Vortrag war ein Eintauchen in die Welt der Verzweigungen, wie im Kleinen, so im Großen. Die Einfachheit und Nähe zum Wesentlichen in unserer Welt und dem Universum darum und seine „Abdrücke“ haben bei mir tiefe Abdrücke hinterlassen.
    Anschließend hatte ich die „Ehre“ beim Interview mit ihm anwesend zu sein und es ist eine Trauer, dass ausgerechnet sein Interview mit Umgebungslärm überdeckt wurde. Ich hoffe Fernando bekommt das mit Untertiteln in den Griff. Danke Jared der Sanfte!
  • Der Abend endete mit einem Dinner for Heros and Friends irgendwo in einem kleinen Restaurant in Amsterdam mit einer Gruppe aus verschiedenen Ländern und Kontinenten. Ich habe neue Freunde gefunden!

    Tag 2 folgt…

    • Share/Bookmark

    Ein Modell mit mehreren geometrischen Elementen

    Montag, Februar 15th, 2010

    Ein Modell mit mehrerer „einzelnen“ geometrischen Formen ermöglicht jedes dieser einzelnen Formen zu verändern.

    Wie genau dies beim Erstellen eines 3D Modells funktioniert, kann ich nicht erklären, zumal ich beim Export ins Collada Format schon die merkwürdigsten „Zusätze“ erleben konnte (Swift 3D erzeugte diese beim Exportieren aus Cinema3D). Im Beispiel habe ich manuell die Struktur aufgeräumt und in diesem Fall jeweils zusätzliche Unterelemente für jede geometrische Form entfernt. Das folgende Bild zeigt die unsaubere Version, head existiert 2x ineinander verschachtelt:

    < node id="head1"> und < node id="head">
    auch der < body> tag ist nicht notwendig:

    Und so sieht head gesäubert aus:

    Ich empfehle immer wieder sich mit der Struktur eines collada xml Modells vertraut zu machen.
    Entfernt man die zusätzlichen „Objekte“ nicht, so werden diese auch von Papervision als DisplayObject3D ausgegeben und der Spaß fängt damit an herauszufinden, welche nun welche sind, die ich z.B. bei setChildMaterialByName angeben soll:

    Papervision traced dann auch alle 5×2 geometrische Formen und ein Ober Element body:

    INFO: DisplayObject3D: COLLADA_Scene
    INFO: DisplayObject3D: body
    INFO: DisplayObject3D: head1
    INFO: DisplayObject3D: head
    INFO: DisplayObject3D: hand
    INFO: DisplayObject3D: hand1
    INFO: DisplayObject3D: ub
    INFO: DisplayObject3D: ub1
    INFO: DisplayObject3D: lb1
    INFO: DisplayObject3D: lb
    INFO: DisplayObject3D: shoe
    INFO: DisplayObject3D: shoe1

    Nach dem Entfernen der zusätzlichen Knoten verbleiben 5 geometrische Formen:

    INFO: DisplayObject3D: COLLADA_Scene
    INFO: DisplayObject3D: head
    INFO: DisplayObject3D: hand
    INFO: DisplayObject3D: ub
    INFO: DisplayObject3D: lb
    INFO: DisplayObject3D: shoe

    So kann man jetzt vernünftig arbeiten und im Beispiel

    - ohne Textur mit Phong Shader – ist jedes Elementes anders eingefärbt, so dass man gut die einzelnen geometrischen Formen erkennen kann.
    Die Button wechseln zwischen 2 verschiedenen Kopf Texturen:

    var bitmap:Bitmap = new _imageAsset() as Bitmap;
    bitmapMaterial_cloth = new BitmapMaterial(bitmap.bitmapData, true);
    
    var bitmap_bump:Bitmap = new _imageAsset_bump() as Bitmap;
    bitmapMaterial_bump = new BitmapMaterial(bitmap_bump.bitmapData, true);
    
    private function bumpDae(event : MouseEvent) : void {
             dae.setChildMaterialByName("head", bitmapMaterial_bump);
    }
    
    private function clothDae(event : MouseEvent) : void {
            dae.setChildMaterialByName("head", bitmapMaterial_cloth);
    }

    Zum Schluß möchte ich noch auf das Air Tool von Mark I. Ross zum optimieren von Daes hinweisen.

    • Share/Bookmark

    Anziehen und umziehen – setChildMaterialByName

    Donnerstag, Februar 11th, 2010

    In diesem Beispiel geht es um das Manuelle zuordnen von Materialien auf Modelle.
    Einem 3D Modell kann bei seiner Erstellung Oberflächen zugeordnet werden, im Collada.dae werden diese unter dem Knoten

    < library_images>

    zugeordnet. Das muss aber nicht sein, man kann einem Modell, wenn es die Dae.as Klasse benutzt, Materialien „manuel“ zuweisen.
    Das geht mit der dae Methode setChildMaterialByName, und erwartet 2 Parameter.

    dae.setChildMaterialByName("Zylinder", bitmapMaterial_bump);
  • Der erste Parameter stellt die ID des geometrischen Elements dar, und ist im XML Dokument sehr gut in der Visual Scene zu sehen, es wiederholt sich bei Material, Geometrie, Effekt, Images, also in allen relevanten Elementen eines Modells. In meinem Modell ist die Bezeichnung „Zylinder“. Eine sinnvolle Namensgebung beim Erstellen des Modells im jeweiligen 3D Programm erleichtert die Arbeit. Hier ein Auszug aus der Visual Scenen:
    < library_visual_scenes>
    	< visual_scene id="VisualSceneNode" name="Scene">
    		< node id="Zylinder" name="Zylinder" type="NODE">

    Im debugg Modus traced Papervision dieses folgendermaßen:

    INFO: DisplayObject3D: COLLADA_Scene
    INFO: DisplayObject3D: Zylinder 

    COLLADA_Scene bezieht sich auf das ganze Modell, Zylinder auf die Geometrie im Modell.

  • Der zweite Parameter ist das Bitmap Material als BitmapData
    Im Beispiel kann man mit dem Button den Skin für das komplette Modell wechseln.

    • Share/Bookmark
  • Crystalclash

    Mittwoch, Februar 10th, 2010

    Heute wurde endlich der Name für das Flash Browser Spiel festgelegt, das ich mit mit einem kleinen Team plane. Ich möchte mich hierbei recht herzlich bei meinem guten Freund Brian aus Amiland Carolina bedanken, der bei der Namensfindung geholfen hat.

    Crystalclash.de und Crystalclash.com sind unser!

    Bisher wird noch koordiniert und Tolls für die Projektarbeit eingerichtet, aber im März gehts los und ich werde über Neuigkeiten hier berichten.

    • Share/Bookmark

    DAE oder Collada und das FileLoadEvent

    Montag, Februar 8th, 2010

    In meinem vorherigen Blog Eintrag habe ich auf das FileLoadEvent hingewiesen, und das möchte ich hier noch einmal genauer untersuchen, denn nicht alle FileLoadEvents sind für die PV3 Klasssen Dae oder Collada anwendbar.
    Zuvor jedoch kurz eine Begriffsdefinition zum Thema Collada:

    Digital Asset Exchange for Interactive 3D = .DAE

    Collada ist der Name und dae das Format!

    Warum hat Papervision hat zwei Parser Klassen für Collada Modelle, Dae.as und Collada.as?
    Zuerst war Collada.as, dann kam Tim Knip und sein Dae.as, das als Collada parser auch mit Animationen umgehen kann und auf ASCollada zugreift. Welche Klasse man benutzt ist eigentlich Geschmackssache, mein Geschmack ist Dae.as. Auch weil die Dae Klasse mit ByteArry umgehen kann, und ich meine Materialien separat laden und ansprechen kann.

  • Dae.as
    var dae:Dae = new Dae(autoPlay:Boolean=true, name:String=null, loop:Boolean=false);
    dae.load("pathTo.dae") // notwendig zum Laden 
    
    
  • Collada.as
    var collada:Collade = new Collada(COLLADA:"pathTo.dae"=null, materials:MaterialsList=null, scale:Number=1,doubleSided:Boolean=false);
    
    

    Beide Klassen hören auf das FileLoadEvent, aber nicht Beide gleich, es gibt aber ein paar Unterschiede.

    Dokumentation

    Das FileLoadEvent hört auf 7 Ereignisse, darunter 2 Error Events, die ich hier nicht extra erläutern möchte.

  • LOAD_COMPLETE und LOAD_PROGRESS, für DAE und COLLADA.
  • LOAD_COMPLETE feuert, wenn der „komplette“ Ladevorgang abgeschlossen ist – das beinhaltet auch Material (falls im Modell angegeben, und wie im vorherigen Eintrag beschrieben) für ein DAE Modell.
  • Bei Collada hört COLLADA_MATERIALS_DONE (COLLADA)auf den Ladevorgang des in der dae angegebenen Materials.
  • ANIMATION_COMPLETE und ANIMATION_PROGRESS (DAE) setzte ich nur ein, wenn ich mit animierten Modellen arbeite, da das Laden der Animation länger benötigt als das Laden des Modells an sich.
    • Share/Bookmark

    Auf die Bühne mit der Frau

    Freitag, Februar 5th, 2010

    Das ist seit der PV Klasse BasicView kinderleicht geworden. Dort sind Kamera, Viewport und BasisRenderer bereits erzeugt und man braucht sich nur noch Gedanken darum machen, ob man die default Einstellungen übernehmen, oder ändern möchte.

    The Flash plugin is required to view this object.

    Ich empfehle einen Blick auf die Klasse: org.papervision3d.view.BasicView!

    Klasse extenden;

    public class MyFirstDae extends BasicView

    Ein Dae Modell erzeugen:

    var allDae:DAE = new DAE();

    Das Dae laden:

    allDae.load("assets/modells/01/01.dae");

    Ich empfehle einen Loader Listener, damit auch sicher alles geladen ist, bevor das Modell auf die Bühne gebracht werden soll:

    dae.addEventListener(FileLoadEvent.LOAD_COMPLETE, om_handleLoadComplete);

    und an die Scene adden:

    scene.addChild(allDae);

    danach nicht vergessen das Rendern zu beginnen:
    startRendering();

    Falls jetzt nichts zu sehen ist, dann kann es an der Kamera (camere.zoom) liegen, ich war beim ersten Mal in meinem Modell "drin"!

    Es gibt noch einen häufigen Fehler, der die Textur betrifft, denn die wird meist im Modell selbst zugeordnet (im 3D Programm).
    Hier darauf achten ob dies im gleichen Verzeichnis geschieht, wenn ja, so ist dies im Modell meist so angegeben:

    < library_images>
       < image id="cow.png" name="cow_png">
         < init_from>./cow.png
       < /image>
     < /library_images>

    Ist in init_from der Pfad nicht richtig, oder liegt das Bildmaterial nicht im richtigen Ordner (hier eine Ebene), dann sieht man vielleicht das blanke Modell, aber keine Textur.

    Ich selber bevorzuge manuell die Texturen auf die Modelle zu legen, so ist ein Austausch der Bitmaps wie beim Modell Konfigurator möglich. Mehr demnächst.

    • Share/Bookmark

    Was ist Collada DAE?

    Donnerstag, Februar 4th, 2010

    Im vorangegangenen Beispiel werden Collade.dae 3D Modelle für die Figuren benutzt. Der deutsche Beitrag in Wikipedia erklärt etwas dürftige warum Collada entwickelt wurde, ein wenig detalierter ist die englisch Wickipedia. Wie dieses Format dargestellt wird und warum es sich so gut für Papervision eignet, möchte ich hier ein wenig erklären, weil:
    1. Soweit mir bekannt können inzwischen alle gängigen 3D Programme in das Collada Format exportieren.
    2. Ein Grundverständniss des Aufbaus bei der Arbeit mit 3D Modellen genauso wichtig ist wie der Überblick über 3D Begrifflichkeiten aus meinem Beitrag “Guten morgen Papervision”.

    Abgesehen von den vorhandenen “primitiven Formen” (org.papervision3d.objects.primitives) wie z.B Kugel oder Quadrat, kann Papervision 3D Formate (org.papervision3d.objects.parsers) wie DAE, MD2, KMZ und weitere Formate lesen. PV greift hierbei auf die ascollada libraries zu. Es lohnt sich einmal in die ascollada.as hineinzuschauen, die statischen Variablennamen entsprechen den XML Elementen und dessen Child Elementen eines dae Modells.

    Hier eine paar Zeilen aus ASCollada.as

    Und zum Vergleich das Schema eines DAE Modells:

    Jedes Modell hat asset und scene, und je nach Modell sind entsprechende library_Elemente aufgeführt. Hat ein Modell z.B. keine Animation, so fehlt das Element library_animations. Ein Modell ohne library_geometries wäre sinnfrei, da hier die geometrische Form definiert wird, in library_materials die Materialien der Oberfläche und in library_effects die Effekte, wie z.B die Beleuchtung oder der Shader. Ohne library_visual_scenes geht nichts, hier wird sozusagen die Positionierung angegeben, es ist das Herzstück der Scene.
    In meinen folgenden Beispielen werde ich auf diese Elemente zurückkommen und die jeweiligen Child Elemente genauer untersuchen.
    Ich empfehle den ColladaAirViewer mit einer XML Ausgabe des Modells.

    • Share/Bookmark

    3D Modell Konfigurator

    Montag, Februar 1st, 2010

    Mit freundlicher Erlaubniss der ON|AD GmbH darf ich eine frühe Variante des Modell Konfigurators zeigen, den ich mit meinem Kollegen Dieter Joppich (3D Modelle) bereits vor 2 Jahren “gebastelt” habe.



    Die 3D Modelle sind im Collada.DAE Format und die Texturen werden separat ergänzt, wodurch die Variationen pro Modell entstehen können: Mit den Pfeilen können jeweils Haarfarbe, Body, Hose und Schuhe “umgezogen” werden.
    Die Skins für hell-und dunkelhäutig sind ein wenig “durcheinander gepurzelt”, ich bemühe mich das zu beheben!



    Nach der Auswahl folgt ein sogenannter Walkcycle, dabei wird pro 1/8 Drehung ein BitmapData vom Viewport gezeichnet und als ByteArray mit dem PNGEncoder der adobeCoreLibs als png geladen.


    Nachdem der Walkcycle einmal durchgelaufen ist bitte einen Moment warten, dann wird das erstellte .png geladen. In einer realen Spielsituation würde das Bild für den Benutzer nach dem Generieren nicht angezeigt!
    Achtung, es ist kein Walkcycle für das männliche Modell in kurze Hose vorhanden!

    Und hier gehts zum Testen, viel Spaß mit dem ModellConfigurator!

    In meinen nächsten Blogeinträgen werde ich versuchen Schritt für Schritt die Vorgehensweise zu erklären.

    • Share/Bookmark
    Get Adobe Flash playerPlugin by wpburn.com wordpress themes