Jump to content
Unity Insider Forum

Life Is Good

Members
  • Content count

    685
  • Joined

  • Last visited

  • Days Won

    15

Life Is Good last won the day on September 22

Life Is Good had the most liked content!

Community Reputation

85 Excellent

About Life Is Good

  • Rank
    Advanced Member

Profile Information

  • Gender
    Male
  • Location
    Köln

Recent Profile Visitors

4,458 profile views
  1. Life Is Good

    Mac oder Windows?

    Metal soll tatsächlich ziemlich gut designed sein und laufen. Ist also eine gute Alternative zu bestehenden Grafik APIs. Ansonsten läuft auch Vulkan mitlerweile auf MacOS. https://github.com/KhronosGroup/MoltenVK Bei dem Preis würde ich aber persönlich auch eher zu nem Windows PC greifen
  2. Life Is Good

    Entity Component Systems & Data Oriented Design In Unity

    Hab das repository mal aktualisiert, und die 3 Themengebiete auf 3 unterschiedliche PDFs aufgeteilt. Ich glaube das wirkt einfach besser, und überfordert nicht so sehr. https://github.com/LifeIsGoodMI/ECS-And-DoD-In-Unity Hier auch nochmal im Anhang. ECS_StartGuide.pdf ECS_Unity_Article.pdf The_Core_Of_Unitys_ECS_Documentation.pdf
  3. Ich hab einen nicht so kurzen Artikel über Unity's Implementation eines Entity Component System (ECS) Model & Data Oriented Design (DoD) geschrieben. Es ist keinerlei Vorwissen über ECS oder DoD erfoderlich. Der Artikel behandelt die Prinzipien von ECS, DoD, beinhaltet eine eigene kleine Dokumentation über die fundamentalen Konzepte von Unity's ECS und enthält einen kleinen Start Guide, indem ich Stück für Stück zeige wie man ein sehr simples "Spiel" umschreiben kann. Am Ende kommt dann noch ein kleiner, kritischer Kommentar zu Unity. Sowas muss man natürlich nicht am Stück lesen, man kann da durch springen wie man will. Ihr findet den Artikel und das Unity Projekt auf meinem GitHub Account: https://github.com/LifeIsGoodMI/ECS-And-DoD-In-Unity Ausserdem scheints so, als würde GitHub's PDF Viewer keine Hyperlinks unterstützen, also hab ich die PDF hier noch einmal zusätzlich angehangen. ECS_DoD_Unity.pdf
  4. Life Is Good

    Lightmaps Größe

    2048^2 * 64 = 268435456 bit = 33,5 mb Was wird dir denn im Explorer, und in Unity angezeigt ?
  5. Life Is Good

    Lightmaps Größe

    Das hängt auch sehr stark von deiner Szene ab. Je komplexer deine Geometrie und je spärlicher beleuchtet diese ist, desto höher die Auflösung die du haben willst. Tatsächlich sinds nach der Rechnung bloß knapp 33mb Ich schätze mal, dass texels & scaling da auch noch irgendwie in die Rechnung mit reingehen.
  6. Ich hab den Algorithmus ein wenig angepasst, um das Problem mit den weichen Ecken zu lösen. Im Grunde schau ich mir einfach die vertices an, die nicht ganz korrekt sind, addier alle Normalen zusammen (nennen wir das Ergebnis einen Vektor A) und interpoliere dann von diesem Vertex aus in die Richtung A bis die SDF an diesem Punkt = 0 ist. Ich musste allerdings einen kleinen Bias einbauen, aber ich denke das sind einfach bloß Genauigkeitsprobleme, da die Implementation aktuell komplett auf floats setzt. Die schwarzen Linien am Ende zeigen das Ergebnis der Normalen (Vektor A) bei den Vertices, die zunächst gesmoothed wurden. Ich werd noch mehr testen müssen, um zu schauen, ob die Lösung so allgemein aufrecht erhalten werden kann.
  7. Life Is Good

    Profiler (Memory)

    Ich glaube tatsächlich, dass Unity EditorWindows auch als Mesh zählt / rendert. Wenn man ein EditorWindow bewegt (z.B. der Profile) steigt die Anzahl an Meshs sofort an (also genau dann, wenn für das EditorWindow OnGUI aufgerufen wird) Ansonsten schätze ich mal, das Unity auch ein bisschen subdivision betreibt. Vielleicht wenn ein Mesh beispielsweise nur teils im View Frustum ist.
  8. Life Is Good

    Lightmaps Größe

    Klingt relativ normal. Wenn es um Effizienz geht willst du grundsätzlich lieber einige wenige große Dateien. Einige größere Dateien können schneller geladen werden als haufenweise kleine Dateien. Das merkst du besonders, wenn du z.B. mal den Fehler machst, beim hoch / runterladen eines Projektes den Lib Ordner mit zu nehmen
  9. Life Is Good

    Shader Graph

    Nein, Shader Graph wird nur mit den neuen SRPs kompatibel sein. Der Built-In Renderer bleibt natürlich noch ne ganze Weile drin, aber früher oder später wird Unity wohl ganz darauf wechseln.
  10. Hey, Ich experimentier aktuell mit meiner eigenen Idee rum, Oberflächen aus Distanzfunktionen (signed distance function, SDF) zu generieren. Ihr könnt meinen Ansatz in diesem Thread verfolgen, falls ihr euch für so Voxel Zeugs interessiert: https://www.gamedev.net/forums/topic/697431-a-novel-approach-to-non-manifold-dual-contouring/ Im Grunde gehts darum Eckpunkte (vertices) durch Schnittpunkte von Oberflächenkanten (surface edges) ausfinding zu machen. Die 2D Methode scheint ohne probleme zu funktionieren, und ermöglicht so auch scharfe geometrische Features wie Ecken. (dabei ist's auch deutlich einfacher zu verstehen, als 2D Dual Contouring) Mit dem 3D Ansatz bin ich aktuell noch ein wenig am kämpfen, aber erste Ergebnisse gibts dazu auch schon, wie ihr hier nochmal sehen könnt:
  11. Life Is Good

    Physics.CheckBox will nicht

    Die Execution order zeigt ja, dass Start vor FixedUpdate ausgeführt wird. Aber keine Ahnung ob's daran bei dir liegt. Zeig vielleicht einfach mal deinen ganzen Code, vielleicht ist da irgendwas anderes krumm ¯\_(ツ)_/¯
  12. Life Is Good

    Physics.CheckBox will nicht

    Dann stimmt vielleicht irgendeiner deiner Parameter nicht (vielleicht die Rotation oder collider size ?) Bei mir klappt das ohne Probleme. Edit: Hab gerade erst gesehen, dass du das in der Start machst. Vielleicht wird Start da vor dem 1. Physikzyklus ausgeführt.
  13. Life Is Good

    Physics.CheckBox will nicht

    Hast du einfach nur 2D Ansicht in deiner Scene View an, oder benutzt du 2D Box Collider ? Falls letzteres der Fall ist, würde ich mal davon ausgehen, dass Checkbox bloß 3D Collider überprüft.
  14. Life Is Good

    Lightning Realtime und Baking

    Baking ist statisches Licht, ja. Unitys realtime GI ist aber nicht rein realtime, muss teils also trotzdem vorberechnet werden. Das musst du weiterhin offline machen. Übrigens: Lightning ist der Blitz was du willst ist Lighting
  15. Life Is Good

    LOD System - Gedanken

    Klar, jede Menge. Die meisten Studios, die ihr eigenes LOD System implementieren, machen das halt passend zu deren Anforderungen. Ich hab leider weder zu Unity, noch zu UE4 was genaues gefunden. Aber wenn du willst, könntest du ja selber nachschauen wie UE4 das löst, der Code ist schließlich open source. Soweit ich das sehe, gibt es 2 große Ansatzpunkte: - Du hast eine Mesh Funktion, die beim Rendern direkt die Distanz zur Kamera zurückliefert (könnte gut sein, dass Unity das intern macht) - Du nutzt eine Datenstruktur, mit der du deine Welt in Bereiche einteilst, die du dann komprimieren kannst Ersteres ist vermutlich raus, wenn du nicht gerade deine eigene Renderpipeline schreiben willst. Datenstrukturen gibt es jede Menge für sowas. Das Stichwort hier ist: Spatial Data Structures Ein paar Beispiele: - Octree - KD-Tree - B-Tree - Bounding Volume hierarchy etc. Für normale Meshs würde ich das vermutlich nutzen, ja. Um eine andere Lösung würde ich mich erst kümmern, wenn ich damit an die Grenzen komme. Hier eine gute Präsentation, wie die solche Probleme in Infamous: Second Son angegangen sind. https://archive.org/details/GDC2014Bentley
×