3D Tiles verschweissen[Erledigt]
Übersicht

![]() |
Foppele |
![]() Antworten mit Zitat ![]() |
---|---|---|
So, ich habe jetzt meinen Code ausgiebig getestet und kann eigentlich sagen, das meine Idee funktioniert.
Das einzige was mir jetzt noch fehlt ist eine Formel um den Vektor auszurechnen der genau in der Mitte zwischen 2 Vektoren steht. Google hat auch nix gebracht, das Teil muss doch einen Namen haben... Hier 2 Bilder vom Zwischenstand, rot markiert sind die "Problemzonen" Vorher: ![]() Nachher: ![]() Na ja, nett das ihr bis jetzt drangeblieben seid ![]() |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
v_mittel = (v1 + v2)/2 | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Foppele |
![]() Antworten mit Zitat ![]() |
---|---|---|
Morgen ![]() Ja, so mach ichs schon. Der Fehler muss irgenwie mit Vorzeichen oder Achsen zu tun haben ,er betrifft nur Normalen die auf einer bestimmten Achsenebene liegen. Auf dem Bild siehst du das das Smoothing in die eine Richtung klappt. In der anderen Richtung stellen sich die Normalen aber immer auf, obwohl beide Ausgangsnormalen korrekt orientiert sind. ![]() |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dann sind die beiden ausgangsnormalen nicht korrekt ausgerichtet. Spontan würd ich sagen, du verwendest da statt der 2 vertices die da sind einen der da ist und einen anderen der falsch ist ... so siehts zumindest für mich aus ...
denn wenn beide vom ersten bild genutzt würden, würde nix passieren. 2x gleicher_vec / 2 = gleicher_vec |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Foppele |
![]() Antworten mit Zitat ![]() |
---|---|---|
Doch, die Ausgangsvektoren sind beide gut. Das kann ich mir mit den Würfelchen anzeigen lassen, ausserdem betrifft es jedes Objekt das ich bis jetzt getestet habe, und wie gesagt nur in der einen Richtung. Aber das Ergebnis der Verrechnung dreht sich nach oben.
[EDIT] Geschafft ![]() Ich hab jetzt wild Achsen hin und hergetauscht und schliesslich die richtige Kombination gefunden. Ich verstehs zwar nicht aber es funktioniert! |
||
- Zuletzt bearbeitet von Foppele am Do, Nov 29, 2007 11:59, insgesamt einmal bearbeitet
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Es ist schön dass du dir die Normalen visualisieren lassen kannst.
Aber entweder benutzt du bei der Berechnung der neuen normale nicht die vertices die wirklich am gleichen ort sind oder deine vektor addition ist fehlerhaft. EDIT: das heisst? für mich klingts immer noch als ob du nen fehler hattest in einem der beiden punkte oben ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Foppele |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
du hast recht, es klappt immer noch nicht, jetzt ist halt eine andere Achse betroffen. Aber ich bin ehrlich gesagt überfragt woran das noch liegt. ![]() Deine beiden Punkte sind es aber nicht, soviel ist sicher. Es könnten irgendwo die Achsen durcheinanderkommen, entweder bei der Erstellung der Tiles wo ein rotierter Mesh kopiert wird, oder beim Auslesen oder beim Überschreiben der Normalen. Hab es aber auch mit TformNormal probiert. Und für mich unverständlich ist nach wie vor das nur Normalen betroffen sind die zu einer bestimmten Achse parallel verlaufen. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group