Was ist das? Wie geht das?
Extrudieren

Die Buchstaben wirken wie Gegenstände: Sie haben eine helle und eine dunkle Kante, zusätzlich ist hier noch ein Schatten vorhanden.
Durch Extrudieren macht man ein ebenes Objekt (einen Kreis, ein Quadrat, irgendeine Fläche) plastisch, dreidimensional, also den Kreis zu einem Zylinder, das Quadrat zu einem Würfel oder Quader, allgemein: die Fläche zu einem Körper. Das Objekt wird praktisch aus der Ebene herausgehoben, die Kanten erweitern sich dabei zu Seitenflächen (s. Wikipedia).
Damit nun auch auf dem (flachen) Computerbildschirm solch ein dreidimensionaler Eindruck entsteht, versieht man ein extrudiertes Objekt mit Schattierungen, als ob es von einer imaginären Lampe beschienen würde. Das Objekt wird mit einer helleren und einer dunkleren Seite ausgestattet, wie hier rechts zu sehen (Lichteinfall von links oben).
Einfache Extrusion
Solche Extrusionen haben wir schon einmal in einem anderen Zusammenhang beschrieben: beim Umranden durch Versatz (dort Beispiel 3, zweites Bild, die Beschriftung "Gustav Klimt") und noch besser erkennbar beim Umranden durch Kantenerkennung (speziell Beispiel 12) mittels Emboss.
Wie kriegt man nun aber so etwas wie die folgenden Beispiele 1 und 2 mit GoDot hin, so etwas wie eine isometrische Darstellung?

(Beispiel 2) Eine "Goldbarren-Extrusion".
Antwort: Man geht so ähnlich vor wie beim Umranden mit Versatz. Man braucht dazu weiße Objekte auf schwarzem Grund (Schriftzeichen sind bestens geeignet), die Modifier Scroll, Cartoon, PixelEdit und Histogram und den Lader 4BitGoDot (Funktion: Compose/Mix). Für die Goldbarren brauchen wir zusätzlich QuickMask und DrawMask. Hier zunächst die Abfolge für die 45-Grad-Extrusion (Beispiel 1):
Kavalier-Perspektive

Vorlage

Versatz (5 Mal)

Schattierung

Umrandung

Editieren
Ausführliche Anleitung (s. Bilderfolge oben)
Vorlage:
(Canvas schwarz färben:)
Inst "
ClipWorks" - Execute - ClrClp / schwarz / Inside - Cancel
(Buchstaben schreiben, hierfür Disk mit Font "Impact" bereithalten:)
Load: "
Fonts"
Inst "
Titler" - Execute - Get Font "Impact", Col weiß, M>H, Upper "G", Set Char, (Char positionieren), Leave
(Buchstaben aufs Doppelte vergrößern:)
Inst "ClipWorks" - Execute - Clip /(Clip um den Buchstaben ziehen)/ Accept
Inst "
StretchClip" - Execute
Inst "ClipWorks" - Wid: (verdoppeln) - Hgt: (verdoppeln)
Inst "
Squeeze2Clip" - Execute
(
Modus:) Hires - Display
(Umriss des Buchstabens glätten:)
Inst "
PixelEdit" -
(Modus:) Einzelpixel - Execute - (Pixel einfügen) - Exit
(Vorlage abspeichern:)
Save: "
4BitGoDot" (voreingestellt) - Save "Vorlage.4bt"
Versatz:
Inst "
Scroll"
Load: "
4BitGoDot"
(5 Mal durchführen:)
Execute - 1 Pixel Nordwest
(d.h.: 1 nach links / 1 nach oben) - Leave
(
wenn als "Undo 4Bit" auf REU abgespeichert: Source: Undo)
Load - Compose - FGr - 25% - Mix "Vorlage.4bt" - Cancel Load
Schattierung:
(3D-Rand erzeugen:)
Inst "
Histogram" - Execute - Join /
alle gesetzten Farben
außer schwarz, weiß und hellgrau taggen - Target hellgrau
(Hintergrund nach blau umfärben:)
- Swap / schwarz, blau - Exit
Umrandung:
(Kanten schwarz einfärben:)
Inst "
Cartoon" - Execute
Inst "
RimBooster" - Execute -
(Modus:) Hires /
(Farbe:) schwarz / Boost!
Editieren:
(die Schatten korrigieren und die kurzen 45-Grad-Verbinder einpixeln:)
Inst "
PixelEdit" -
(Modus:) Einzelpixel - Execute - schwarz - Edit - (Pixel einfügen) - Exit
...und hier für die "Goldbarren"-Extrusion (Beispiel 2):
Goldbarren-Extrusion

Vorlage

Versatz 1

Versatz 2

Schattierung 1

Umrandung

Editieren

Schattierung 2
Kurzanleitung
Vorlage: Genau wie oben bei der Kavalier-Perspektive
Versatz 1:
Scroll - 4 Pixel Nordwest - Leave
(
wenn als "Undo 4Bit" auf REU abgespeichert: Source: Undo)
4BitGoDot - Compose - Mix all 25% "Vorlage.4bt" - Cancel Load
Versatz 2:
Scroll - 4 Pixel nach unten - Leave
4BitGoDot - Compose - Mix all 25% "Vorlage.4bt" - Cancel Load
Schattierung 1: wie oben bei der Kavalier-Perspektive,
zusätzlich: PixelEdit (Ausgleich von Stellen, die zu dünn/zu dick sind, z.B. links unten)
Umrandung:
Cartoon
RimBooster - Execute -
(Modus:) Hires /
(Farbe:) schwarz / Boost!
(
Modus:) Multi - Display
Editieren:
PixelEdit -
(Modus:) Einzelpixel
(die Schatten korrigieren und von Hand die kurzen Schrägverbinder eintragen)
Schattierung 2:
QuickMask - hellgrau
DrawMask - Brushsize 6 - Draw Mask
(die beleuchteten Kanten löschen)
Save:
4BitGoDot "Undo.4bt"
ClipWorks - ClrClp mittelgrau - Inside
4Bit&Mask - Invert Mask - Get 4Bit from Disk "Undo.4bt"
Hinweis: Auf diese Weise extrudierte Buchstaben sehen nur im Druck oder auf dem Mega65 gut aus (oder für andere Computerplattformen abgespeichert, z.B. als GIF, wie alle Beispielbilder hier), da ihre schwarzen Konturränder nur einen Pixel dick sind. Auf dem Bildschirm reicht die (Farb-)Auflösung des C64 nicht für eine korrekte Darstellung aus (eben nur auf dem Mega65). Die nötige Abhilfe schafft vor allem der Modifier RimBooster. Er verdickt alle senkrecht verlaufenden einpixligen Objekte einer wählbaren Farbe mit einem weiteren Pixel in der gleichen Farbe. Nicht ganz so gezielt wirksam ist ein anderer Modifier: ReColorIFLI. Mit ihm werden Doppelpixel behandelt. Ist einer dieser beiden Pixel in der "falschen" Farbe, kann das hiermit korrigiert werden. Man kann aber natürlich auch die Konturdicke (mittels PixelEdit) von Hand größer pixeln, wenn man viel Zeit hat und Wert auf beste Ergebnisse legt.
...und schließlich für abgekantete Flächen (Beispiel 3), die...
Chisel-Abkantung
Die dritte Extrusionsmethode funktioniert nur bei Gradient-Farbverläufen, ist dafür aber im Prinzip äußerst simpel: Die Ränder des Verlaufs werden auf der einen Seite ein Stückchen nach oben versetzt, auf der anderen Seite genauso weit nach unten, die obere und untere Kante jeweils heller oder dunkler ausgegeben und die Ecken angeglichen.

Deutlich zu sehen
(Graustufenbild).

Demo-Font
(by Atomic Flash).
Der Modifier Chisel erledigt das in verschiedenen Randbreiten. Im großen Bild 4 und 2 Pixel stark, im ersten kleinen 8 Pixel (verkleinerte Darstellung). Die Ecken werden angepasst, damit der 3D-Effekt überhaupt entsteht, allerdings nur bei einer Breite von 8 Pixeln so, dass nicht nachgearbeitet werden muss. Die schmaleren Breiten lassen bei Chisel Lücken, die man besser mit PixelEdit korrigiert. Das Ergebnis kann man gut für Schaltflächen oder Containerboxen verwenden.
Die Chisel-Abkantung ist in GoDot ein sehr spezieller Effekt, der wahrscheinlich nicht so häufige Anwendung finden wird. Er wird hier der Vollständigkeit halber aufgeführt. In Demos wird das Grundprinzip der Abkantung oft bei großen Scroller-Schriften eingesetzt (zweites kleines Bild).
zurück - zu den Tutorials
Arndt Dettke
support@godot64.de