Problem mit PNG Alpha kanal bei halbtransparenten Objekten

genesys

Gesperrt
Hiho . . . . ich hab n kleines problem . . .
Ich arbeite häufiger mit PNG grafiken, weil man so einfach gerenderte Objekte samt Maske in Flash verwenden kann . . .

Das funktioniert perfekt - ausser man benutzt transparente Objekte (wie z.b. ein Volumenlicht) . . .

Also nehmen wir als Beispiel eine Kugel, welche ein Grünes Volumenlicht ausstrahlt. Ich rendere Das auf Schwarzem hintergrund
Links ist der RGB kanal und rechts der von max generierte Alpha kanal:

<img src="http://neo.cycovery.com/kugelproblem.jpg">

Das Problem ist jetzt, dass im PNG einfach dieser Alpha kanal auf diesen RGB kanal angewendet wird, obwohl das licht schon im RGB kanal halb transparent gerendert wurde - dadurch ist nacher, wenn ich das PNG über eine Schwarze fläche Lege, das Licht kaum noch zu sehen.

Um das Problem zu Beheben, muss ich die ganze scene zweimal rendern - einmal normal und dann speichere ich nur den Alpha kanal - dann muss ich alle transparenten flächen (hier das volumenlicht) so einstellen, dass sie 100% sichtbar sind (also dichte auf 200 oder so). Dann rendere ich ein zweites mal und speichere den RGB kanal.
Nun muss ich den Alpha kanal des ersten renderings in Photoshop auf den RGB kanal des zweiten renderings anwenden, um in etwa das korrekte ergebnis zu erzielen (in der regel muss ich die levels des Alphakanals noch stark anpassen, weil er zu dunkel ist).

Nun ist das ganze leider sehr mühsahm - vorallem wenns dann um Animationen mit 400 Bildern geht . . . .

Das muss doch irgendwie direkt gehen!?

Danke für die Hilfe . . .
 
wie verhält es sich denn wenn du ein Tiff mit Alphakanal rausrenderst?

ein workaround könnte sein das Volumenlicht dichter einzustellen so das der Alphakanal mehr "Masse" hat.

grüsse
tganter
 
das mit dem stärker einstellen geht aus dem grund nicht, dass das Volumenlicht teilweise über einem gerenderten Objekt liegt, welches natürlich die maske auf 255 hat - dort ist es dann viel zu dicht . . . . ausserdem ist dann die lichtabnahme immernoch exponentiell in den fadeout bereichen (weil ja einerseits der RGB kanal ausgefadet wird und dann zusätzlich noch der Alpha kanal)

bei Tiff isses dasselbe
 
Bei mir sieht der Alphakanal allerdings wesentlich dichter aus, hast du vielleicht eine Lichtabnahme bei der Lichtquelle definiert?

wie wäre es bei dem Spot eine Nah-Lichtabnahme zu definieren sodass das Volumenlicht nicht über dem Objekt liegt sondern erst später anfängt und dann die Dichte hochzudrehen.
 

Anhänge

  • test.jpg
    test.jpg
    9 KB · Aufrufe: 76
Ist das Problem eigentlich nicht, dass durch den niedrigen Alpha Wert der Rauch, zusätzlich zu seiner "Undichtheit" nochmal abgeschwächt wird?
 
genau Newimer hats kapiert :))


@ tganter - das ist nicht das problem . . . sobald halt RGB und Alpha beide einen fade haben, wird es zu stark abgeschwächt . . .
und zur lösung - ich arbeite nicht mit kugeln die Licht aussenden :) das war nur ein einfaches beispiel zur verdeutlichung :) die scenen die ich brauche sind komplexer . . . aber nichtmal bei der Kugel ginge das, weil immer noch sowohl alpha kanal als auch RGB kanal gefaded würden . . .
Ich suche eigentlich nach folgendem weg:

Wenn ein Objekt vor dem hintergrund liegt und Transparent ist, soll es der RGB kanal als untransparent gerendert bekommen und der Alpha kanal als Transparent - dadurch hätte ich nacher wieder den richtigen zustand . . .
 
ich hätte ne komische Lösung. Man kann bestimmt den Output Wert ziemlich hoch machen, so auf 1000, dann dürfts ziemlich weiss werden :-)
 
nein - das Problem ist, dass wenn die Maske einfach zu hell ist, sieht der Fade zwar korrekt aus, aber er ist nicht transparent . . .
Die maske muss in etwa so bleiben, wie sie ist - das RGB bild muss entsprechend grendert werden (halt so - dass der richtige effekt erst in zusammenspiel mit der maske entsteht)

Das muss doch gehen . . .
 
wenn du Combustion oder After Effects hast kannst du die beiden Kanäle getrennt voneinander Rendern und dann im Compositing zusammenbauen.
Dabei kann man dann in Echtzeit die Effekte einstellen.

viele Grüsse
tganter
 
Zurück