Hier ist eine Übersicht über einige wichtige neue Updates für unseren Datenorientierten Technologie-Stack (DOTS). Während wir den Kern von Unity mit DOTS neu aufbauen, fügen wir dem Stapel kontinuierlich neue Pakete hinzu. Installieren Sie DOTS-Pakete vom Unity Package Manager, um zu beginnen.
DOTS Sample-Projekt jetzt verfügbar
Auf der Unite in Kopenhagen 2019 haben wir das DOTS Sample-Projekt vorgestellt, eine Whitebox-, Third-Person-Shooter-Demo, die die verschiedenen neuen DOTS-Technologien zusammen in Aktion zeigt (einschließlich Unity Physics, NetCode, Hybrid-Renderer und Konvertierungsworkflow).
Das DOTS Sample ist eine einfache Umgebung, die zeigt, wie die DOTS-Pakete in Unity 2019.3 in einem Multiplayer-Shooter-Spiel zusammenarbeiten. Obwohl wir es als internes Testprojekt konzipiert haben, können Sie es gerne herunterladen und damit experimentieren. Es ist auf GitHub verfügbar und enthält alle Quellcodes und Assets.
Konvertierungsworkflow (experimentell)
Der neue DOTS Konvertierungsworkflow ermöglicht es Ihnen, Ihre GameObjects mit einem Klick in die DOTS-basierten Entitäten zu konvertieren und dann DOTS für Ihre bestehenden Workflows zu nutzen. So können Sie beispielsweise GameObjects für schnelle Level-Design-Iterationen verwenden und diese dann zur Laufzeit einfach in eine Entitätsdarstellung konvertieren. Mit dem neuen Entity-Vorschau-Inspektor können Sie sehen, wie Ihre GameObjects zu DOTS-Entitäten werden.
Dieser Konvertierungsprozess ermöglicht es Ihnen, GameObjects und die klassischen Workflowkonzepte des Authorings einfach in effiziente und streamingfähige Laufzeitdaten zu übersetzen. Sie erhalten das Beste aus beiden Welten: schnelle, intuitive Workflows bei der Arbeit mit Ihrer Spielwelt im Editor, kombiniert mit den hyper-ECS-optimierten und streamingfähigen Laufzeitdaten, die für massive Leistungssteigerungen sorgen.
Installieren Sie Entities (Vorschau) und den DOTS Editor (Vorschau) vom Package Manager, um den neuen Workflow auszuprobieren.
Unity Live Link (experimentell)
Mit dem neuen Unity Live Link können Sie Änderungen im Editor vornehmen und die Änderungen auf allen angeschlossenen Geräten sehen, auf denen der Standalone-Player läuft. Wo Sie bisher eine ausführbare Datei erstellen, alle Assets erstellen, alle Ihre Skripte erstellen und dann jedes Mal, wenn Sie testen wollten, auf das Gerät hochladen mussten, können Sie nun in Echtzeit testen.
Da Iterationsgeschwindigkeiten für den Prozess der Erstellung von Spielwelten und der anschließenden Optimierung und Verfeinerung der Benutzererfahrung entscheidend sind, kann die Interaktion mit Ihrem Spiel auf dem eigentlichen Zielgerät in Echtzeit den Ausschlag geben. Unity Live Link bietet ein Leistungsfeedback auf dem Gerät, so dass Sie die Auswirkungen verschiedener Entscheidungen auf die Leistung direkt auf dem Gerät untersuchen und das richtige Verhältnis zwischen Details und Leistung finden können.
Nachdem Sie einen Live Link Build erstellt haben, können Sie nach Ihren nächsten Änderungen einfach Ihre Szene speichern und Unity bündelt Ihre Updates und sendet sie an den Live Link Player.
Installieren Sie das Entities-Paket (Vorschau) vom Package Manager, um Unity Live Link auszuprobieren.
Unity Animation (experimentell)
Das neue Animationssystem für DOTS-basierte Projekte bietet die wichtigsten Animationsfunktionen wie Animationsmischung, IK, Root Motion, Ebenen und Maskierung und weitere Funktionen werden folgen. Es ist jetzt als experimentelles Paket über unser DOTS Sample-Projekt verfügbar.
DOTS Spielecode-Updates (Vorschau)
Mit dieser DOTS-Version müssen Programmierer nicht mehr so viel Standardcode schreiben. Sie können benutzerdefinierte Authoring-Komponenten durch ein einfaches [GenerateAuthoringComponent]-Attribut ersetzen und diese ausführlichen IJobForEach- und IJobForEachWithEntity-Konstrukte durch das einfachere, aber genauso schnelle Entities.ForEach() ersetzen, das jetzt den Burst Compiler und das C#-Jobsystem verwendet.
Installieren Sie das Entities-Paket (Vorschau) aus dem Package Manager, um mit dem Schreiben von DOTS-Code auf die neue Art und Weise zu beginnen.
Unity Physics
Das DOTS Sample-Projekt nutzt das neue zustandslose Unity Physics-System für Kollisionserkennung und räumliche Abfragen. Die Engine ist in C# / HPC# geschrieben und zeigt, was mit dem Burst Compiler erreicht werden kann. Dank der neuen Physik-Engine sind wir in der Lage, Kollisionen für Spieler, Umgebungen und Projektile schnell und präzise zu erkennen und Treffererkennung aufzulösen. Unity Physics unterstützt auch den Character Controller im Sample sowie Anwendungsfälle wie das präzise und leistungsstarke Fußpositionierungssystem im DOTS Sample-Projekt.
Netcode
Der im DOTS Sample verwendete FPS NetCode basiert auf DOTS und macht es einfach, Netzwerkspiele mit ähnlicher Architektur zu erstellen. Dank des netzwerkfreundlichen Datenprotokolls werden clientseitige Vorhersagen, autoritative Server und Interpolation ermöglicht. Eine Einführung in FPS NetCode bietet der Unite-Vortrag von Tim Johansson.
Installieren Sie die Unity Transport- und Unity NetCode-Pakete aus dem Package Manager, um zu beginnen.
DSPGraph-Updates
Wir arbeiten auch weiterhin an dem Audiomisch- und Rendering-System für DOTS. Insbesondere haben wir DSPGraph, unsere neue Low-Level-Audio-Engine, für stärkere Leistung umgeschrieben und die Möglichkeit hinzugefügt, Subdiagramme auszuführen, die nicht zur Diagrammausgabe beitragen. Das bedeutet, dass Sie beispielsweise einen Node in die Mitte eines Audiodiagramms setzen können, der die Schläge pro Minute zählt, ohne das Audiosignal zu beeinflussen.
Das DOTS Audio-Diskussionsforum eignet sich perfekt, um Fragen zu stellen oder uns Ihre Audio-Anforderungen mitzuteilen.