Particle Candy funktioniert mit Alpha Plane nicht

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

barratator

Betreff: Particle Candy funktioniert mit Alpha Plane nicht

BeitragMi, Feb 11, 2009 15:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
ich bin seit einigen Tagen stolzer besitzer von Particle Candy Smile
Jedoch gibt es ein kleines Problem:
Ich habe eine Plane unterhalb des Partikel-Emitters. Wenn ich das Plane auf eine Halbtransparenz (mit EntityAlpha) schalte werden alle Partikel dort unsichtbar, sobald das Plane keine Transparenz mehr hat ist wieder alles normal.

Screenshot: http://sau.frubar.net/shots/32190.jpg

Was mache ich falsch, bzw. was kann in so einem Fall die Ursache sein?


Gruß
Bastian
 

Fredko

BeitragMi, Feb 11, 2009 15:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Das liegt an Flag 2 bei Texturen, denn bei dem Alpha Kanal wird der Z-Buffer ausgeschaltet, deswegen müsstest du die Partikel mit Flag 4 laden, da dies dann nicht passiert, aber immer noch eine halbwegs gute Transparenz machen kannst.
!
 

barratator

BeitragMi, Feb 11, 2009 16:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber wenn ich die Texture weglasse (also garkein EntityTexture für das Objekt anwende) passiert immernoch das gleiche.


Gruß
Bastian

Xaymar

ehemals "Cgamer"

BeitragMi, Feb 11, 2009 16:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst den Falg 2 weglassen(bzw Entityalpha) und nciht entitytexture. entityalpha(bzw flag 2) schaltet Z Buffer rendering ab. ich hab irgendwo im codearchiv von blitzbasic.com eine funktion für sorted alpha rendering gesehen.
Warbseite
 

barratator

BeitragMi, Feb 11, 2009 17:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Gibt es keine andere Möglichkeit, einen Plane durchsichtig zu machen, ohne dass alle Partikel unsichtbar werden?

NightPhoenix

BeitragMi, Feb 11, 2009 17:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein
Selbst wenn du EntityAlpha benutzt tritt das Problem auf, ist nicht umbedingt texturabhängig.
Du darfst bei sowas schlicht und einfach kein Alpha benutzen. Softwareentwickler kommerzieller Spiele haben das selbe Problem, deshalb gibts Shader, die vom "Meeresboden"/"Flussbett" ein Foto machen und es auf die Wasseroberfläche ziehen, ohne Alpha, es sieht nur so aus, als obs durchsichtig wäre. Du kanst in Blitz Shader nachahmen, Schlüssel dazu ist der Befehl "CopyRect".
Oder du machst gleich eine vollkommen spiegelnde Fläche als Wasser (nicht CreateMirror!), sondern mit einer Cubemap.
Ist schlicht und einfach ein Z-Buffer Problem, das gibts in keinem 3D Spiel der Welt besser/genauer Wink Angeblich weil Z-Buffer auf Alpha-Objekte angewendet zu rechenintensiv wäre.
MfG.

*edit*
hier mal ein Beispielbild zum Cubemapping eines meiner ersten Projekte
http://marinext.ma.funpic.de/i...being1.PNG
http://marinext.ma.funpic.de/i...being8.PNG
Verzerrungen bekommt du durch Vertices verschieben zustande Wink
MfG

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group