[updateNormals] manuell berechnen
Übersicht

AvaGastBetreff: [updateNormals] manuell berechnen |
![]() Antworten mit Zitat |
|
---|---|---|
Hi ihrs!
Ja, also wie stell ich das an? Kann mir jemand sagen, wie genau updateNormals arbeitet? Wie errechnen es die normalCoords? Ich möchte diese Funktion für mich erweitern, damit sie auf verschiedene Objekte gleichzeitig anwendbar wirdt. ![]() Lieben Gruss, + Ava + |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zuerst werden die Flächennormalen berechnet.
Danach mit Hilfe von diesen die Vertexnormalen. Flächennormalen: Normalenvektor ist das Vektorprodukt von n = (v0-v2) x (v0-v1) Diesen danach noch auf Länge 1 bringen, also n = n / sqrt(nx^2 + ny^2 + nz^2 ) Vertexnormalen: Durchschnittsvektor aus den Flächenvektoren aller anliegenden Triangles. also: ( n1 + n2 + n3 + n4 + n5 + ... + nX ) / X +- sind hierbei vektoroperationen. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Oha, na mal schauen, ob ich das hinbekomme. ![]() Thnx, + Ava + |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und dran denken das man in BB nur einem Vertex eine Normale geben
kann , also wenn die Flächen sich die Punkte teilen , kann deine rechnerei trotzdem schei*e aussehen . |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
warum sollte es scheisse aussehen?
Ein Vertex kann immer nur eine Normale haben egal ob in B3D oder sonst wo. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Dreamora
Wenn du die Normale von nem Dreieck ausrechnest und diese bei den Vertices setzt und beim nächsten Dreieck wird ein Vertex von dem davor benutzt was machste denn dann ? Andere Prog. haben eine Normale je Dreieck damit man eben die Eckpunkte doppelt benutzen kann . In BB sollte man aber nie bei harten Kanten die Punkte doppelt verwenden weils eben Ka**e aussieht . |
||
![]() |
wunderkind |
![]() Antworten mit Zitat ![]() |
---|---|---|
Deshalb ja auch die durchschnittliche / mittlere Normale zu allen angrenzenden Flächen. Wurde aber oben auch schon so geschrieben. | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du brauchst keine einzelnen Vertices in Blitz3D
Du kannst das System die Facenormals nutzen lassen, EntityFX "FlatShade" lässt grüssen. Ansonsten ist es dennoch so, dass alle Vertices nur 1 Normale haben können, andere Engines unterstützen einfach getrennte Facenormals, was Blitz3D glaub nicht hat. wenn du verschiedene Smoothing Groups hat, werden übrigens keine Vertices zwischen verschiedenen Groups geteilt -> wenn 2 dreiecke eine scharfe Kante haben, dann haben die Triangles dort auch jeweils eigene Vertices. Allerdings gehört das hier nicht mehr zum Thema, wir können ja gerne per PM oder so weiter diskutieren ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dreamora hat Folgendes geschrieben: Du brauchst keine einzelnen Vertices in Blitz3D
Du kannst das System die Facenormals nutzen lassen, EntityFX "FlatShade" lässt grüssen. ... Oh, wo du das gerade erwähnst , dieses Fx Flag habe ich noch nie benutzt bzw. war ich mir nicht im klaren wofür es gut ist ! ![]() @wunderkind ja, kommt halt auf das Objekt an ... |
||
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Markus2 hat Folgendes geschrieben: ja, kommt halt auf das Objekt an ...
Es geht um mein Terrain. Es ist in mehrere Objekte zerteilt und ich möchte halt die Beleuchtungsfehler an den Kanten entfernen, die durhc updateNormals entstehen. |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wenn ich mich recht entsinne ist das relativ einfach wenn du bei den 2 zusammentreffenden bereichen jeweils die idtentischen vertices suchst, die beiden normalenvektoren addierst und dann /2 machst ... bin mir aber nimmer 100%ig sicher ... | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Okay, also das werde ich gleich mal probieren !! Das ist ja schnell gemacht. Danke ! ![]() |
||
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Dreamora hat Folgendes geschrieben: wenn ich mich recht entsinne ist das relativ einfach wenn du bei den 2 zusammentreffenden bereichen jeweils die idtentischen vertices suchst, die beiden normalenvektoren addierst und dann /2 machst ... bin mir aber nimmer 100%ig sicher ...
So wirklich befriedigend ist das Ergebnis leider nicht Also es sieht dann schon etwas besser aus, aber ein schöner, fliessender Übergang entsteht dabei nicht. ![]() ![]() [/edit] Okay, es klappt doch !! ich bin soo blöd. ![]() ![]() |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das freut mich zu hören, dass es klappt ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group