Jump to content
Unity Insider Forum

MustafGames

Members
  • Content count

    319
  • Joined

  • Last visited

  • Days Won

    2

MustafGames last won the day on December 23 2016

MustafGames had the most liked content!

Community Reputation

7 Neutral

About MustafGames

  • Rank
    Advanced Member

Recent Profile Visitors

857 profile views
  1. MustafGames

    Sprite Renderer & NavMesh

    Also doch ein eigenes Pathfinding System schreiben. Für ein Spiel mit Isometric-sprites ist der EdgeCollider sehr schön.
  2. MustafGames

    Sprite Renderer & NavMesh

    Grüße, gibt es eine Möglichkeit einen NavMesh über den SpriteRenderer zu generieren, oder wie praktiziert man dies wenn man Sprites also Welt hat? Mfg Mustaf
  3. MustafGames

    Custom Leaf Shader

    Mir ist auch aufgefallen das der Tree Script meine Materialien umwandelt und dann reagieren sie auf Wind (Optimized Material), könnte man das auch auf eigene Shader anpassen so das z.b. ein normaler einfacher Surf-Shader umgewandelt wird?
  4. MustafGames

    Shader Cutout sieht blöd aus

    Grüße, vorne weg das ist mein erster Shader. Wenn ich den für z.b. Gras nehme dann sieht das so gesliced also zerschnitten aus, wenn ich den Cutoff Wert erhöhe. Shader "Custom/Shader" { Properties { _Color("Color", Color) = (1,1,1,1) _MyArr("Texure", 2DArray) = "" {} _Glossiness ("Smoothness", Range(0,1)) = 0.5 _MetallicMap("Metallic", 2D) = "white" {} [Gamma] _Metallic ("Metallic", Range(0,1)) = 0.0 _BumpMap("Normals", 2D) = "bump" {} _BumpScale("Bump Scale", Float) = 1 _ParallaxMap("Parallax", 2D) = "black" {} _ParallaxStrength("Parallax Strength", Range(0, 0.1)) = 0 _OcclusionMap("Occlusion", 2D) = "white" {} _OcclusionStrength("Occlusion Strength", Range(0, 1)) = 1 _EmissionMap("Emission", 2D) = "black" {} _Emission("Emission", Color) = (0, 0, 0) _Cutoff("Alpha Cutoff", Range(0, 1)) = 0.5 } SubShader{ Tags{ "RenderType" = "TransparentCutout" } LOD 200 CGPROGRAM #pragma target 3.5 #pragma surface surf Standard fullforwardshadows addshadow UNITY_DECLARE_TEX2DARRAY(_MyArr); struct Input { float2 uv_MyArr; float2 uv_BumpMap; }; UNITY_INSTANCING_BUFFER_START(Props) UNITY_DEFINE_INSTANCED_PROP(fixed4, _Color) #define _Color_arr Props UNITY_DEFINE_INSTANCED_PROP(float, _TextureIndex) #define _TextureIndex_arr Props UNITY_DEFINE_INSTANCED_PROP(half, _Glossiness) #define _Glossiness_arr Props UNITY_DEFINE_INSTANCED_PROP(half, _Metallic) #define _Metallic_arr Props UNITY_DEFINE_INSTANCED_PROP(float, _BumpScale) #define _BumpScale_arr Props UNITY_DEFINE_INSTANCED_PROP(half, _Cutoff) #define _Cutoff_arr Props UNITY_INSTANCING_BUFFER_END(Props) sampler2D _BumpMap; sampler2D _MetallicMap; sampler2D _OcclusionMap; half _OcclusionStrength; void surf(Input IN, inout SurfaceOutputStandard o) { fixed4 c = UNITY_SAMPLE_TEX2DARRAY(_MyArr, float3(IN.uv_MyArr, UNITY_ACCESS_INSTANCED_PROP(_TextureIndex_arr, _TextureIndex))) * UNITY_ACCESS_INSTANCED_PROP(_Color_arr, _Color); o.Albedo = c.rgb; fixed4 metal = tex2D(_MetallicMap, IN.uv_MyArr); o.Metallic = metal.r * UNITY_ACCESS_INSTANCED_PROP(_Metallic_arr, _Metallic); o.Smoothness = metal.a * UNITY_ACCESS_INSTANCED_PROP(_Glossiness_arr, _Glossiness); o.Alpha = c.a * UNITY_ACCESS_INSTANCED_PROP(_Color_arr, _Color).a; clip(o.Alpha - UNITY_ACCESS_INSTANCED_PROP(_Cutoff_arr, _Cutoff)); o.Occlusion = tex2D(_OcclusionMap, IN.uv_MyArr) * _OcclusionStrength; o.Normal = UnpackNormal(tex2D(_BumpMap, IN.uv_BumpMap)) * UNITY_ACCESS_INSTANCED_PROP(_BumpScale_arr, _BumpScale); } ENDCG } } Mfg Mustaf
  5. MustafGames

    Custom Leaf Shader

    Grüße, Wie funktionieren die Nature Shader, so das dass Objekt mit der Windzone interagiert? Bin mit Shadern nicht so gut vertraut und bräuchte mal Fachkunde, welche Werte im Shader den Wind machen, habe gelesen das hängt mit einer 2ten UV Map zusammen, stimmt das? Mein Ziel ist es: 1. Shader, welcher grundsätzlich ein Texture-Atlas nutzt und einige Funktionen hat: Ich möchte das der Shader erstmal der einzigste ist welcher in der Szene aktiv ist, er soll für Bäume (die mit den Unity Tree Creator erstellt wurden) benutzt werden, also für Blätter und Stamm gleichzeitig, man soll ihn aber auch als normalen Shader für z.b. Felsen nutzen können ohne das da dann der Wind den Felsen bewegt. Er soll die ganzen Standart-Werte für Normal-Texture, Emmision auch haben. Praktisch wie der Nature/Tree Creator Leaves Shader nur mit Instanzing und das bei allen Variablen von Color bis zu den Normal Texturen. Ich würde erstmal anfangen mir einen Shader zu schreiben, welcher einen Texture Atlas nutzt und eine Color Variable, beides soll per GPU gestützt werden, so das die Batch-Calls reduziert werden. Mfg Mustaf PS: Hab mir zwei Finger bei meiner Schreibhand gebrochen, daher können einige Tippfehler drin sein. Zusatzfrage: Wie kann man den RenderMode in einem Shader einbinden und diesen während der RunTime ändern per Script?
  6. Grüße, kann mir jemand erklären wie man über einen Raycast überprüfen kann ob man den linken, rechten, oberen oder unteren Rand des BoxColliders getroffen hat? (Damit meine ich nicht die Seiten). Ich schicke einen Raycast aus auf ein Fundament und möchte dann die Mauern fixieren an die Seiten des Fundaments. Mfg Mustaf
  7. MustafGames

    LOD Group

    Grüße, wenn ich jetzt ein leeres Objekt erstelle und diesem, den LOD Group Script gebe, dann als Childs einige Objekte welche als LOD 2 einen Sprite haben und als LOD 1 den MeshRenderer, jetzt bewege ich mich mit einen Kamera Control Script weg von diesen Objekten, sie sollten eigentlich einzeln ab bestimmten Entfernungen sich ändern oder muss ich jeden Baum den Lod Group Script geben? Kurz gesagt, wenn man viele Objekte hat sollte man dann ein leeres Objekt mit dem LodGroup Script einsetzen oder jedem Objekt diesen Script einzeln geben? Mfg Mustaf
  8. MustafGames

    Skybox Shader mit Cubemap + Procedual

    Edit: https://unity3d.com/de/learn/tutorials/topics/graphics/realtime-global-illumination-daynight-cycle Hier lernt man eine Simple Lösung, den Mond müsste man dann z.b. als Sprite 1000 units vom Spieler entfernt mit einem "LookAtCamera" Script ausrüsten und dann passend zur Sonne bewegen.
  9. Grüße, habe hier noch einen Shader gefunden in meinen Projekten, der nicht mehr ganz aktuell ist und wenn ich die _BlendAlpha Variable per Script ändern möchte in der Update Methode (für Tag/Nacht Zyklus), hängt Unity kurz (laggt). Darüber ändere ich die Variable: RenderSettings.skybox.SetFloat("_BlendAlpha", Mathf.Lerp(0, 0.5f, currentTimeOfDay)); Der Shader:
  10. MustafGames

    Mass Place Trees/Grass/Rocks etc.

    Edit: Habe alles jetzt mal getestet, bin bei 300 Grasobjekten in einem kleinen Bereich, dazu paar Bäume und Felsen (133-150 FPS).
  11. MustafGames

    Mass Place Trees/Grass/Rocks etc.

    Das mit der Texture konnte ich lösen indem ich sie einfach wiederholt habe (ergibt solche Längsstreifen), klappt, die Verzehrung überprüfe ich jetzt noch einmal an den Werten. Die Performance ist um einiges angestiegen durch den neuen Shader Jetzt ist das letzte "normale" Material, das vom Terrain und die Skybox welche 4 Texturen nutzt. Edit: Vorher war Bending auf 0.5 jetzt hab ich es auf 0.1 damit es genauso aussieht. Beim Tool sollte man erst die großen Objekte platzieren, dann kann man keine kleineren mehr verdecken, wenn man wenige Objekte in einem bestimmten Bereich platziert, ist die Wahrscheinlichkeit das sich welche ineinander platzieren sehr gering. PS (Mein EditorTool zum platzieren von mehreren Dingen in einem bestimmten Bereich):
  12. MustafGames

    Mass Place Trees/Grass/Rocks etc.

    Das mit den Chunks hätte ich mir so auch gedacht. Nochmal zum Shader selbst, einmal wäre die Grasbewegung jetzt anders als vorher, leider zu meinen Nachteil (das Gras besteht aus kleinen Würfeln), das verzerrt sich jetzt, vorher hat es sich nur grob bewegt, das hat aber ausgereicht (für meine Zwecke). Die Texture muss ich irgendwie hinbekommen, den die UV's nutzen eine 256x1 Texture.
  13. MustafGames

    Mass Place Trees/Grass/Rocks etc.

    Ja habs jetzt erst verstanden wie das funktioniert, so ähnlich wie ein SpritePackage. Kann man so etwas auch auf ein Terrain anwenden und wäre das sinnvoll? Kann man die Texture Größe beliebig ändern, den meine ist 256x1 (sind nur Farben, die den UV zugeordnet werden, per externen Programm)?
  14. MustafGames

    Mass Place Trees/Grass/Rocks etc.

    Was bedeutet ansteuern, ist das nötig bei nur 1 Texture die sich eigentlich nie ändern wird?
  15. MustafGames

    Mass Place Trees/Grass/Rocks etc.

    Cool, bin gerade soweit mit dem EditorTool (wo man Gras, Bäume...) platzieren kann in einem Bereich (Radius) und die Anzahl bestimmen kann. Wenn ich etwas weiter bin schreib ich den mal hier rein. Problem ist, es kommt ab und zu vor das Objekte ineinander platziert werden und größere Objekte (z.b. Felsen welche größer als Gras sind) verdecken das Gras dann. Muss also noch Prioritäten setzen das an der Stelle wo man einen Felsen platziert, das Gras verschwindet und auch keine Objekte ineinander platziert werden, alles anderes klappt super. Zufällige Rotationen sind auch dabei. Zweites aber nebensächliches Problem ist das der Raycast Oben und Unten vertauscht.
×