Dieses Problem verwirrt mich. Ich habe eine Animation auf einem Gesichtsobjekt (aus Blender importiert). An einigen Stellen in der Animation wechseln die Normalen die Richtung! Dadurch blinkt das Netz.
Natürlich funktioniert diese Animation im aktuellen Zustand nicht. Noch seltsamer war es, dass ich das Animationsbeispiel in Unity auf 1 verlangsamte, um die Frames zu isolieren, auf denen es passiert. In diesem Fall sind keine Keyframes im Gesicht!
Was könnte das verursachen? Es passiert nur bei dieser einen Animation. Ich kann mit umfangreicher Websuche nichts finden. Ich habe auch versucht, Normalen neu zu berechnen und Transformationen anzuwenden, aber es hilft nicht.
Diese Screenshots zeigen dieselben zwei Bilder, ein Bild bevor es passiert (links) und das Bild, wenn es passiert (rechts), nur aus verschiedenen Winkeln.
Ich würde mich über jede Eingabe oder Anleitung zur Behebung dieses Problems sehr freuen!
Antworten:
Ich denke ich weiß was das ist. Hier geht es nicht um die Normalen, sondern um die Auswahl der Binormal- und Tangentenvektoren, die das Mesh-Exporter-Plugin ausgewählt hat. Sie werden normalerweise basierend auf UV ausgewählt und berücksichtigen nicht die Wicklungsreihenfolge des Polygons: Binormal und Tangent haben die falsche Hand Manchmal, und wenn ich mich richtig erinnere, gibt es eine Möglichkeit, es im Shader zu erkennen und umzudrehen. Wenn ich völlig aus der Bahn bin, ist es wahrscheinlich immer noch ein Fehler im Exporter, kein Fehler in der Engine.
quelle