Jump to content
Unity Insider Forum
  • Announcements

    • Lars

      Allgemeine Forenregeln   03/13/2017

      Forenregeln Nimm dir bitte einen Moment um die nachfolgenden Regeln durchzulesen. Wenn du diese Regeln akzeptierst und die Registration fortsetzen willst, klick einfach auf den "Mit der Registrierung fortfahren"-Button. Um diese Registration abzubrechen, klick bitte einfach auf den "Zurück" Button deines Browsers. Wir garantieren nicht für die Richtigkeit, Vollständigkeit und Brauchbarkeit der Nachrichten und sind auch nicht dafür verantwortlich. Die Beiträge drücken die Meinung des Autors des Beitrags aus, nicht zwangsläufig das, wofür die Forensoftware steht. Jeder Nutzer, der denkt, dass ein veröffentlichter Beitrag unzulässig bzw. störend ist, ist aufgefordert uns unverzüglich per E-Mail zu kontaktieren. Wir haben das Recht störende Beiträge zu löschen und bemühen uns, das in einem realistischem Zeitraum zu erledigen (sofern wir beschlossen haben, dass die Löschung notwendig ist). Du akzeptierst, durchgehend während der Nutzung dieses Services, dass du dieses Forum nicht dazu missbrauchen wirst, Inhalte zu veröffentlichen, welche bewusst falsch und/oder verleumderisch, ungenau, beleidigend, vulgär, hasserfüllt, belästigend, obszön, sexuell belästigend, bedrohlich, die Privatsphäre einer Person verletzend oder in irgend einer Art und Weise das Gesetz verletzen. Des Weiteren akzeptierst du, dass du keine urheberrechtlich geschützte Inhalte ohne Erlaubnis des Besitzers in diesem Forum veröffentlichst. Mit dem Klick auf den "Mit der Registrierung fortfahren"-Button, akzeptierst du zudem unsere Datenschutzerklärung und stimmst der Speicherung deiner IP-Adresse und personenbezogenen Daten zu, die dafür benötigt werden, um dich im Falle einer rechtswidrigen Tat zurückverfolgen zu können bzw. permanent oder temporär aus dem Forum ausschließen zu können. Es besteht keine Pflicht zur Abgabe der Einwilligung, dies erfolgt alles auf freiwilliger Basis.   Zusatzinformationen Der Forenbetreiber hat das Recht, Nutzer ohne Angabe von Gründen permanent aus dem Forum auszuschließen. Des Weiteren hat er das Recht, Beiträge, Dateianhänge, Umfrage, Blogeinträge, Galleriebilder oder Signaturen ohne Angabe von Gründen zu entfernen. Mit der Registrierung verzichtest du auf alle Rechte an den von dir erstellten Inhalten, bzw. treten diese an das Unity-Insider.de und Unity-Community.de ab. Dies bedeutet im Klartext, dass das Unity-Insider.de und Unity-Community.de frei über deine Texte verfügen kann, sofern diese nicht wiederum die Rechte anderer verletzen. Es besteht weiterhin kein Anspruch von registrierten Nutzern bzw. ehemaligen registrierten Nutzern darauf, dass erstellte Inhalte und/oder die Mitgliedschaft (User) wieder gelöscht werden (Erhaltung der Konsistenz dieses Forums).   Einwilligungserklärung Wenn du mit der Speicherung deiner personenbezogenen Daten sowie den vorstehenden Regeln und Bestimmungen einverstanden bist, kannst du mit einem Klick auf den Mit der Registrierung fortfahren-Button unten fortfahren. Ansonsten drücke bitte Zurück. Stand: 07.03.2011

Life Is Good

Members
  • Content count

    641
  • Joined

  • Last visited

  • Days Won

    7

Life Is Good last won the day on October 29

Life Is Good had the most liked content!

Community Reputation

61 Excellent

About Life Is Good

  • Rank
    Advanced Member

Profile Information

  • Gender
    Male
  • Location
    Köln

Recent Profile Visitors

3,081 profile views
  1. Unreal Engine 4 Grafik besser?

    Ich würde noch hinzufügen, dass beim hinzufügen eines Post Processing Volume in UE direkt passende Post Processing Effekte mit schönen Standardwerten aktiv sind. Der überwiegende Teil der Unity Nutzer weiß nicht wirklich wofür welcher Effekt überhaupt da ist. Tonemapping beispielsweise ist einer der am häufigsten falsch verwendeten Effekte. Bei Außenszenen punktet UE durch ein viel aktuelleres Terrain System. Davon abgesehen erwähne ich noch mal, was viele überhaupt nicht wissen: Unity & UE benutzen die selbe Lösung für realtime Lighting (Enlighten)
  2. C# - Be smart [Tipp and Tricks]

    Gekürzt //... using System.Linq; //... [SerializeField] private GameObject[] gameObjects; //... gameObjects.ToList().ForEach(go => { if (go.activeSelf) go.SetActive(false); }); //...
  3. ScreenShot Weekend! (ehemals ScreenShot Saturday)

    Im Build hab ich noch nichts getestet. Und nein. Der Algorithmus ist auf ein normales Grid ausgelegt, so einfach lässt sich das nicht durch NavMesh o.ä. ersetzen. Ich plane aber sowas wie ein LOD System für's Raster zu schreiben, damit die Pathfinding Lösung natürlich auch im größeren Maß einsetzbar ist.
  4. ScreenShot Weekend! (ehemals ScreenShot Saturday)

    Zum einen hab ich alles was mit Linq zu tun hat rausgeschmissen. Wenn man so wahnsinnig oft diese Aufrufe machen muss kann man da ganz schön viel sparen. Zum anderen hab ich den Algorithmus selbst ein wenig optimiert. Zuletzt (was auch ziemlich bemerkenswert ist) hab ich den Code einfach aus Unity raus- und in eine seperate DLL reingeschmissen. Allein das war noch mal eine Leistungssteigerung von ~25% Das kann ich nur empfehlen, wenn man ein kritisches Stück an Code hat. Macht es gleichzeitig auch noch einfacher das Zeug außerhalb von Unity weiter zuverwenden.
  5. ScreenShot Weekend! (ehemals ScreenShot Saturday)

    Ich hab die letzten Tage den Code meiner CC Implementation ein wenig optimiert. Das selbe Szenario läuft jetzt mit 40-50 fps, statt, wie zu vor, mit 6-8 fps
  6. Ich bin mal ein wenig durch meinen Code gesprungen. An einer Stelle muss ich sehr häufig über eine kleine Anzahl an Elementen iterieren

    Foo target;
    for (int i = 0; i < 4; i++)
      if (collection[i].flags == fooFlag)
      	target = collection[i];

    Ein ganz simples Stück Code also.
    Linq sieht aber natürlich sehr viel hübscher aus, also hab ich statt des Oberen Schnipsels zu erst so was hier gemacht
     

    var target = collection.First(e => e.flags == fooFlag);

    Was ich beobachtet habe: Das 2. ist halb so schnell. Das sind 20ms, statt 10ms (wird jeden Frame aufgerufen,  d.h. zweiteres erfüllt schonmal gar nicht mehr die 60hz Anforderung, was ja heute ziemlich standard ist.... Macht also viel aus !)

    1. Show previous comments  10 more
    2. Life Is Good

      Life Is Good

      Ohh, bist du auf der aktuellsten Version ? Ich hab gehört dass das NavMesh mit der neuen Version ein wenig kaputt gegangen sein soll. Ich hab's das letzte mal vor nem Jahr oder so verwendet und da ging sowas noch.

    3. Zer0Cool

      Zer0Cool

      Na, das Problem existiert zumindest seit Version 5.4.1. Ich muss es mal in Unity 2017 nochmal testen, aber glaube nicht, daß an der Ecke was passiert ist:
      https://feedback.unity3d.com/suggestions/navmesh-agent-local-avoidance-recalculate-navmesh-path-when-another-agent-get-in-the-way

      Wenn man mit einer handvoll Agenten hantiert, merkt man das Problem noch nicht unbedingt, da die local avoidance auf sehr kurzen "Ausweichpfaden" noch funktioniert (also wenn nur 2 Agenten aneinander vorbeilaufen sollen).
      Ein typischer Testfall ist, du lässt 20 Agenten zu einen Ziel laufen (z.b. Spieler). Beim Unitynavmesh klumpen die Agents dann an einer Stelle vor dem Spieler (aus Laufrichtung) zusammen (und stapeln sich teilweise hintereinander auf). Eigentlich sollten aber die Agents den Spieler einkreisen. Gibt auch noch andere Probleme an engen Stellen auf dem Navmesh, wenn sich die Agents "treffen".

    4. Life Is Good

      Life Is Good

      Ich hab's bloß mit einer handvoll Agenten getestet also
      ¯\_(ツ)_/¯

  7. Text auf Sprites schreiben

    Einfach nur GetComponentInChildren<Text> Wenn deine Hierarchie so simpel ist. Das wird auch die childs deiner childs durchsuchen usw. Ich hab bei mir einfach nur den font etwas höher eingestellt und dann hat's gepasst.
  8. Text auf Sprites schreiben

    Hast du mal dein Prefab einfach so in die Szene gezogen und geschaut ob der Text so passt ? Wenn die Anker + Pivot gesetzt sind sollte sich das eigentlich nicht mehr verschieben dann. Btw. Microsoft empfiehlt PascalCase bei Konstanten in Unity & GetComponentInChildren sucht in allen Childs nach der Komponente.
  9. ScreenShot Weekend! (ehemals ScreenShot Saturday)

    Ich hab meine 1. Version von Continuum Crowds, ein Algorithmus für Crowd Pathfinding, zum Laufen gebracht
  10. Dauer der Berechnung einer Szene

    4000x4000 ist schon verdammt groß, das kann da mal was dauern. Das ist vermutlich kein Lightmapping, sondern die Vorberechnungen für's Realtime Lighting. (was ziemlich rechenintensiv ist) Im Lighting Fenster findest du dazu alle möglichen Einstellungen (und kannst es auch ganz abstellen / ändern) PS: Cool dass du's auch von 3DGS weggeschafft hast
  11. Straßen Script

    Du könntest die Zellen auf der anderen Straßen Seite als nicht befahrbar markieren, idealerweise vor Spielstart. Ansonsten ist A* vermutlich nicht so wirklich die passendste Lösung. Flow Fields würden vielleicht ein besseres Ergebnis liefern. Dann wäre die Straßenseite in eigener Fahrtrichtung der optimale Weg, während die andere Seite zwar nicht unpassierbar, aber ineffizient ist.
  12. Je nachdem welchen Canvas Mode du ausgewählt hast wird das Canvas deine Koordinaten passend transformieren, deshalb sitzen die wohl nicht an deiner erwarteten Position. Anchors & Canvas Scaler tragen auch noch dazu bei. Wenn du dir also unnötiges Kopfzerbrechen ersparen willst, hör auf Djeurissen Edit: Dein Parent bringt da auch nochmal eine andere Dynamik rein, dann müssen zusätzlich dessen Anchors betrachtet werden.
  13. Hast du mal den Codeabschnitt isoliert und in einem leeren Projekt getestet ? Ich konnte deinen Fehler nicht reproduzieren. private void LoadSaveGame () { try { using (var reader = new StreamReader("SaveGame.txt")) { string currentLine; while (!string.IsNullOrEmpty((currentLine = reader.ReadLine()))) { Debug.Log(currentLine); } } } catch (Exception e) { Debug.Log("Catch !"); throw e; } }
  14. Identischer Code deutlich langsamer in Unity

    Leider noch nicht dazu gekommen meine CC Implementation zu multithreaden. Bin allerdings sowieso noch mit Problemen am kämpfen. @Torigas Bist du auch auf solch ein komisches "Gestotter" gestoßen ? Das mit dem Teleportieren ist auch irgendwie merkwürdig, löst sich aber vielleicht auch einfach auf wenn ich den Vektor auf eine bestimmte Größe beschränke... Ansonsten tendieren die halt aus irgendeinem Grund dazu seeehr nah aneinander zu laufen.
  15. Unity weißes bild

    Aus irgendeinem Grund fehlen dir bestimmte Pakete. Hier hatten welche ein ähnliches Problem, Lösungen sind etwas weiter unten. Vielleicht hilft's dir. https://forum.unity3d.com/threads/unity3d-5-3-not-working.372682/
×