Falcon-Scene: NeoN-Babies - Neues aus der Praxis

Heho, nachdem mein Pixelworkshop (vor der Fried Bits 3) recht gute Resonanz zeigte, möchte ich mal wieder etwas Praxisorientiertes bringen. Klaro, daß es auch um die visuellen Freuden, die uns unser Falcon bietet, geht. Allerdings ist diesmal nur eine einzige Begabung vonnöten, um mitmachen zu können. Der Leser sollte nämlich das Talent haben, ca. 750 Mark zu besitzen.

Mit der Knete kann er sich dann sogleich „NeoN" zulegen und mit in die Gemeinde „Erbauer virtueller Welten" einsteigen. Denn ich habe meine „NeoN-Erforschungsreise“ so ungefähr beendet und möchte mich mal über das Erlebte auslassen. Nun wurde NeoN schon genug gelobt und stellt im ATARI-Bereich wirklich ein wunderbares Werkzeug dar, hat aber auch einige Schwächen, die man aber mit etwas Geschick mildern kann. Zuallererst möchte ich auf einen gemeinen Bug eingehen, den ich gefunden habe.

Mit dem beigelegten NEONTOOL.PRG hat der Benutzer die Möglichkeit, selbstgezeichnete 2D-Grafiken in sogenannte Shapes zu konvertieren, aus denen man dann im Objekteditor mittels der EXTRUDE-Funktion dreidimensionale Körper erzeugt. Und genau da ist das Problem, das SHAPE (eine ASCII-Datei mit der Extension SHP) wird vom EXTRUDE nicht angenommen. Offensichtlich speichert das NEONTOOL die Datei nicht korrekt ab. Abhilfe kann geschaffen werden, indem man die Shape-Datei in einen Texteditor lädt. Hier findet man im Kopf der Datei den String „numpoints 00" und danach eine Tabelle mit Zahlen. Diese Zahlen sind die 2D-Koordinaten der Eckpunkte, die die jeweilige Form beschreiben. Man zählt jetzt einfach die Zeilen dieser Tabelle und schreibt sie als Dezimalzahl hinter „numpoints“. Sind in einer Shape-Datei mehrere Formen beschrieben (z.B. die „Löcher“ bei einem großen „B“), gibt es auch mehrere Tabellen (beim „B“ also drei), die jeweils ihren eigenen, „numpoints“-String vorne stehen haben und die jeweiligen Zahlen benötigen. Das war's, die EXTRUDE-Funktion schluckt die Shape-Datei nun ohne Probleme.

Wenn man ein Weilchen herumgerendert hat und aus Interesse an der Materie auch Bilder besieht, die mit entsprechenden PC-, Mac- oder AMIGA-Programmen erstellt wurden, fällt einem auf, daß diese oft viel realistischer aussehen als das eigene Werk (z.B haben Lichtquellen eine Aura, was einfach atmosphärischer wirkt). Diese (meist aber erheblich teureren) Programme bieten aber auch Funktionen, die physikalische/optische Gegebenheiten in der realen Welt nachbilden. In diesem Punkt sieht NeoN etwas blaß um die Nase aus, visuelle Schmankerln wie Lensflares, Tiefenschärfe etc. sind unserem Falcontracer fremd. Mit einem Trick kann man aber auch in NeoNz.B. Tiefenschärfe „simulieren". Tiefenschärfe? Stellt Euch mal ein Foto vor, das die Großaufnahme eines Spinnennetzes im Gebüsch zeigt. Das Objektiv wurde auf das Netz fokussiert (es ist sehr scharf zu sehen), aber Äste, die eigentlich noch vordem Netz sind, wirken verschwommen. Auch das menschliche Auge fokussiert sich, auf eine jeweilige Entfernung, es ist an diese Sichtweise gewöhnt. Wird der Effekt auch bei berechneten Filmen/Bildern erreicht, gaukelt man dem Auge sein natürliches Sehen vor - es wird realistischer.

NeoN-Scene mit Brösel-Pixmaps
Dieselbe Szene mit SOFT (außer dem „Ei“)= Tiefenschärfe.
Platz 3, der Agressive 2 Grafikcompo ... auch getraced.

Wie geht’s also?

Zu Beginn malt (oder scannt) Ihr Euch eine Textur, meinetwegen eine Mauer, 64*64 Pixel groß. Es kann auch nie schaden, ein paarmal mit einer Smooth-Funktion über das Bild zu gehen, da es durch die Verzerrungen der Texturen auf einem Polygon immer zu „Verpixelungen“ kommt.

Im Materialeditor weist Ihr diese Textur dann einem zu erzeugenden Objekt als PIXMAP zu und schaltet auch den Knopf „SOFT“ ein. Diese Funktion hat eigentlich nur „kosmetischen“ Charakter. Wenn ein gePIXMAPtes Objekt sehr nahe an der Kamera steht, erkennt man (ohne SOFT) die einzelnen Pixel eurer Textur (im Extremfall sind es richtig große Quadrate). Die SOFT-Funktion aber interpoliert zwischen den Pixeln, und auch bei extremen ZOOMS sieht man jetzt nur noch saubere Verläufe. Das hat aber zur Folge, daß eine Mauer, die mitten im Bild stand und (dort) noch ganz „scharf“ aussah, beim Vorbeischweben der Kamera immer „verwaschener“ wirkt. Der Trick ist also, extra eine relativ kleine Textur zu erstellen, damit extreme Vergrößerungen und damit die Unschärfe des Objektes hervorgerufen werden und voilà - automatische Tiefenschärfe. Das eigentliche Beobachtungsobjekt sollte natürlich „scharf“ bleiben (also läßt man hier den SOFT-Button schön inaktiviert). Bei einer Animation, bei der die Kamera z.B. ein durch eine Stadt (Häuser mit Mauertextur -SOFT) fahrendes Auto (nicht SOFT) „verfolgt", steigert dieser Effekt den realen Eindruck enorm.

Entferntere Objekte kann man dann mit der AMBIENT-Funktion des Scene-Editors quasi im Nebel verschwinden lassen und so „entschärfen“.

Übrigens ist auch das Antialiasing von NeoN im Verhältnis zu der zusätzlichen Rechenzeit, die es verbraucht, äußerst unbefriedigend. Hier könnte man sich behelfen, indem man die Bilder in doppelter x- und y-Pixel-Menge ohne Antialiasing berechnet und dann nachträglich, oder bei Animationsberechnungen als Patch eingeschoben, ein selbstgeschriebenes Programm laufen läßt, das das Bild in x und y halbiert. Ein Durchschnitt der Farbwerte von 4 benachbarten Pixeln des Quellbildes sollte den jeweiligen Farbwert eines Pixels im Zielbild ergeben. Diese Methode kostet genauso-vielZeit, bringt aber wesentlich bessere Ergebnisse.

Film ab!

FILM_AB, unter der bescheidenen Oberfläche steckt ein nützliches Tool.

Genau, NeoN wird erst richtig interessant, wenn es um Animationen geht. Ein wirklich beeindruckender Kameraflug durch eine virtuelle Welt stellt dank der Splines für Bewegungen, Timesplines etc. kein Problem dar. Nur hat man dann die ganze Festplatte voll mit TGA-Bildern, aber nichts auf dem Videotape. Hier hilft ein Einzelbildvideorecorder weiter, der schon zum Preis eines Kleinwagens zu haben ist. Aber Spaß beiseite, als es nun endlich soweit war, stand ich genau vor diesem Problem. Mit Hilfe von APEX-Media und virtuellem Speicher kann man zwar riesige FLH-Filme erzeugen, die aber leider durch das nötige Dekompressionsverfahren elendig langsam abgespielt werden. Unerwartet stieß ich dann auf FILM_AB von JWS. Der Autor dieses „digitalen Videoschnittplatzes“ hatte eigentlich nur ein Tool geschrieben, um seine Screeneye-Filme in Szene zu setzen, aber ich witterte sofort eine Möglichkeit, und nach ein paarTelefonaten hat sich FILM_AB seit Version 1.1 zum Tüpfelchen auf dem „i“ für NeoN-Regisseure gemausert.

Benötigt werden lediglich ein Falcon und eine große Festplatte, da FILM_AB ein riesiges (einstellbar) File erzeugt, in welchem die Bilder unkomprimiert hintereinander liegen und so „recht“ schnell abgespielt werden können. Aber der Reihe nach.

FILM_AB „schluckt“ neben Screeneye-TGAs, TIFFs und IMGs nun auch 320*200 Pixel große Neon-TGAs, und zwar automatisch, da sie ja von NeoN eh durchnumeriert werden. Nun kann man mehrere Filmsequenzen laden, eine Playlist erstellen in der die Abspielreihenfolge festgelegt wird und sogar bildgenau Effekte einfügen. Zur Zeit gibt es die Möglichkeit, eine Filmsequenz ein- und auszufaden und Sequenzen auf unterschiedlichste Arten zu mixen, indem man sie überblendet oder mit einer Chromakey-Funktion verknüpft. Der Autorwill das Programm aber noch dahingehend erweitern, daß selbstprogrammierte Bildmanipulationseffekte eingebunden werden können.

Hat man sich also nun einen Film „zusammengeschustert“, kommt das wichtigste. Wie wird der Film dargestellt und vor allem wie schnell? Angenehmerweise benutzt FILM_AB zum Abspielen einen CINEMASCOPE-Modus, d.h., das 320 Pixel breite Bild wird etwas horizontal „gestretcht", damit es keine schwarzen Ränder gibt. Oben und unten bleiben die „Balken“ aber. Es sieht dann halt aus wie ein Breitwandkinofilm. Als Gimick darf man im oberen Rand ein Logo etc. einblenden. Abgespielt wird der Film dann auf einem „normalen" Falcon mit bis zu ca. 15 Bildern pro Sekunde, was ganz ordentlich ist, nur schnellere Kameraschwenks werden etwas „holprig“. Optimal sind 25 Bilder pro Sekunde aber hier setzt die Datendurchsatzrate des Systembusses Grenzen. Mit einem Hardware-Beschleunigerläßtsich allerdings noch etwas mehr „rauskitzeln“. Laut eigener Angabe schafft der Autor von FILM_AB bei 20 MHz Bustakt und schneller IDE-Platte ca. 3 MB/s, also fast die vollen 25 Bilder pro Sekunde. Als nützliche Beigabe bietet das Programm schon die Möglichkeit, MPEG-Filme zu erzeugen, welche ja durch hohe Kompressionsraten glänzen. Im Test habe ich aus einem 200-Bilder-Film (ca. 25MB) ein 600 KB großes MPEG-Filmchen erzeugt. Bei entsprechendem Feedback will der Programmierer FILM_AB ständig verbessern. Damit dürfte ja schon einigen NeoN-Regisseuren der Weg zur Videocompetition auf der Symposium96 geebnet sein. Wenn jemand weitere NeoN-Tricks(oder sonstwas?) auf Lager hat (Lensflares?), kann man mich neuerdings im Mausnet unter „Kay Tennemann @ HH3" anmailen.

Kurz zurück zur Scene: Die angekündigten Infos zur AGRESSIVE Party 2 tröpfeln zur Zeit nur spärlich. Außer ein paar Shortros ist bis dato nichts Nennenswertes angekommen, aber es wurden zwei Falcon- und eine ST/E-Demo gezeigt, die dann auch bald released werden sollten.

Bis dahin gehen Grüße an Silli und Gwen, sowie ein Dank an INTER.

Ciao, euer A.-t- of CREAM


Kay Tennemann
Aus: ST-Computer 03 / 1996, Seite 60

Links

Copyright-Bestimmungen: siehe Über diese Seite