Partikle engine - teilchen ausrichtung



  • huhu.

    ich zeichen meine partikel mit quadraten. diese sind in einer z ebene gezeichnet.
    Wenn ich mich nun um die y achse drehe, wird der winkel zw. particle-normale und "bildschirm" natürlich immer kleiner.
    Muss ich meine partikel jetzt immer ausrichten, so dass sie immer richtung bildscirm zeigen, oder gibt es da einen anderen trick?



  • xroads42 schrieb:

    Muss ich meine partikel jetzt immer ausrichten, so dass sie immer richtung bildscirm zeigen, oder gibt es da einen anderen trick?

    Auch wenn der Satz rein korinthenkacker-mäßig völliger Quatsch ist 🕶 macht man das in aller Regel so. Nennt sich "billboarding" (Stichwort für die Google-Suche) und hat Wolfenstein3D schon so gemacht. Das entspricht dann am ehesten dem Prinzip der "Sprites". Je nachdem was Deine Partikel aber darstellen sollen ist das vielleicht auch nicht die richtige Wahl, kommt sicher drauf an.

    EDIT: Das mit dem Korinthenkacker nehm' ich zurück, hab' die Anführungszeichen in der ersten Verwendung des Wortes übersehen... 😉 🤡



  • danköö für das stichwort.
    aber das bischen mathe bekomme ich aus so noch hin ^^



  • Spanne einfach deine Partikel mit den X und Y Basisvektoren im Koordinatensystem der Kamera auf, eigentlich trivial. Nur bei Effekten an z.b. Wänden oder Wasser würde ich 2 Vektoren in diesen Ebenen nehmen.

    Sgt. Nukem schrieb:

    hat Wolfenstein3D schon so gemacht.

    Nein, denn dort konnte man nicht auf/ab schauen.

    Bye, TGGC \-/



  • das hängt auch vom öffnungswinkel der Cam ab, wenn man wirklich immer Quadrate sehn will muss man die Normalen auf die Camera ausrichten.Zumindest für einige Partikel.



  • b7f7 schrieb:

    wenn man wirklich immer Quadrate sehn will muss man die Normalen auf die Camera ausrichten.

    Was bitte hat die Form (quadratisch) mit den Normalen zu tun?

    Bye, TGGC \-/



  • TGGC schrieb:

    b7f7 schrieb:

    wenn man wirklich immer Quadrate sehn will muss man die Normalen auf die Camera ausrichten.

    Was bitte hat die Form (quadratisch) mit den Normalen zu tun?

    Ganz einfach: Wenn du einen Partikel hast, der mit einer auf die Camera ausgerichteten Normale nach der Transformation quadratisch erscheint, dann erscheint dieser nicht mehr quadratisch sobald die normale von der Camera-Achse abweicht.
    Vorrausgesetzt natürlich man hat keine dynmischen Vertexdaten und Normale und Posdaten sind konstant.

    Hoffe geholfen zu haben.



  • illuminator schrieb:

    Wenn du einen Partikel hast, der mit einer auf die Camera ausgerichteten Normale nach der Transformation quadratisch erscheint, dann erscheint dieser nicht mehr quadratisch sobald die normale von der Camera-Achse abweicht.

    Das ist Unsinn, die Normalen sind doch nicht für die Form sondern nur für die Beleuchtung zuständig. Ausserdem gibt es nicht "die Normale", denn ein Quadrat besteht aus 4 Vertizen, macht also 0 oder 4 Normalen.

    Bye, TGGC \-/



  • Aber eine Fläche ( und ein Partikel stellt für gewöhnlich eine aufgespannte Fläche mit Textur dar) hat nur "eine" Normale. Und um diese geht es. Siehe (hess'sche) Normalenform der Ebene.



  • Kann nicht sein. Richtet man nähmlich die Normalen auf die Kamera aus, hat man 4 verschiedene Normalen. Und die Form der Polygone ist trotzdem unabhängig von diesen Normalen. Probier es aus.

    Bye, TGGC \-/



  • TGGC schrieb:

    Kann nicht sein. Richtet man nähmlich die Normalen auf die Kamera aus, hat man 4 verschiedene Normalen. Und die Form der Polygone ist trotzdem unabhängig von diesen Normalen. Probier es aus.

    Bye, TGGC \-/

    Ich glaube wir reden aneinander vorbei.
    Ich rede davon die gesamte Geometrie des Partikels so zu rotieren, das die Normale seiner Flächen-Ebene auf der Kamera-Achse liegt.



  • Tjoar kann sein. Dann lies doch nochmal was b7f7 und ich gesagt haben.

    Bye, TGGC \-/



  • TGGC schrieb:

    Sgt. Nukem schrieb:

    hat Wolfenstein3D schon so gemacht.

    Nein, denn dort konnte man nicht auf/ab schauen.

    Was völlig unerheblich ist.
    Lies doch nochmal was der Poster sagte:

    xroads42 schrieb:

    Wenn ich mich nun um die y achse drehe, wird der winkel zw. particle-normale und "bildschirm" natürlich immer kleiner.



  • Wie es in Wolfenstein gemacht wurde, ist heutzutage tatsächlich unerheblich, da nicht hardwareunterstützt.

    Bye, TGGC \-/


  • Mod

    TGGC schrieb:

    Wie es in Wolfenstein gemacht wurde, ist heutzutage tatsächlich unerheblich, da nicht hardwareunterstützt.

    Bye, TGGC \-/

    Mit pixelshadern wäre das heutzutage eventuell wieder möglich 😉

    rapso->greets();



  • TGGC schrieb:

    b7f7 schrieb:

    wenn man wirklich immer Quadrate sehn will muss man die Normalen auf die Camera ausrichten.

    Was bitte hat die Form (quadratisch) mit den Normalen zu tun?

    TGGC schrieb:

    Das ist Unsinn, die Normalen sind doch nicht für die Form sondern nur für die Beleuchtung zuständig. Ausserdem gibt es nicht "die Normale", denn ein Quadrat besteht aus 4 Vertizen, macht also 0 oder 4 Normalen.

    lol.
    da merkt man mal wieder das hinter deinen worten nur heiße luft ist. Die normale ist mathematisch so definiert das sie senkrecht auf 2 Vektoren steht, und somit einen ebene definiert. diese normale wird für belichtungsrechnung benutzt, und steht dabei nach einer abbildung nicht mehr senkrecht auf der ebene(und ist somit streng genommen keine normale mehr).

    google brachte folgendes ergebins:
    http://www.galileodesign.de/glossar/gp/anzeige-8127



  • @rapso:
    Wenn man schon die Vertizen hat, braucht man ja ehh nur noch normales Texturemapping nehmen. 😎

    Bye, TGGC \-/

    rapso: ICH HAB HIER ETWAS GELÖSCHT, MEIN OPERA IST GERADE ABGESTÜRZT, DANN HAT ER DIE LETZTE SEITE WIEDER ANGEZEIGT AUF DER ICH WAR VOR DEM ABSTURZ, DA WOLLTE ICH DEINEN TEXT ZITTIEREN, WAR ABER IRGENDWIE AUF "editieren" STATT AUF "zittieren", ICH WEIß NICHT WIE DAS KOMMT, WAR IRGENDWIE OPERA, SORRY! 😞



  • TGGC schrieb:

    @xroads:
    Falsch. Die Normale ist als orthogonal zur Tangentialebene definiert. Daher waren meine Aussagen korrekt.

    Bye, TGGC \-/

    sagen wir es so:
    beides richtig:
    da 2 vektoren eine ebene aufspannen, und diese ist tangentialebene von sich selbst.
    (wenn die 2 vektoten nicht paralell sind)

    und du sagtest, dass man die normale _nur_ für die beleuchtung her nimmt. das das ist flasch.
    Man kann mit der normale noch orientierungen, abstand Punkt/ebene ect. berechenen.



  • Muss ich meine partikel jetzt immer ausrichten, so dass sie immer richtung bildscirm zeigen, oder gibt es da einen anderen trick?

    Ein anderer "Trick" wäre die Verwendung von Point Sprites 😉 Die bestehen aus nur einem Vertex und ner Größe natürlich.. So kann man sich den Ausrichtungskram sparen.



  • edit:
    mumpitz



  • TGGC schrieb:

    Wie es in Wolfenstein gemacht wurde, ist heutzutage tatsächlich unerheblich, da nicht hardwareunterstützt.

    Wolfenstein gibt es nicht.
    Es gibt "Wolfenstein 3D" und "Return To Castle Wolfenstein". Letzteres nutzt durchaus tiefergehende Hardwareunterstützung zur Visualisierung.


Anmelden zum Antworten