Alphakanal der Brechung in einem Glaskörper

keekilein

Grünschnabel
Hallo,
da ich weder über Google, noch die Suchfunktion dieses Forums etwas gefunden habe, stelle ich einfach mal hier meine Frage.
Ist es in 3dsmax (5.1) möglich, den Alphakanal (in Graustufen) eines Gläskörpers zu rendern?
Ich befürchte fast nicht, denn normalerweise wird ein Glaskörper im Alphakanal als Voll-Material dargestellt. D.h. als volle weiße Fläche. Damit ihr mich versteht schreibe ich noch ein Beispiel:

Ich habe eine Linse aus Glas, welche die Objekte dahinter bricht(verzerrt).
Da ich den Hintergrund der gesamten Szene dynamisch verändern möchte, benötige ich den Alphakanal des Glaskörpers inklusive der Brechung.

Ich hoffe es hat jemand einen Vorschlag,
keek
 
Hallo das Problem wird nicht am Alphakanal liegen denn das würde funktionieren aber die Brechung wird es werden da das ja im max berechnet wird aber ich denke das man das im Photoshop sicher so verziehen kann das es ähnlich bis gleich gut aussieht.

mfg. Visu
 
Naja - nimm den mentalRay renderer und das Glass (Physics_phen ) material (oder nen selbst zusammengestelltes mr material) - dann klappts auch mit dem Alphakanal.

Was die Brechung des Hintergrundes angeht... das wird schwieriger - aber nicht unmöglich...

Leg eine Plane so hinter deine Linse, dass sie genau den viewport ausfüllt. Am besten mappst du mal eine deiner Hintergründe darauf, und passt sie so an, dass es stimmt, so werden später nämlich alle Hintergründe gemapped.
Jetz gibst du der Plane ein material mit 100% selbstillumination und nem Gradient von schwarz nach weiss im diffusekanal (das mapping stellste auf UV). Deiner Linse gibst du ein Komplett! refraktives material (ohne Glanpunkte, ohne fresnel, ohne nix :) nur refraktion!)
Jetzt render deine Scene/animation in irgend ein 16bit oder 32bit pro kanal file!
Stell jetzt das mapping des Gradients von UV auf WU und rendere nochmal.
Jetzt kombinierst du die beiden renderings in irgend nem composite programm so, dass du das erste im R kanal und das zweite im G kanal hast.
Falls du in max einen passenden plugin composit shader hast, kannst du die obigen Schritte auch gleich in einem einzigen durchgang machen!
Dieses rendering benutzt du jetzt in deinem composite Programm als Texturkoordinaten für den Texturelookup deines Hintergrundes (sofern dein Programm sowas unterstützt) Und legst das Resultat hinter dein Linsenrendering mit Alphakanl.
 
schon mal vielen Dank für eure Mühe.

Als Renderer benutze ich übrigens Brazil Rio. Der scheint einen direkten Aplhakanal für die Brechung nicht zu unterstützen.

Ich bin momentan soweit gekommen, dass ich das Objekt hinter der Linse schwarz mit 100% Illumination belege und den Rest der Szene weiß mache.
Das Resultat nutze ich dann als invertierten Alphakanal für die Animation.
Da es sich um viele Animationen handelt wäre es nur schön gewesen, wenn man beim Rendern direkt den korrekten Alphakanal dabei hätte.

lg
keek
 
Zurück