Jump to content
Unity Insider Forum

Lonely World

Members
  • Gesamte Inhalte

    337
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Lonely World hat zuletzt am 15. Juni 2015 gewonnen

Lonely World hat die beliebtesten Inhalte erstellt!

Über Lonely World

  • Geburtstag 16.10.1997

Contact Methods

  • MSN
    maik12697@gmx.de
  • Website URL
    http://www.youtube.com/user/3D57912
  • Skype
    call-of-duty9

Profile Information

  • Gender
    Male
  • Interests
    Motorrad (bald gehts wieder los!!),
    Badminton (immer) sowie Fußball (nur bei gutem Wetter),
    natürlich aber auch Unity 3d mit dem Projekt "Lonely World".

    Allerdings beschäftige ich mich auch viel mit Elektronik. Entwickle gerade eine neue Schaltung für Zuhause.

Letzte Besucher des Profils

10.549 Profilaufrufe

Lonely World's Achievements

Advanced Member

Advanced Member (3/3)

41

Ansehen in der Community

Einzelstatus Update

Zeige alle Updates von Lonely World

  1. Weiß jemand warum Tree Billboards im dunklen leuchten ?

    Hier ein Beispiel:

    unbenannt0ajbk.png

    1. Vorherige Kommentare anzeigen  %s mehr
    2. Zer0Cool

      Zer0Cool

      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.

    3. Zer0Cool

      Zer0Cool

      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
      }




       

    4. Zer0Cool

      Zer0Cool

      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.

×
×
  • Neu erstellen...