Wie Bump-Map auf 2D-Bildern erstellen?

Übersicht Sonstiges Smalltalk

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

hectic

Sieger des IS Talentwettbewerb 2006

Betreff: Wie Bump-Map auf 2D-Bildern erstellen?

BeitragFr, Feb 06, 2009 15:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Hat vielleicht jemand eine Idee, wie man 2D-Bildern ein vernünftiges Bumpmap verpassen kann?

Die Belichtung im folgendem Bild ist noch statisch, soll aber immer individuell über Dot3 berechnet werden. Die Bump-Zeichenroutinen funktionieren über Draw3D V.3.3 schon recht gut, nur habe ich kein Plan über Möglichkeiten zur Erstellung solcher Bilder.

user posted image
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

ZaP

BeitragFr, Feb 06, 2009 15:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du die nicht zur Laufzeit erstellen willst, gibt es für Gimp ein Plugin was das kann und recht brauchbare Ergebnisse liefert. Zu finden ist das ganze hier: http://nifelheim.dyndns.org/~cocidius/normalmap/
Starfare: Worklog, Website (download)

aMul

Sieger des Minimalist Compo 01/13

BeitragFr, Feb 06, 2009 16:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Der einzig wirklich vernünftige Weg ist es ein Model zu erstellen und das ganze dann entsprechend der Normalen eingefärbt zu rendern.
Das dauert natürlich länger als es durch ein Tool laufen zu lassen, aber es sieht danach in der Regel wesentlich besser aus.

Gerade bei solchen 2D-Objekten kann man irgendwelche Tools oder Filter in der Regel vergessen, wenn man eine vernünftige Beleuchtung möchte. Hier muss man schließlich in der Normalmap die gesamten 3D-Informationen speichern, wenn man 3D-Objekte hat bieten die das ja selbst schon und Normalmaps werden hier häufig nur dazu benutzt, der Oberfläche mehr Struktur und Plastizität zu geben.
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver
  • Zuletzt bearbeitet von aMul am Fr, Feb 06, 2009 16:43, insgesamt einmal bearbeitet

Xaymar

ehemals "Cgamer"

BeitragFr, Feb 06, 2009 16:43
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe hier ein TOol um aus einer heightmap eine normalmap errechnen zu alssen(natürlich auch als bild abspeichern):

https://www.blitzforum.de/upload/file.php?id=4616

falls du die zur laufzeit errstellen willst:
an dem problem hing ich auch mal und habs aufgegeben.
Warbseite

hectic

Sieger des IS Talentwettbewerb 2006

BeitragFr, Feb 06, 2009 17:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmmm, also, ich will das ganze nicht automatisch erstellen lassen, sondern wirklich selbst bestimmen welche Fläche in welchem Winkel zu ''Z'' steht. Am besten gefällt mir der Vorschlag von aMul, also den Weg eines 3D-Models. Das Problem bei der Sache ist aber, dass ich kein Programm gefunden habe in dem man mal so eben Quads zeichnen kann, welche dann nachträglich in die Z-Koordinate bearbeitet werden können.

Wings3D zum Beispiel ist leicht zu bediehnen. Aber Triangles und Quads damit erstellen schein wohl nicht so einfach zu gehen. Selbst bei unzähligen Blender-Tutorials habe ich kein Video diesbezüglich auf YouTube gefunden. Am besten würde ich es finden, wenn man in einer nicht perspektivischen Ansicht über eine gescante Zeichnung die Quads mit der Maus einfach so frei erstellen, und im nachhinein dann die Z-Tiefen bearbeiten und glätten kann. Ich würde mir auch selbst so ein Programm schreiben, nur ein Dateiexporter zu schreiben um die selbst erstellten Models dann z.B. mit Wings weiter zu bearbeiten, scheint dann doch etwas zu kompliziert.

Aus diesem Model müste sich dann recht leicht eine Bumpmap erstellen lassen.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Chrizz

BeitragFr, Feb 06, 2009 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Was brauchst du denn jetzt genau? Eine Bumpmap, also eine Hightmap oder eine Normalmap? Denn wenn du nur eine Hightmap brauchst kannst du die auch selber zeichnen, das geht schneller als das ganze zu modellieren und dann daraus die Map zu ziehen.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragFr, Feb 06, 2009 17:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich brauche eine Bumpmap. Also die Dinger mit komischen Farben wo Rot für X, Grün für Y und Blau Licht aus der Z-Richtung steht. Um diese aber erstellen zu können, bräuchte man ja nun im idealfall ein einfaches 3D-Model um aus diesem dann eine Bumpmap erstellen zu können.

Wie man so präzise eine Highmap erstellen soll, ist mir zur Zeit noch ein Rätzel. Wenn ich nun mit der Maus so etwas zeichnen wolle, dann wäre das alles sehr hügelig und das Auto hätte kaum noch klare Linien als viel mehr eine zerbeulte Blechbüchse. Aber wenn du da eine vernünftige Rangehensweise hast, dann bin ich natürlich ganz Ohr. Wink
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Goodjee

BeitragFr, Feb 06, 2009 17:54
Antworten mit Zitat
Benutzer-Profile anzeigen
naja, die grafikkarte interpoliert ja die werte zwischen zwei pixeln, wenn du also mit weichzeichner oder farbverläufen arbeitst sollte das doch gehn?

und sollte man nich prinzipiell aus einer hightmap gut eine normalmap berechnen können?
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

ZaP

BeitragFr, Feb 06, 2009 18:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Am einfachsten würde sich wohl aus der Grafik eine Heightmap erstellen (manuell versteht sich) und diese dann in eine Normalmap umwandeln lassen.
Starfare: Worklog, Website (download)

hectic

Sieger des IS Talentwettbewerb 2006

BeitragFr, Feb 06, 2009 18:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Aus einer Highmap kann man ganz gut eine Bumpmap erstellen lassen. Das Problem ist aber folgendes: Wie soll man denn zum Beispiel aus dem oberem Beispielbild eine vernünftige Highmap erstellen? Im oberen Fahrzeug ist das ganze Fahrzeug gewölbt und die obere Hälfte hat eine Zierkante die ebenfalls geschwungen ist. Mit Airbrushwerkzeugen kann ich es sicherlich nicht erstellen. Außerdem bietet mir eine Bumpmap auch die Möglichkeit von weiteren Details. In diesem Beispiel mal die Spalten zwischen Einzelteilen wie die Türkanten. Die auch einzelnd mit Schattierungen versehen werden könnten. Ein Weichzeichner scheidet also grundsätzlich aus. Ewiges maskieren um grobverläufe auf Einzelebenen anzuwenden scheint mir auch etwas suspekt. So würden harte Kanten entstehen, wo keine sein sollten etc... Also, wer eine Möglichkeit hat immer her damit. Aber mir scheint das ganze nicht so mal eben schnell zu erledigen sein, mit einfach mal eine Highmap zu erstellen.

Die Frage als. Welches 3D-Programm erlaubt es schnell und einfach Quads in einer Ebene zu erstellen, die man dann nachträglich noch verändern kann. Meine Idealvorstellung wäre: Man zeichnet auf der Z-Ebene 0 über ein gescantes Image die Konturen und Kanten des Bildes mit Quads nach, und manipuliert dann im nachhinein die Tiefe einzelner Teile um aus dessen die Wölbungen zu generieren. Aus dieser ''Höheninformation'' kann man dann die Highmap erstellen, aus welcher dann die Bumpmap ensteht. Aber ich kenne kein Programm, welches erlaubt so einfach Quads zu erstellen.


Ich hab mal ein Beispiel erstellt:

Gelb = Konturlinien
Rot = Detail-Konturlinien
Weiße Pfeile = Vektor wohin es nach hinten weg geht
Schwarze Pfeile = Vektor wohin es nach hinten weg geht, aber nur ganz leicht
-
Untere Zeichnung zeigt eine Seitenansicht in der Mitte vom Fahrzeug. Auch hier meiner Meinung nach kaum mit manuellen Mitteln als Highmap zu schaffen.

user posted image

Ich glaube nicht, dass man eine Highmap manuell annähern richtig zeichnen kann. Man würde über das gesamte Fahrzeug zu viele unebenheiten rein bringen, die man so als Highmap nicht erkennen würde, aber als Bumpmap deutlich werden.

Edit1: Ich hab mir grad das *.obj -Format angesehen, welches vom Aufbau recht einfach ist. Ich werden versuchen ein eigenes Programm zu schreiben, mit welcher Hilfe ich solche Quads zeichnen kann um die gespeicherte Datei dann mit Wings3D zu öffnen um ggf. weitere smooth-Effekte und anderes zu bearbeiten. Dieses Modell müßte dann noch mit einem Programm als Vorlage für eine Bumpmap diehnen.

Goodjee

BeitragFr, Feb 06, 2009 18:59
Antworten mit Zitat
Benutzer-Profile anzeigen
vllt könntest du auch einfach ein grid in blender erstellen und dann die textur drauf und ein bisschen mit dem sculpwerkzeug darauf losgehen
könnte nur vllt ein wenig ungenau an den kanten werden, aber die werden ja später nich verwendet
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Chrizz

BeitragFr, Feb 06, 2009 19:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Mhm, also wie ihr so einfach aus einem 3d Modell eine Highmap ziehen wollt ist mir allerdings auch ein Rätsel. Der einzige mir bekannte Weg ist ein z depth Rendering (Beispiel siehe hier). Keine Ahnung welche Renderer außer VRay diese Technik beherrschen. VRay denke ich dürfte für dich wohl entfallen, da es zu teuer ist.

Bleibt also nur die Variante mit dem Selberzeichnen.
Ich werde mal versuchen, dir eine Hightmap von dem Auto zu erstellen.

mahe

BeitragFr, Feb 06, 2009 19:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Müsste mit Blender auch mittels "bake rendering" gehen, oder?
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ,

hectic

Sieger des IS Talentwettbewerb 2006

BeitragFr, Feb 06, 2009 19:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Chrizz, würde mich freuen, wenn das Ergebnis gut aussieht und sich auch einfach erstellen lässt. Auf jeden Fall bin ich mal gespannt.

Zu dem *.obj-Dateiformat habe ich es bis auf folgendes reduzieren können:

Code: [AUSKLAPPEN]
o BumpVorlage
v -2 +1 0.0000
v +1 +1 0
v +1 -1 0
v -1 -1 0
f 4 3 2 1


- Erste Zeile ''o'' bestimmt den Objektnamen
- Die nächsten Zeilen ''v'' geben die X Y Z -Vertexkoordinaten vor. Das sind Floats, müssen aber keine Nachkommstelle haben.
- Die letzt Zeile ''f'' bestimmt die Verbindungsreihenfolge (gegen den Uhrzeigersinn)

Diese Datei lässt sich mit Wings3D fehlerfrei importieren und weiter bearbeiten.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Noobody

BeitragFr, Feb 06, 2009 19:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Chrizz hat Folgendes geschrieben:
Mhm, also wie ihr so einfach aus einem 3d Modell eine Highmap ziehen wollt ist mir allerdings auch ein Rätsel.


Mit einem Code in Blitz ginge das relativ schnell, vor allem, weil man ja nur eine Frontansicht braucht.
Entweder Quick'n'Dirty mit CameraPick oder für grosse Modelle die Z-Daten aus der Position der Vertices interpolieren.
Eine Normalmap ginge auch entsprechend schnell, Blitz bietet ja so tolle Befehle wie PickedNX und Konsorten.

Das einzige Problem bleibt weiterhin das 3D-Modell, was ja auch hectics ursprüngliches Problem ist.
Mir fiele dazu nur die Möglichkeit ein, sich halt einen Editor zu schreiben, der das beherrscht, was man braucht - aber das ist natürlich wieder Zeitaufwändig.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

NightPhoenix

BeitragFr, Feb 06, 2009 19:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Soweit ich weiß sind hectics "Bumpmaps" mit dem blau, lila, grün "Normalmaps"
Und "Heightmap" = "Bumpmap"

Nur um mal die Verwechslungen zu klären Wink

@Chrizz
Doch man kann dieses z-depth rendering eigentlich recht easy machen. Man muss in dem Modellierprogramm (was auch rendern können muss) einfach auf das Modell planar ein Farbverlauf schwarz-weiß (glaube das heißt Radient) ziehen, sodass die weißen Stellen zu der Renderkamera hin zeigen. Dadurch erhält man eine super Heightmap/Bumpmap Wink hab ich selbst schon mehrmals benutzt, funzt super!

Goodjee

BeitragFr, Feb 06, 2009 19:38
Antworten mit Zitat
Benutzer-Profile anzeigen
so, ich hab das mit dem sculp versucht, und ich hatte ienfach zu wenig skills um nich nur eine buckelige fläche zu kriegen Very Happy
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Chrizz

BeitragFr, Feb 06, 2009 19:39
Antworten mit Zitat
Benutzer-Profile anzeigen
@Noobody: Stimmt, an die Möglichkeit, dass man das mit Blitz realisieren kann hab ich überhaupt nicht gedacht. Das wäre allerdings eine sehr gute Alternative.

@mahe: Das man mit texture-baking sich auch Normalmaps baken kann ist mir neu, man lernt halt nie aus. Wink

@Nightphoenix: Das is dann aber ein "faking z depth". Solange es seinen Zweck erfüllt ist es legitim. Ich brauchte diesen z depth kram bisher auch nicht. Hab meine Bumpmaps bisher immer selber gemacht.

MfG Chrizz

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, Feb 07, 2009 2:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab es nun zumindest zufriedenstellend geschafft. Dazu habe ich ein Editor geschrieben, mit welchen man dann Quads einzeichnen kann. Beim speichern wird eine 3D- *.obj -Datei erstellt, die ich dann mit Wings3D geladen habe, um diese weiter zu bearbeiten. Das ganze habe ich dann als *.3ds abgespeichert, und mit einem anderem BB-Programm daraus eine Highmap erstellt. Die Bumpmap habe ich dann letztendlich nun noch mit CrazyBump (Trial-Version) erstellt.

Wer sich ein Bild davon machen möchte, habe ich ein Archiv hochgeladen. Es zeigt das obige Fahrzeug mit Bumpmap. Dieses wird soweit von der Draw3D V.3.3 unterstützt. Allerdings gefällt mir der ganze Lade- und Organisierungsaufwand nicht. Vor allem, wenn man mehrere Teilbilder aus einem Image mit Bumpmapping anzeigen will, muß man alles immer wieder neu laden und grabben. Vielleicht fällt mir noch was dazu ein. Der Code (ohne der Draw3D V.3.3) ist zur Besichtigung beigelegt.

https://www.blitzforum.de/upload/file.php?id=4621

Denoch vielen Dank an die Hilfe...
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

ke^kx

BeitragSa, Feb 07, 2009 5:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Sieht schonmal verdammt nice aus Smile

Nur an der oberen Kante des Bildes gibt es noch ne etwas störende Linie, sieht man besonders gut bei Vim 1, aber auch bei 0.5 ist es noch sichtbar.

Auf alle Fälle trotzdem top Wink
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group