Jump to content
Unity Insider Forum

Spielfigur (Sprite) wird nur von einer Seite beleuchtet


grillstern

Recommended Posts

Hallo miteinander,

 

meine (2D) Spielfigur besitzt den Sprite/Diffuse Shader welcher von Unity mitgeliefert wird, damit ich das Sprite mit Lichtquellen beleuchten kann. Ãndert sich allerdings die Bewegungsrichtung, wird also die Figur um 180 Grad um Z gedreht, wird die nun sichtbare Seite nicht beleuchtet. Gibt es eine einfache Möglichkeit das bei einem "Flip" die andere Seite auch beleuchtet wird?

 

Blickrichtung nach rechts, Sprite wird von Lichtquelle beleuchtet:

 

1.jpg

 

Blickrichtung nach links (Drehung 180°), Sprite wird von Lichtquelle nicht mehr beleuchtet:

 

2.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich glaub das liegt an der Drehung..

gibt es nicht in der Sprite Komponente einen 'flip'- Parameter?

Ansonsten vtl die x-skalierung mal -1 .

 

kann es grad nicht testen.. momentan nicht zuhause ^

 

Hab es vorhin mit Flip auf XScale -1 mal versucht, so hat das sprite zwar tatsächlich Licht auch auf der gedrehten seite, das Problem ist aber, das alle Child Objecte der Spielfigur dann in die falsche Richtung zeigen.

 

D.h. die Figur schaut nun nach links, wird beleuchtet, aber der "Schuss" der Pistole geht nach rechts.

 

Mit der Drehung hatte ich den Vorteil das alle Unterobjekte gleich mitgedreht werden und dadurch autom. in die richtige Blickrichtung schauen.

 

In dem "Flip X=-1" fall müsste ich irgendwie alle anderen restlichen Childobjekte spiegeln

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hab's mal getestet und ich glaube du hast das Sprite in X oder Y gedreht bzw. den Container in dem das Sprite eingebettet ist und damit drehst du das Sprite quasi auf die Rückseite. Ich würde dein Sprite bzw. den Container entsprechend umstellen, so daß du es als Gesamtheit wieder um Z drehen kannst, weil dann ändert sich der Lichteinfall nicht. Das heißt die blaue Achse deines Sprites sollte immer in Richtung vom Bildschirm auf das Sprite zeigen, tut sie das nicht (ist meine Vermutung), dann ist in deinem Transform oder dem Container was verdreht und das solltest du korrigieren. Ist alles korrigiert, dann kannst du den ganzen Container auch wieder um Z drehen, ohne das sich der Lichteinfall ändert.

 

PS:

Habs gerade gemerkt, daß dir die Drehung um Z so nichts bringt, dann hilft dir hier nur "Flip" weiter oder ein anderer Shader.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...