Jump to content
Unity Insider Forum

Unterschiedliches Shading in zwei Szenen


SkipToPlay

Recommended Posts

Guten Tag,

aktuell haben wir in unserem Projekt (nutzt Unity Collaborate) ein kleines Shading Problem, und wir wissen nicht genau woher dies resultiert.
In einem anderen Projekt, dass für mich persönlich zum testen meiner Modelle ist, ist diese Problematik, dass die Modelle zu Glossy wirken nicht anzutreffen.
Ich kenne mich nicht so gut in der Unity Engine aus, ich erstelle eher die Modelle, aber selbst unser Game Designer konnte den Fehler nicht finden, daher frage ich ob Jemand ein paar Ideen und Lösungsvorschläge hätte, wie man dieses Problem aus der Welt schaffen kann?

Anmerkung: die Lichtstärke ist in dem Projekt mit dem falschen Shading zwar etwas stärker, aber eine Anpassung behebt das Problem nicht. Auch das umstellen von Gamma auf Linear space bringt nicht viel.
Aktuell haben wir bei manchen Modellen improvisiert, in dem die Smoothness runtergestellt wurde, jedoch sehen die Modelle dann nicht so aus wie sie sollten.

Ich wäre sehr über Ideen und Vorschläge dankbar!

Bild 1. So soll es nicht sein:

74bb5a63be.pnga3e8ebb572.png

 

Bild 2.  Anderes Projekt, kein überstarkes Glänzen:
a120605989.png

 

Unity version: 2017.2.0b4

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das Glänzen kann vom Metallic-Anteil (Standard bzw. Metallic Setup) oder von der Glanzfarbe kommen (Specular-Setup). Zusätzlich hängt beides von der Oberflächenbeschaffenheit (Oberflächenglätte) ab, die jeweils im Alphachannel beschrieben wird oder über den Smoothnessregel eingestellt wird.
Um das Glänzen zu verringern den Metallic-Anteil (Textur) senken oder die Oberflächenglätte senken (Regler oder Alphatextur), wobei letzteres eben nur die Spiegeleffekte verringert.

Das Bild sieht mir aber eher nach eine falschen Glanzfarbe aus (oder siehe unten), in dem Fall zu viel Hellblau. Daher im Metallic-Setup den metallischen Anteil senken oder im Specular-Setup die Glanzfarbe auf "braun" umstellen. Wenn ihr allerdings den Specular-Setup verwendet, dann würde ich für Felsformationen besser den Standardshader im Metallic-Setup verwenden, da Felsen keine Glanzfarbe haben sollten.

Wenn das Hellblau allerdings von der Skybox kommt (Lighting -> Scene -> Reflection Source - hier mal die Skybox rausnehmen und schauen ob das Hellblau verschwindet), dann sind wir wieder bei der Oberflächenglätte.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ist ja alles gut und schön. Aber wenn er die Materialien oben wie unten gleich benutzt, dann liegt es nicht am Material an sich sondern an der Beleuchtung oder einem Posteffekt, der das Problem erst dann sichtbar macht.
Ich sehe in den 2 Szenen ganz klar, dass der Himmel unterschiedlich ist und dass in Szene 1 mindestens ein Posteffekt aktiviert wurde. Wahrscheinlich PostProzessingBehaviour.
Im oberen Bild meine ich außerdem zu erkennen, dass es kein Glanz sondern eine Spiegelung des Himmels ist, da der Himmel die gleiche Farbe hat, wie die hellen Bereiche auf dem Felsen.
Somit würde ich darauf tippen, dass der Metallic Shader genutzt wurde. Metallic wäre gut, wenn etwas reflektieren soll, wie z.B. Fasser oder eben Metall. Bei einem Felsen würde ich zum Specular Shader über gehen, denn da soll maximal Glanz entstehen. Nutzt ihr eine Specular-Map, dann lässt sich die Specular-Farbe nicht mehr einstellen, denn Unity geht jetzt davon aus, dass alles über die Map kommt. Jetzt kann man eh nur noch die Smoothness einstellen. Also ob es ein breiter und diffuser oder ein enger und knackiger Glanzpunkt werden soll. ( Nutzt ihr die Map beim Metallic Shader, dann steuert man nur noch, ob die Reflektion matt mit breiten Highlights oder klar mit engen und starken Highlights ist) Welche Bereiche aber wie stark spiegeln bzw. glänzen, wird dann allein über die Textur gelöst. Evtl. müsst ihr mal mit eurer Textur rum spielen und die Bereiche einfach etwas abdunkeln.

Am Besten ihr vergleicht mal die Shader der beiden Szenen, die Beleuchtung und die SkyBox und zusätzlich ob die Kamera PostProzessing macht. Und wenn ja, welche Werte und Kanäle da drin eingeschaltet sind.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielen Dank für die Beiträge!

all diese Dinge bin ich schon nachgegangen und habe es überprüft, aber als ich mir über "Look Dev" nur den Smoothness-Kanal angeschaut habe, habe ich den Fehler gefunden.
Ich habe nämlich das Material für die Felsen 2x exportiert, einmal für den Standard-Shader (Specular übrigens, sieht nach meinen Test besser aus) und einmal mit den einzelnen Maps in RGB (für andere Shader). Versehentlich wurden in der Collab Szene die falschen Texturen verwendet, die keinen Smoothnesskanal besitzen.

Mit der Idee in dem Renderer in Look Dev nur den Smoothness-Kanal zu betrachten bin ich aber indirekt durch eure Hilfe gekommen.
Danke.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ah dieses neue Tool kenne ich nicht nicht, danke für den Hinweis. Ich treibe mich aktuell in den Eingeweiden des Standardshaders herum, daher war mir bewusst, daß es am Smoothnesskanal,  "Metallic"- oder "Specular"-Kanal liegen musste. Wobei ich denke, daß eine Spiegelung zum überwiegenden Anteil vom "Smoothnesskanal" kommt, wie viel Anteil hier der "Metallickanal" an einer Spiegelung beträgt, da bin ich mir nicht ganz sicher, auf jeden Fall bestimmt er die Glanzfarbe.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...