-
Posts
337 -
Joined
-
Last visited
-
Days Won
3
Lonely World's Achievements

Advanced Member (3/3)
41
Reputation
-
Weiß jemand warum Tree Billboards im dunklen leuchten ?
Hier ein Beispiel:
- Show previous comments 5 more
-
Das andere "Leuchten" (auch bei normalen Bäumen also keine Billboards) kam bei mir übrigens von Reflections. Diese sind weiter aktiv auch wenn man obige Settings auf schwarz schaltet. Bei den Reflections muss man de Intensity Multiplies auf 0 regeln (oder die RF-Source herausnehmen). Das Problem mit den Reflections bekommt man erst, wenn für die Szene eine Lightmap erzeugt wurde. Hier wird dann auch die gobale Sky Reflection Probe erzeugt.
-
Hier noch der verbesserte Shader zum Abdunkeln der Ränder von Billboards. Diese grauen Ränder hatte ich immer noch selbst nachdem alles Licht gedrosselt wurde (DL / "Skybox" Ambient Light / Reflection Light)
Die obere Version war noch nicht optimal. Diese Version lässt die Ränder tagsüber nahezu unverändert und dunkelt die Ränder ab, wenn die globale Lichtquelle dunkler wird. Zudem franzt er die Ränder der Billboards nicht aus wie andere Lösungen:/* // For the Unity Insider Forum by Zer0Cool Feb, 2018 // Skype: zer0f0rce // Darkens tree billboards at night. // See problem description here: // https://answers.unity.com/questions/336217/terrain-tree-billboard-have-bright-outline-against.html */ Shader "Hidden/TerrainEngine/BillboardTree" { Properties { _MainTex ("Base (RGB) Alpha (A)", 2D) = "white" {} } SubShader { Tags { "Queue" = "Transparent-100" "IgnoreProjector"="True" "RenderType"="TreeBillboard" } Pass { ColorMask rgb Blend SrcAlpha OneMinusSrcAlpha ZWrite Off Cull Off CGPROGRAM #pragma vertex vert #pragma fragment frag #pragma multi_compile_fog #include "UnityCG.cginc" #include "TerrainEngine.cginc" #include "Lighting.cginc" struct v2f { float4 pos : SV_POSITION; fixed4 color : COLOR0; float2 uv : TEXCOORD0; UNITY_FOG_COORDS(1) UNITY_VERTEX_OUTPUT_STEREO }; v2f vert (appdata_tree_billboard v) { v2f o; UNITY_SETUP_INSTANCE_ID(v); UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); TerrainBillboardTree(v.vertex, v.texcoord1.xy, v.texcoord.y); o.pos = UnityObjectToClipPos(v.vertex); o.uv.x = v.texcoord.x; o.uv.y = v.texcoord.y > 0; o.color = v.color; UNITY_TRANSFER_FOG(o,o.pos); return o; } sampler2D _MainTex; fixed4 frag(v2f input) : SV_Target { fixed4 col = tex2D( _MainTex, input.uv); col.rgb *= input.color.rgb; clip(col.a); if (col.a < 0.9) { float lightBrightness = (clamp(_LightColor0.r,0,1) + clamp(_LightColor0.g, 0, 1) + clamp(_LightColor0.b, 0, 1)) / 3.0; col.rgb = lerp(col.rgb, col.rgb* lightBrightness, 1.3 - col.a); //col.rgb = float3(1, 0, 0); // Zum Debuggen diese Zeile einkommentieren und die obere auskommentieren / erzeugt einen roten Rand um die Billboards } UNITY_APPLY_FOG(input.fogCoord, col); return col; } ENDCG } } Fallback Off }
-
Hab mir eben noch einmal oben dein Bild angeschaut und festgestellt, deine Lichtquelle (DL) ist scheinbar nicht ausgestellt sondern nur verdreht: Stimmt das so?
Ich habe die Erfahrung machen müssen, wenn die DL nur verdreht ist (um Tag und Nacht zu simulieren), erzeugen noch einige Shader eine "Resthelligkeit" auf der Oberfläche. Dies kommt von der Normalen der Oberfläche und den Sonnenstand, also der Rotation der Sonne (DL). Auch denn die Sonne unter das Terrain Licht wirft, bekommen Oberflächen mit bestimmten Shader noch "Restlicht" ab. Ich könnte mir vorstellen, dies passiert auch mit dem Billboardshader (zumindest hatte ich mal dieses Problem, als ich an einem eigenen Billboardshader gearbeitet hatte). Man kann dieses Problem zwar über eine Verschiebung der Normalen in den Griff bekommen (auch über eine Normalmap) aber beim Billboardshader des Terrain hat man darauf keinen Zugriff.
Man muss hier also die Farbe der Lichtquelle (DL) wenn es Nachts wird auf schwarz drehen. Zudem sollte man das AL (ambient light) senken und auch die Reflektionen ggf "ausschalten" (diese werden über Lightmaps auf die Texturen gebracht, sogar wenn des DL schwarz ist.
-
Moin - ist das erste bild bei euch anderen auch zu dunkel oder wie sieht das aus ? Dazu im vergleich ein anderes angepasstes:
- Show previous comments 4 more
-
Ja, hat meiner auch, diesen z.B. diesen Gamemodus aber der ist aus, da wird alles extrem grell und hell. Ansonsten stehen die Einstellungen auf Mittel was Helligkeit und Kontrast betrifft. Aber am Monitor selbst kann man nur Helligkeit / Kontrast / Schärfe und die RGB-Känäle justieren. Einen Gammawert gibt es nur bei den Einstellungen der Grafikkarte und (vermutlich) dem Windowssystem selbst. Und es scheint ja am Gammawert zu liegen. Man kann das unter Windows mit dem Command-Tool DCCW machen oder wohl eben auch direkt über die Grafikkarte (da konnte ich ja selber den Gammawert von 1 auf 1.5 erhöhen).
-
Ich sehe gerade es gibt beim Monitor theoretisch ein Gamma-Setting aber das ist ausgegraut (also hier kann man nix verstellen).
-
Um auf die Eingangsfrage zurück zu kommen: Ja, es ist zu dunkel.
Es ist nicht so, dass ich mit meinem Monitor nichts erkennen würde. Aber wenns im Zimmer hell ist, ist das einfach zu dunkel zum spielen.
Dunkle Szenen sind immer ganz schwer in Ballance zu bringen. Das ist auch beim Film und Fernsehen so. Und wenn du mal drauf achtest, siehst du, dass solche Szenen fast immer heller ausgeleuchtet sind, als sie eigentlich sein sollten. Deswegen ist auch dein zweites Bild viel besser.
Natürlich kann man über den Gammawert, Helligkeit und Kontrast einiges dem Spieler überlassen. Aber dann verliert das Ganze an Qualität wird matschig und fahl.