Jump to content
Unity Insider Forum

Thariel

Members
  • Gesamte Inhalte

    519
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    22

Alle erstellten Inhalte von Thariel

  1. Hi Passieren euch auch immer wieder lustige Fehler beim programmieren? Ich schreibe immer mal wieder esel statt else. Gerade stand bei mir plötzlich das: esel return fasel Musste so lachen 😄 Wie ist das bei euch so?
  2. Ich verstehe halt nicht wie man das so hinbekommt (dass die Tiles als eine einzige Form beim Shader berücksichtig wird): Und nicht das passiert: Bei mir ist es gerade umgekehrt (innen statt aussen), aber im Prinzip das selbe Problem.
  3. Hi Danke für den Beitrag. Es ist tatsächlich sehr einfach! Jedoch ist jetzt immer noch unklar, wie man zum Beispiel auf einige Tiles, die nebeneinander liegen einen Shader Effekt (Inner Glow/Fresnel) anwenden kann, da es einzelne Objekte sind. Ich weiss nicht, ob das überhaupt möglich ist. Zum Beispiel gibt es Kohlevorkommen. Diese sind gruppiert über die ganze Map verteilt. Jetzt müsste man im Shader jeder dieser Gruppen als "einzelnes Objekt" behandeln können, damit man die Ränder und z.B. einen Fresnel Effekt hinzuzufügen. Aber Fresnel Funktioniert zum Beispiel gar nicht in 2d. Es gibt zwar Ansätze, wie man ein Glow Effekt auf ein Sprite wirken kann, aber da braucht man immer eine zusätzliche Textur dazu. Das funktioniert aber nicht, weil die Form der Kohlevorkommen zufällig sind und sich verändert. Vielleicht könnte ich im Shader Graph einen Glow Effekt hinzufügen (mit einer Textur) und die Option schaffen, dass man den Effekt für jede Seite mit einem bool aktivieren/deaktivieren kann. Dann muss man das einfach nur noch per Script richtig erkennen und aktivieren... Irgendwie so Tricks anwenden 😆
  4. Hi Es gibt verschiedene 2d Games die Tiles nutzen und die benachbarten Tiles teilen aber das selbe Material. Dazu kommt noch, dass die Ränder individuell (jedenfalls wirkt es so) geformt sind. Mich würde interessieren, wie das gemacht wird. Könnte es sein, dass die ganze Fläche des selben Materials (z.B. Sandstein) erkannt und ein individuelles "Mesh" generiert wird? Oder kann man mehrere Meshes die nebeneinander platziert sind, das Material teilen lassen?
  5. Hi Wenn du Photon oder etwas ähnliches nutzt, dann könntest du schon auf dem Server ein Objekt erstellen und es wird auch auf den Clients erstellt, aber nur, weil Photon alles für dich im Hintergrund handelt. Wenn du es selbst machst, dann geht das so nicht. Du musst alles selbst entwickeln. Da kannst du nicht einfach "eine Scene downloaden" und alles ist plötzlich Multiplayer. Was du da vorhast ist eben nicht ein "kleiner Egoshooter", sondern ein grosses Projekt. 🙂 Ich würde mich entscheiden: Entweder das Networking lernen oder ein Spiel entwickeln (und Photon etc verwenden).
  6. Du könntest für jede Einheit beim Selektieren ein Offset berechnen und diesen beim Zielpunkt wieder addieren und gegebenenfalls, die Distanz zum Zielpunkt reduzieren. So würden sie die Formation ungefähr behalten.
  7. Hi Seit einigen Tagen bin ich Brotato süchtig. Das Spiel ist sehr einfach gemacht. Man steuert nur mit WASD und kämpft sich durch Horde-Wellen. Nach jeder Welle wählt man 1 von 4 Items. Die Gegner sind nicht mal aufwändig animiert. Natürlich steckt hinter dem Spiel auch einiges an Arbeit. Es wirkt aber so, als könnte man das alleine in 2 Wochen entwickeln und das Spiel ist gerade richtig erfolgreich. Es kommt mir so vor, als wäre bei diesem Spiel einfach alles überflüssige weggelassen worden und nur die wenigen Spass Elemente wurden beibehalten. Ich finde das so interessant, wie wenig es dafür braucht. Sehr gerne würde ich das Geheimnis lüften, wie man einfachste Spiele entwickeln, die richtig Spass machen. Es muss doch dafür so etwas wie ein Rezept geben? 😄 Ich bin nämlich einer, der sich viel zu schnell in komplexe Spielmechaniken verliert. Aber oft ist weniger eben doch mehr!
  8. Oh, ich glaube ich habs gerade heraus gefunden. Oder besser gesagt: Hatte mit Google diesmal mehr Glück! https://answers.unity.com/questions/1756914/align-two-parents-based-on-child-position-and-rota.html Habe noch ein Bug, dass ein Raum manchmal einfach Kopfüber steht, ansonsten klappt es jetzt.
  9. Hi Hab gerade ein kleines Problem 😃 Ich möchte verschiedene Räume und Korridore mit jeweils einigen Türen zu einem Level zusammen setzen ("Dungeon Crawler"). Das Problem: Ich verstehe nicht, wie ich den neuen Raum, den ich platzieren will, so drehe, dass sich die "Türen" gegenüber stehen. Jede Türe hat ein GameObject und den neuen Raum möchte ich so drehen, dass die andere Türe gegenüber liegt. Positionieren ging relativ einfach mit einem Offset aber wie drehe ich nun den Raum, so dass es passt? 😅
  10. Hi Ich hätte gerne die Möglichkeit, ein Dissolve Effekt auf alle Npcs anzuwenden. Dazu hab ich (URP) mit dem Shader Graph den Standard-LitShader nachgebaut und den Dissolve Effekt mit integriert. Leider wird das Objekt jetzt verkümmert dargestellt, auch wenn der Alpha Wert noch so hoch ist, dass keine Transparenz dargestellt wird. Die Transparenz-Eigenschaft kann ich aber natürlich nicht entfernen, sonst funktioniert es ja nicht mehr. Oder mache ich das grundsätzlich irgendwie falsch? Kann ich etwas tun, dass das Objekt nicht mehr verkümmert dargestellt wird? Gibt es vielleicht sogar die Möglichkeit, den Teil im ShaderGraph für den Dissolve Effekt erst nachträglich zu aktivieren? Gibt es die Möglichkeit, 2 Materialien mit einem Fade auszutauschen? Dazu würde ich einfach den Standard-LitShader nutzen und bei bedarf auch einen Dissolve Shader wechseln. Links mit Dissolve Shader:
  11. Das Projekt nimmt langsam Gestalt an, das ist gut 👍 Ich habe noch einen Vorschlag: Du könntest beim Soundeffekt vom Schuss jedes mal den Pitch Wert zufällig variieren (z.B. Random.Range(0.85F, 1.15F)), so dass jeder Schuss ein wenig mehr Variation hat und es dynamischer klingt.
  12. Ich finde die Musik einfach super 😄👍 Ich glaub ich lass' die grad ne weile laufen! Das Sprunggeräusch finde ich gut so.
  13. Hi Ich suche schon länger ein Buch oder eine andere Quelle, die erklärt, wie man selbst Rätsel erfindet. Ich meine damit eine Sammlung von Techniken und Vorgehensweisen, wie man ein Rätsel oder ein bestimmter Rätseltyp erfinden oder wie man vorgeht. So wie ein Spiel über Game Design, aber halt über Rätsel Design. Kennt jemand so ein Buch?
  14. Ich bin ehrlich gesagt sehr neidisch auf die Grafiken, Models und Animationen, die du erstellst. Bei mir ist es nämlich immer genau anders rum, ich bin immer total fortgeschritten mit den technischen Dingen und Spielmechaniken, aber der Inhalt fehlt mir immer und muss ihn mir mühsam zusammen suchen. Wir würden uns sicher gut ergänzen 😂 Musik gibt es sehr viele, würde da nicht extra jemanden dafür bezahlen. Zum Beispiel kannst du dir ein Envato Elements Abo gönnen, dann kannst du schon mal viel SFX und Musik (und auch viel anderes wie PS Pinsel, Web Vorlagen, ...) runterladen. Ansonsten: Weiter so! 😀
  15. Macht schon mal einen guten ersten Eindruck 😀 Ich weiss nicht ob die Musik im Spiel oder nur im Video ist, aber sie ist ziemlich dominant und verschluckt die kleinen Umgebungsgeräusche. Könnte mir vorstellen, dass man sich mit weniger oder gar keiner Musik, viel besser in die Katze hineinversetzen kann, wenn die Sound Effekte der Umgebung reichhaltig sind. Könntest ja eine Funktion "Lauschen" machen und dann hört man weiter entfernte Objekte. So wie ein radar um Dinge zu finden.
  16. Hi Hat jemand eine Idee, wie ich die Kette am besten in Maya "im ganzen" Biegen kann, ohne jedes einzelne Glied positionieren zu müssen? Möchte die Kette über das Rad legen... Danke schon mal
  17. Jetzt hab ichs raus gefunden! Type[] arguments = prop.GetValue(obj).GetType().GetGenericArguments(); Type keyType = arguments[0]; Type valueType = arguments[1]; Type dictType = typeof(Dictionary<,>).MakeGenericType(keyType, valueType); var dict = Activator.CreateInstance(dictType);
  18. Hi Ich entwickle gerade eine Klasse, um beliebige Objekte in XML und wieder zurück zu konvertieren. Ist alles ziemlich schwierig 😮 Jetzt versuche ich gerade, aus dem XML das Dictionary "stats" wiederherzustellen. <?xml version="1.0" encoding="utf-8"?> <XmlTest> <health>10</health> <speed>3.5</speed> <isDeath>false</isDeath> <stats> <!--Dictionary--> <row> <key>strength</key> <value>5</value> </row> <row> <key>armor</key> <value>0</value> </row> </stats> </XmlTest> Das XElement "stats" übergebe ich also meiner Funktion: public static void GetDictionaryFromXElement(XElement elDictionary, object obj, PropertyInfo prop) { var dict = (IDictionary)Activator.CreateInstance(prop.GetType()); foreach (XElement elRow in elDictionary.Elements()) { object key; if (dict.Keys.GetType() == typeof(int)) { string sValue = elRow.Element("key").Value; int i = 0; int.TryParse(sValue, out i); key = i; } else Debug.LogError("Variable type not handled: " + prop.PropertyType); /// hier ein teil ausgeschnitten um das script kürzer zu halten dict.Add(key, value); } prop.SetValue(obj, dict); } Jetzt habe ich das Problem, dass dict.Keys.GetType() nicht den typ des "Keys" zurück gibt, sondern "System.Collections.Generic.Dictionary`2[System.String,System.String]". Trotz Suche habe nicht nicht herausgefunden, wie ich das Dictionary füllen kann, ohne vorher den Datentyp zu kennen. Ich müsste einfach den Datentyp des "Key" und des "Value" Wertes wissen, damit ich das ganze abarbeiten kann. Wer kann mir da helfen?
  19. Wäre cool, wenn es eine Software gäbe um aus 3d Models, Artworks zu generieren! :)

  20. Hi In meiner Map hab ich ein Fog of War, damit man nur Bereiche sieht, die der Spieler schon besucht hat. Dazu habe ich über die Map einfach eine Maske gelegt und ändere die Pixel an der Position vom Player. Aber nur, wenn der Spieler sich bewegt hat und das ganze befindet sich auch noch in einer Coroutine. Hab mir gedacht, dass dies sicher Preformant genug ist, doch ich habe starke Ruckler. Anscheinend ist SetPixels extrem langsam bei grossen Bilder, selbst wenn man nur ein kleiner Bereich ändert (64x64). Habe die Idee, ein echter eigener Prozess zu machen oder die zu ändernden Pixels in eine Datenbank zu schreiben, die dann einzeln abgearbeitet werden. Ist aber beides irgendwie Quatsch. Hat jemand eine gute Idee?
  21. Thariel

    FPS Anzeige

    Freut mich, dass es dir gefällt 🙂
  22. Hi Entwickle ein System zum bauen von Gebäuden und Einrichtung. Wenn ich eine Fackel an eine Wand baue und die Wand danach wieder lösche, soll die Fackel benachrichtigt werden und entweder herunter fallen oder zerstört werden. Das ist leider ziemlich kompliziert. OnCollisionStay kommt nicht in Frage, obwohl ich damit ein ganzes System entwickelt habe (da die Funktion für jede Collision einzeln aufgerufen wird, musste ich dem Objekt erst Rigidbody hinzufügen, eine Liste erstellen, paar Frames warten mit Coroutine, nur um alle relevanten Collider zu erhalten). Zudem funktioniert es nicht mit MeshCollider. Am einfachsten wäre es, wenn die "anderen" Objekte sich selbst testen würden. Also erst noch mit OverlapBox finden, aber dann muss ich für jedes Objekt extra dafür "ausrüsten", welche grösse der OverlapBox etc. Ich könnte beim Bauen auch eine Referenz erstellen. Wird aber beim Laden eines Spielstandes lustig, für alle Objekte die Referenzen zu finden. Gibt es da keine elegantere Lösung?
  23. Thariel

    FPS Anzeige

    Hier mein Script zur Anzeige der FPS. Einfach der Szene hinzufügen (vorzugsweise auf ein Text Ui) und eine Referenz eines beliebigen Text Ui hinzufügen. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; /// <summary> /// This script calculate the current fps and show it to a text ui. /// </summary> public class UiDisplayFps : MonoBehaviour { public string formatedString = "{value} FPS"; public Text txtFps; public float updateRateSeconds = 4.0F; int frameCount = 0; float dt = 0.0F; float fps = 0.0F; void Update() { frameCount++; dt += Time.unscaledDeltaTime; if (dt > 1.0 / updateRateSeconds) { fps = frameCount / dt; frameCount = 0; dt -= 1.0F / updateRateSeconds; } txtFps.text = formatedString.Replace("{value}", System.Math.Round(fps, 1).ToString("0.0")); } }
  24. Gibt es ein Preformance-Verlust, wenn man alle Texturen auf Read/Write setzt?

    1. Vorherige Kommentare anzeigen  %s mehr
    2. Thariel

      Thariel

      Es geht halt darum, dass ich eine Wiki Seite zu meinem Spiel erstelle und ich viele Daten wie Items und Icons automatisch exportiere und hochlade. Das geht nur, wenn sie readable sind. Ich frage mich, ob ich den Aufwand betreiben soll, jedes mal vor einem export alle Icons auf readable zu stellen und wieder zurück.

      Wahrscheinlich tu ich das...

      Gut zu wissen, dass sie dann zweimal im Arbeitsspeicher sind, das soll ja nicht sein, da ich das nur im Editor benötige.

    3. devandart

      devandart

      Ich habe es nicht getestet, aber Du solltest zur Design Time das ganze per Code ändern können. Du setzt also die Textur auf readable und danach wieder auf non readable. Die Diskussion und ein Beispiel findest Du hier:

      https://stackoverflow.com/questions/25175864/making-a-texture2d-readable-in-unity-via-code

    4. Thariel
  25. Hi! Ich habe in Maya 2018 eine komplexe Geometrie und ich möchte sie: Duplizieren Verkleinern Das kleine Modell vom grossen subtrahieren Jetzt sollte das grosse Modell innen hohl sein und überall ein gleich dicker Rand haben. Das Problem: Beim skalieren wird immer Richtung Pivot skaliert, ich möchte aber, dass es überall gleichmässig nach innen skaliert, so wie beim extrudieren. Wer kann mir helfen? Edit: Oder anders gefragt, wie höhlt man ein Modell aus? ^^
×
×
  • Neu erstellen...