2018.2 ist jetzt verfügbar.

THOMAS KROGH-JACOBSEN / UNITY TECHNOLOGIESSenior Technical Content Marketing Manager
Jul 10, 2018|29 Min.
2018.2 ist jetzt verfügbar.
Diese Website wurde aus praktischen Gründen für Sie maschinell übersetzt. Die Richtigkeit und Zuverlässigkeit des übersetzten Inhalts kann von uns nicht gewährleistet werden. Sollten Sie Zweifel an der Richtigkeit des übersetzten Inhalts haben, schauen Sie sich bitte die offizielle englische Version der Website an.

Unity 2018.1 markierte den Beginn eines neuen Zyklus mit zwei wesentlichen Innovationen im Kern. Zusammen geben das Scriptable Render Pipeline (SRP) und Shader Graph Künstlern und Entwicklern mehr Macht, während das C# Job System, der Burst Compiler und ECS es ermöglichen, Multi-Core-Prozessoren ohne Programmierkopfschmerzen zu nutzen. Unity 2018.2 baut auf diesen Innovationen auf und fügt mehrere neue Funktionen hinzu. Dieser Beitrag bietet einen Überblick über die wichtigsten Updates in 2018.2.

Während Sie die Liste der neuen Funktionen durchgehen, können Sie Unity 2018.2 hier herunterladen oder über den Unity Hub.

Eines der Ziele für Unity 2018.2 war es, auf den Scriptable Render Pipelines (SRPs) aufzubauen, um Rendering der nächsten Stufe zu ermöglichen. Ein weiterer Schwerpunkt war die Entwicklung einer Reihe von Funktionen und Verbesserungen, die Ihnen helfen werden, im Mobile-Bereich erfolgreich zu sein. Lassen Sie uns einen kurzen Blick darauf werfen, was wir in diesen beiden Bereichen getan haben, bevor wir ins Detail über die gesamte Veröffentlichung gehen.

Unity 2018.2 optimiert die Leistung der Lightweight Render Pipeline (LWRP) und verbessert die High Definition Render Pipeline (HDRP), um Ihnen zu helfen, eine hochwertige visuelle Qualität zu erreichen, einschließlich mehrerer Verbesserungen am Shader Graph, der jetzt beide Pipelines unterstützt (bitte beachten Sie, dass sowohl die LWRP als auch die HDRP derzeit in der Vorschau sind).

Wir haben auch die Unterstützung für das Debuggen von verwaltetem Code auf iOS und Android, Windows, macOS, Nintendo Switch, UWP und PS4 für IL2CPP hinzugefügt, und wir haben begonnen, einige mobile Optimierungen für die Lightweight Render Pipeline (LWRP) hinzuzufügen.

Für Android-Projekte erhält die 64-Bit (ARM64) Unterstützung ihre endgültige Veröffentlichung, und wir lassen Sie jetzt Java-Code in Ihren Unity-Plugins-Ordner hinzufügen, ohne vorher Bibliotheken erstellen zu müssen.

Schließlich sind mehrere neue 2D-Funktionen als Vorschau-Pakete verfügbar, einschließlich des Vektor-Grafiken-Importeurs und Pixel Perfect. Der Vektor-Grafiken-Importeur erleichtert Ihnen die Arbeit mit SVG-Grafiken, und Pixel Perfect erleichtert es Ihnen, einen perfekten Retro-Look über verschiedene Auflösungen auf einer Vielzahl von Geräten zu erreichen.

Um einen Überblick über alle Verbesserungen in dieser Veröffentlichung zu erhalten, lesen Sie weiter.

Was gibt es Neues in Unity 2018.2
Geben Sie mir alle Details
Grafik
Verbesserungen der Scriptable Render Pipeline (SRP)

In 2018.1 haben wir die Scriptable Render Pipeline (in Vorschau) eingeführt, die die Kontrolle über leistungsstarke neue Rendering-Pipelines in die Hände von Künstlern und Entwicklern legt. Diese Veröffentlichung umfasst die folgenden SRP-Updates:

SRP-Batcher

Beschleunigt das CPU-Rendering

Der SRP-Batcher ist eine neue innere Schleife der Unity-Engine, die das CPU-Rendering beschleunigt, ohne die GPU-Leistung zu beeinträchtigen. Er ersetzt den Legacy-SRP-Rendering-Code.

Spiele, die Physically Based Rendering (PBR) verwenden, haben oft viele verschiedene Objekte und Meshes, die denselben Shader und dieselben Schlüsselwörter für alle verschiedenen Materialien pro Objekt teilen. Der SRP-Batcher gibt Spielen, die PBR verwenden, einen erheblichen Geschwindigkeitsboost für die CPU.

Der SRP-Batcher funktioniert mit dem High Definition Render Pipeline (HDRP) und dem Lightweight Render Pipeline (LWRP), wobei derzeit PC DirectX-11, Metal und PlayStation 4 unterstützt werden.

Entfernen von scriptbaren Shader-Varianten

Reduziert die Build-Zeit und die Datengröße des Spielers

Die Build-Zeit und die Datengröße des Spielers steigen mit der Komplexität Ihres Projekts aufgrund der erhöhten Anzahl von Shader-Varianten.

Mit dem Entfernen von scriptbaren Shader-Varianten, das 2018.2 eingeführt wurde, können Sie die Anzahl der generierten Shader-Varianten verwalten und somit die Build-Zeit und die Datengröße des Spielers drastisch reduzieren.

Dieses Feature ermöglicht es Ihnen, alle Shader-Varianten mit ungültigen Code-Pfaden und/oder ungenutzten Funktionen zu entfernen und Shader-Build-Konfigurationen wie "Debug" und "Release" zu erstellen, ohne die Iterationszeit oder die Wartungskomplexität zu beeinträchtigen. Das Entfernen von scriptbaren Shader-Varianten kann zu einem massiven Anstieg der Effizienz des Teams führen. Siehe diesen Blogbeitrag, um mehr darüber zu erfahren, wie das Entfernen von scriptbaren Shader-Varianten in der Shader-Pipeline-Architektur von Unity implementiert ist.

2018
Lightweight Render Pipeline (Vorschau)

Lieferung hoher Leistung

Die Lightweight Render Pipeline (LWRP) liefert hohe Leistung, was besonders nützlich für Hardware der unteren Preisklasse, leistungsintensive Anwendungen wie XR und Plattformen wie Mobilgeräte ist.

LWRP verbessert die Leistung und Optimierung weiter durch optimierte Fliesen-Nutzung. LWRP passt die Anzahl der Lade- und Speicheroperationen für Fliesen an, um den Speicher von mobilen GPUs zu optimieren. Es schattiert auch Licht in Batches, was Überzeichnung und Draw-Calls reduziert.

Die grundlegende LWRP wird derzeit auf allen VR-Plattformen unterstützt, jedoch wird sie Multisample-Anti-Aliasing (MSAA) bis 2018.3 nicht unterstützen.

Bitte beachten Sie, dass LWRP derzeit nicht für tragbare AR, wie ARCore oder ARKit, oder HoloLens oder Magic Leap-Geräte unterstützt wird. Neue Produktpläne werden zu einem späteren Zeitpunkt kommuniziert.

2018
High Definition Render Pipeline (Vorschau)

Zuerst als Vorschau in 2018.1 veröffentlicht, priorisiert die High Definition Render Pipeline (HDRP) hochauflösende Grafiken, die hauptsächlich auf High-End-Plattformen wie PC und Konsolen abzielen.

In 2018.2 sind wir weiter gegangen, um Ihnen zu helfen, eine hochwertige visuelle Qualität zu erreichen. Es ist jedoch wichtig zu beachten, dass die SRPs weiterhin Vorschauen sind und daher noch nicht für die Produktion empfohlen oder unterstützt werden. Verbesserungen umfassen Volumetrik, glänzende planare Reflexion, geometrisches spekulares AA und Proxy-Bildschirmraumreflexion & -brechung, Mesh-Decals und Schattenmaske.

Volumetrik: Volumetrischer Nebel erhält Beleuchtung von allen unterstützten Lichttypen, außer von Flächenlicht. Es ist auch möglich, die Dichte des Nebels lokal mit einem Dichtevolumen zu steuern.

Glänzende planare Reflexion: Planare Reflexion unterstützt jetzt glänzende Reflexion, was bedeutet, dass die Glätte des Materials berücksichtigt wird.

Geometrisches spekulares AA: Mesh mit dichten Dreiecksanzahlen kann spekulares Aliasing verursachen. Um dies zu beheben, gibt es jetzt eine Option, die Menge an Aliasing zu reduzieren und zu begrenzen.

Proxy-Bildschirmraumreflexion & -brechung: Dieses Feature ermöglicht es Ihnen, ein Proxy-Volumen (Volumen, das die Szenengrenze approximiert) zu verwenden, um Bildschirmraumreflexion und -brechung durchzuführen. Obwohl es nicht so genau ist wie die Verwendung des Tiefenpuffers, sind die Laufzeitkosten geringer.

Mesh-Decals: Dies ermöglicht es Ihnen, Mesh für Decals zusätzlich zu Projektor-Decals zu verwenden.

Schattierungsmaske: Früher verwendete diese Funktion in HDRP den Distance Shadowmask-Modus (dynamisches Schattenverblassen zur Schattierungsmaske bei maximaler Schattenentfernung). Mit 2018.2 ist es jetzt möglich, pro Licht auszuwählen, ob der dynamische Schatten nur ein nicht-lichtgemapptes Objekt rendert (entsprechend dem Schattierungsmaske-Modus der integrierten Pipeline). Im Gegensatz zur integrierten Pipeline ermöglicht HDRP, dass beide Schattierungsmaske-Modi gleichzeitig aktiviert werden können, und Sie haben eine Steuerung pro Licht für den integrierten Schattierungsmaske-Modus.

Darüber hinaus haben wir eine eingeschränkte Shader Graph-Unterstützung hinzugefügt, sodass Sie visuell Shader erstellen können, und wir arbeiten daran, die allgemeine Stabilität und Leistung zu verbessern. Eingeschränkte Unterstützung bedeutet, dass nur eine Teilmenge der HDRP-Funktionen im Shader Graph verfügbar ist. Derzeit gibt es keine erweiterten Materialfunktionen (SSS, Klarlack), und Tessellation ist ebenfalls nicht verfügbar.

Zuletzt haben wir eine Shader-Stripping-Funktion hinzugefügt, die es ermöglicht, Shader zu vermeiden, die beim Erstellen eines Spielers nicht erforderlich sind. Dies führt zu einer viel schnelleren Build-Zeit.

Bitte beachten Sie, dass HDRP derzeit auf keiner AR- oder VR-Plattform unterstützt wird. Die Unterstützung für diese Plattformen ist für 2019 geplant. Neue Produktpläne werden zu einem späteren Zeitpunkt kommuniziert.

2018
Progressiver Lichtmapper

Es gibt mehrere Verbesserungen am progressiven Lichtmapper, der 2018.1 aus der Vorschau kam.

Konfigurierbarer gebackener Lichtabfall

Der konfigurierbare Abfall im progressiven Lichtmapper ermöglicht es Ihnen, physikalisch plausible Abfallkurven beim Backen Ihrer Lichter zu erreichen. Früher wurde die beobachtete Intensität von Spot- und Punktlichtern stark durch den Reichweitenwert des Lichts beeinflusst. Dies ist nicht physikalisch plausibel, da die Abstandsreichweite (oder Dämpfung) eines Lichts in der Realität durch seine Intensität bestimmt wird.

2018

Diese Funktion ermöglicht es dem progressiven Lichtmapper, Reichweite und Intensität zu entkoppeln, indem eine Abstandsabnahme verwendet wird, die an die Weltabstandsreichweite gebunden ist. Während der alte Abfall weiterhin unterstützt wird, unterstützen wir jetzt auch linearen Abfall, quadratischen Abstand und quadratischen Abstand mit Dämpfung auf null an den Reichweitenlimits. Der inverse quadratische Abfall ist standardmäßig in HDRP aktiviert, um die Echtzeitbeleuchtung zu entsprechen, und ermöglicht physikalische Einheiten für die Lichtintensität.

Instanzierte Albedo und Emissionen für vorab berechnete Beleuchtung

Früher haben wir die Emission und Albedo im einzigartigen Lichtkartenraum für all unsere Lichtkarten zugewiesen. Da Instanzen im Allgemeinen die Albedo-/Emissionsmerkmale teilen, unterstützen wir jetzt die Generierung dieser Karten pro einzigartiger Instanz. Dies reduziert die Menge an Speicher, die der Progressive Lightmapper verwendet, und ermöglicht es Ihnen, sogar größere Szenen zu backen.

Warnungen zur additiven Szenenbeleuchtung

Aus Leistungsgründen ist es oft vorzuziehen, größere Szenen in kleinere "Unter-Szenen" zu unterteilen, die während der Laufzeit je nach Sichtbarkeit geladen oder entladen werden können. Dies ist als "additives Laden" oder eine "Multi-Szenen"-Konfiguration bekannt.

Der unterstützte Workflow, den Unity beim Generieren von GI-Beleuchtung für Multi-Szenen-Konfigurationen bietet, ermöglicht es dem Benutzer, alle erforderlichen Unter-Szenen zu laden und dann die Beleuchtung für diese gesamte Szenenhierarchie zu generieren. Die Ausgabe ist eine LightingData.asset, die Lichtkarten, vorab berechnete Echtzeit-GI und Proben-Daten speichert. Dies ist mit der ersten Szene verbunden, die geladen wird, was impliziert, dass es sich um die "Master"-Szene handelt.

Szenen, die während der Laufzeit geladen/entladen werden, leiten ihre Beleuchtungsdaten von der LightingData.asset ab, die mit der Master-Szene verbunden ist. In diesem Szenario sind die Beleuchtungseinstellungen der Unter-Szenen irrelevant. Szenen können jedoch auch einzeln gebacken oder in einer anderen Reihenfolge geladen werden, je nach Absicht. Dies kann dazu führen, dass Szenen inkompatible Beleuchtungseinstellungen und nicht übereinstimmende Beleuchtungsdaten haben. Zum Beispiel können Skyboxes unterschiedlich sein, die Lichtkartenauflösungen variieren oder gemischte Beleuchtungsmodi unterschiedlich sein.

Früher hat Unity den Benutzer nicht auf dieses Problem hingewiesen, was zu Verwirrung führte, wenn die Ergebnisse nicht wie erwartet waren. Unity generiert jetzt eine Warnung, um den Benutzer darüber zu informieren, dass es eine Inkompatibilität gibt. Dann werden explizite Informationen über alle Inkompatibilitäten bereitgestellt, um das Debuggen und die Validierung zu erleichtern.

Weitere Verbesserungen

Wir haben auch die Option "pro Licht" für die Funktion der cull lightmapped shadowcasters (nur Scripting-API) freigegeben, sodass sie im HDRP verwendet werden kann.

Shader Graph (Vorschau)

In 2018.1 haben wir Shader Graph als Vorschau-Paket eingeführt, um Ihnen zu ermöglichen, Shader visuell zu erstellen. Anstatt Code zu schreiben, können Sie Knoten in einem Graphnetzwerk erstellen und verbinden. Jeder Knoten im Graph gibt sofortiges Feedback zu den Änderungen, und die Benutzerfreundlichkeit bedeutet, dass selbst neue Benutzer an der Shader-Erstellung beteiligt sein können. Für dieses Release haben wir mehrere Verbesserungen vorgenommen, darunter:

Unterstützung für das High Definition Render Pipeline (HDRP)

Shader Graph unterstützt jetzt das HDRP mit sowohl PBR- als auch Unlit-Master-Knoten. Shader, die mit Shader Graph erstellt wurden, funktionieren sowohl mit dem LWRP als auch mit dem HDRP.

2018
Vertex-Position

Sie können jetzt die Vertex-Position über den Position-Slot auf den PBR- und Unlit-Master-Knoten ändern. Standardmäßig ist der Eingang zu diesem Knoten Objekt-Raum-Position. Benutzerdefinierte Eingaben für diesen Slot sollten die absolute lokale Position eines bestimmten Vertex angeben. Bestimmte Knoten (wie Procedural Shapes) sind im Vertex-Shader nicht verwendbar. Solche Knoten sind mit diesem Slot inkompatibel.

2018
Einstellungen für Master-Knoten

Die Einstellungen für Master-Knoten sind jetzt in einem kleinen Fenster verfügbar, das Sie ein- und ausschalten können, um verschiedene Rendering-Einstellungen für Ihren Shader zu ändern.

2018
Eigenschaftsreferenznamen und freigegebener Zustand

Sie können jetzt den Referenznamen für eine Eigenschaft bearbeiten, was es viel einfacher macht, auf Ihre Shader-Eigenschaften aus dem Skript zuzugreifen. Um dies zu tun, wählen Sie die Eigenschaft aus und geben Sie einen neuen Namen neben Referenz ein. Wenn Sie den Standardnamen zurücksetzen möchten, klicken Sie mit der rechten Maustaste auf Referenz und wählen Sie Referenz zurücksetzen.

Im erweiterten Eigenschaftenfenster können Sie jetzt auch das Kontrollkästchen Exponiert umschalten.

Bearbeitbare Pfade für Grafiken

Sie können jetzt den Pfad von Shader-Grafiken und Untergrafiken ändern. Wenn Sie den Pfad einer Shader-Grafik ändern, ändert sich der Standort in der Shader-Auswahlliste. Wenn Sie den Pfad der Untergrafik ändern, hat sie einen anderen Standort im Menü zur Erstellung von Knoten.

Ist Frontface-Knoten
2018

Mit diesem Knoten können Sie die Grafikausgabe je nach Gesichtszeichen eines bestimmten Fragments ändern. Wenn das aktuelle Fragment Teil eines Frontfaces ist, gibt der Knoten Wahr zurück. Für ein Rückface gibt der Knoten Falsch zurück. Hinweis: Diese Funktionalität erfordert, dass Sie zwei Seiten am Master-Knoten aktiviert haben.

Gradientenknoten
2018

Dies fügt die Gradientfunktionalität über zwei neue Knoten hinzu. Der Sample Gradient-Knoten probiert einen Gradient mit einem gegebenen Zeitparameter. Sie können diesen Gradient im Steuerungsansichtsbereich für den Gradient-Slot definieren. Der Gradient Asset-Knoten definiert einen Gradient, der von mehreren Sample Gradient-Knoten mit unterschiedlichen Zeitparametern abgetastet werden kann.

Texture3D und Texture2D Array
2018

Diese Änderung erweitert die Unterstützung von Unity für Texturtypen über zwei neue Eigenschaftstypen und vier neue Knoten. Diese ermöglichen es Ihnen, Textur 3D und Textur 2D Array-Typ-Assets in Shader Graph zu definieren und abzusample.

Textur 2D LOD-Knoten

Dies fügt einen neuen Knoten für die LOD-Funktionalität in einem Texture 2D Sample hinzu. Das Sample Texture 2D LOD verwendet die gleichen Eingangs- und Ausgangsslots wie das Sample Texture 2D, enthält jedoch auch einen Eingang für Anpassungen des Detailgrads über einen Vector1-Slot.

Generierten Code anzeigen

Sie können jetzt den generierten Code für einen bestimmten Knoten sehen. Um dies zu tun, klicken Sie mit der rechten Maustaste auf den Knoten und wählen Sie "Generierten Code anzeigen". Der Codeausschnitt wird im Code-Editor geöffnet, den Sie mit Unity verknüpft haben.

Vulkan-Unterstützung für den Editor unter Windows und Linux (experimentell)

Diese Version enthält experimentelle Unterstützung für die Ausführung des Editors unter Vulkan für sowohl Windows als auch Linux. Vulkan ist eine neue Generation von Grafik- und Compute-API, die einen hocheffizienten, plattformübergreifenden Zugriff auf moderne GPUs bietet, die in einer Vielzahl von Geräten von PCs und Konsolen bis hin zu Mobiltelefonen und eingebetteten Plattformen verwendet werden.

Texture Mipmap Streaming

In dieser Version haben wir die Unterstützung für das Streaming von Textur-Mipmaps nach Bedarf in den Speicher hinzugefügt (d.h. nur wenn sie benötigt werden).

Was ist der Vorteil?

Sie können diese Funktion aktivieren, um die Texturspeicheranforderungen einer Unity-Anwendung zu reduzieren.

Wie es funktioniert

Wenn dieses System aktiviert ist, lädt Unity nur die hochauflösenden Textur-Mipmaps, wenn sich die Meshes in der Nähe einer aktiven Kamera befinden. Die hochauflösenden Mipmap-Daten werden im Speicher gehalten, während der gesamte Texturspeicher innerhalb eines benutzerdefinierten Budgets liegt. Wenn das Laden eines neuen Textur-Miplevels dazu führen würde, dass der Texturspeicher das Budget überschreitet, werden die hochauflösenden Mipmaps von den am weitesten von der Kamera entfernten Meshes aus dem Speicher freigegeben.

Beschleunigt die anfängliche Ladezeit

Die anfängliche Szenenladezeit kann ebenfalls beschleunigt werden, da die Menge an Texturdaten, die zuerst geladen wird, reduziert wird (d.h. nur die niedrigeren Mipmap-Ebenen werden geladen). Die Verbesserungen der anfänglichen Ladegeschwindigkeit sind plattformabhängig.

Mehr Kontrolle

Das Texture Mipmap Streaming-System gibt Ihnen die volle Kontrolle darüber, welche Mipmap-Ebenen tatsächlich in den Speicher geladen werden. Normalerweise lädt Unity alle Mipmap-Ebenen, die auf der Festplatte gespeichert sind, aber mit diesem System können Sie direkt steuern, welche Mipmap-Ebenen geladen werden.

Dieses System tauscht auch eine kleine Menge CPU-Zeit gegen potenziell große GPU-Speichereinsparungen ein.

Einfach zu aktivieren und zu verwalten

Die Funktion ist einfach über die Qualitätseinstellungen zu aktivieren, wo Sie für jede Textur definieren können, ob sie vom System gestreamt werden soll. Sie können die Metriken abfragen, um die Nutzung des Texturspeichers zu identifizieren, während Sie weiterhin die Speichereinsparungen sehen können.

Verschiedene Einstellungen können ebenfalls angepasst werden, um das System zu steuern, sodass es die Speichereinsparungen und die CPU-Kosten ausbalanciert und es Ihnen ermöglicht, einige Texturen gegenüber anderen zu priorisieren (z. B. Charaktertexturen gegenüber Umgebungstexturen).

2018
C# Animationsjobs

AnimationPlayables ermöglichen es Benutzern jetzt, ihre eigenen C# Playables zu schreiben, um direkt mit Animationsdaten zu interagieren.

Benutzer können auch mehrthreadigen C#-Code schreiben, um die AnimationStream-Daten zu steuern, die vom PlayableGraph verwendet werden, was auch die Integration von benutzerdefinierten IK-Lösungen, prozeduraler Animation oder sogar benutzerdefinierten Mischern in das aktuelle Animationssystem ermöglicht.

Verbesserungen des Partikelsystems

Hier sind die Verbesserungen in 2018.2:

Unterstützung für acht UVs

Dies ermöglicht Ihnen, mehr benutzerdefinierte Daten als je zuvor zu verwenden.

MinMaxCurve und MinMaxGradient

Es ist jetzt möglich, diese Typen in Ihren benutzerdefinierten Skripten außerhalb von Partikelsystemen zu verwenden, um den Stil zu entsprechen, der von der Partikelsystem-Benutzeroberfläche verwendet wird.

Lineare Farbräume

Partikelsysteme konvertieren jetzt Farben in den linearen Raum, wenn dies angemessen ist, bevor sie an die GPU hochgeladen werden.

Aus Sprites emittieren

Wir haben zwei neue Modi zum Shape-Modul hinzugefügt, um von einer Sprite- oder SpriteRenderer-Komponente aus zu emittieren und die Partikelemission perfekt an die Visuals des Sprites anzupassen.

BakeMesh

Es gibt zwei neue APIs zum Backen der Geometrie eines Partikelsystems in ein Mesh: BakeMesh bäckt die Partikelgeometrie, und BakeTrailsMesh bäckt das Trails-Modul in ein Mesh.

Nur Ausgewählte Anzeigen (auch Solo-Modus genannt)

Eine sehr nachgefragte Funktion, die zusammen mit allen anderen Vorschau-Steuerelementen im Overlay der Szenenansicht, wie Play/Neustart/Stop usw., besser auffindbar und zugänglich gemacht wurde.

ETC-Texturunterstützung

Shader, die separate Alpha-Texturen verwenden, können jetzt mit Partikeln verwendet werden, wenn Sie Sprites im Texture Sheet Animation-Modul verwenden.

2D
Pixel Perfect Camera (Vorschau-Paket)

Versuchen Sie das Pixel Perfect Preview-Paket, um Ihrer Pixelkunstvision treu zu bleiben. Die Pixel Perfect Camera-Komponente hilft Ihnen, perfekte, scharfe Pixel zu erhalten – unabhängig von der Bildschirmgröße – indem sie alle Berechnungen automatisch für Sie durchführt.

Ihre Sprites profitieren sogar von der Funktion, wenn sie sich bewegen oder rotieren, und behalten immer eine scharfe Pixelierung bei, ohne dass Sie Interpolation hinzufügen müssen, um die Kanten zu glätten, wie unten dargestellt.

2018
2D Sprite Renderer "Nach Pivot-Punkt sortieren"

Traditionell wird der Abstand zwischen dem Zentrum eines Sprite Renderers und der Achse verwendet, um zu bestimmen, welches Sprite zuletzt gerendert wird und daher im Vordergrund des Bildes erscheint.

Mit diesem Release können Sie den Pivot-Punkt anstelle des Zentrums des Sprites als Referenzpunkt in den verschiedenen Sortiermethoden verwenden, z. B. beim Anordnen nach Abstand zur Oberseite des Bildschirms. Zum Beispiel benötigen Sie in Top-Down-RPG-Spielen den unteren Teil des Sprites, um die Renderreihenfolge des Sprites zu bestimmen.

Die neue Pivot-Punkt-Konfiguration ermöglicht es Ihnen, Kriterien festzulegen, die besser zu Ihrem Spiel passen.

2018
2D Hexagonale Kachelkarten

Sie können jetzt hexagonale Kachelkarten erstellen. Dies umfasst die Unterstützung für flach oben und spitz oben hexagonale Kacheln, die besonders nützlich sind, um Strategiespiele oder digitale Brettspiele zu erstellen.

2018
2018
SVG-Importer (Vorschau-Paket)

Diese Funktion ermöglicht es Ihnen, skalierbare Vektorgrafiken (SVG) direkt in Ihre Projekte zu importieren. Der SVG-Importer ermöglicht es Ihnen, Sprite-Assets mit einer sehr kleinen Dateigröße zu erstellen, die ihre Qualität bei jeder Auflösung beibehalten.

Der SVG-Importer unterstützt die gängigsten Funktionen der SVG 1.1-Spezifikation, wie z. B. Farbverläufe, Füllungen, Clipping-Pfade, gestrichelte Linien und abgerundete Ecken. Vektorgrafik-Sprites, die auf diese Weise importiert werden, werden von den Unity 2D-Tools unterstützt.

Sobald eine SVG-Datei importiert ist, werden die Vektordaten in Dreiecke tesselliert und ein Sprite wird generiert. Dieses Sprite kann dann vom 2D-System verwendet werden. Der Quellcode für den SVG-Importer befindet sich im Editor-Ordner des Pakets.

Holen Sie sich den SVG-Importer als Teil des Vector Graphics Preview-Pakets aus dem Package Manager.

Die Vektorgrafik-APIs können verwendet werden, um Vektor-Konstrukte direkt im Code zu erstellen und zu manipulieren. Der Quellcode für die Vektorgrafik-APIs befindet sich im Vektorgrafik-Namespace unter dem Runtime-Ordner.

Neue 2D-APIs

Sie können die Vektorgrafik-API verwenden, um Vektordaten direkt im Code zu erstellen oder zu manipulieren. Die neue 2D-Atlas-API ermöglicht es Ihnen, benutzerdefinierte Tools zu schreiben, um Atlanten zu erstellen oder zu aktualisieren. Zum Beispiel könnten Sie personalisierte Charaktertexturen mit dem Profilbild des Spielers erstellen oder den Atlas basierend auf der Konfiguration des Spielers optimieren.

Editor – allgemein
Unterstützung für die Verwendung von .java- und .cpp-Quelldateien als Plugins in einem Unity-Projekt

Sie haben jetzt die Möglichkeit, .java- (sowie .cpp- und .a-) Quelldateien zu den Plugin-Ordnern des Unity-Projekts hinzuzufügen. Diese Dateien werden als Unity-Plugins erkannt und in die APK kompiliert, ohne dass der Benutzer die Bibliotheken separat in Android Studio erstellen muss. Der Plugin-Code bleibt Teil des Unity-Projekts, wodurch die Notwendigkeit entfällt, ein separates Android Studio-Projekt zu erstellen.

Ersatz für Standard Assets

Wir haben die Version 5.0 der Standard Assets im Installer in 2018.2 entfernt und arbeiten an Ersatzpaketen für jeden Teil des ehemaligen Prototyping-Pakets. Das erste Paket (Standard Assets: Charaktere) wird bald nach der Veröffentlichung von 2018.2 als Vorschau verfügbar sein. Es wird einen First-Person- und Third-Person-Controller enthalten, der mit Cinemachine integriert ist, sowie eine Prototyping-Umgebung, die mit Probuilder erstellt wurde. Für Details achten Sie in den kommenden Wochen auf einen Blogbeitrag zu diesem Thema. Für diejenigen von Ihnen, die das Legacy-Paket 5.0 benötigen, bleibt es im Asset Store.

Unity Hub

Unity Hub (v1.0), das bald veröffentlicht wird, ist ein neues Tool, das entwickelt wurde, um den Onboarding- und Einrichtungsprozess für alle Benutzer zu optimieren. Es bietet einen zentralen Ort, an dem Sie Ihre Unity-Projekte verwalten können, und vereinfacht, wie Sie Ihre Unity-Editor-Lizenzen und Add-On-Komponenten finden, herunterladen und verwalten.

Seit unserer ersten Veröffentlichung haben wir hart daran gearbeitet, Fehler zu beheben und das Erlebnis zu verfeinern. In den letzten sechs Wochen haben wir bereits mehr als vier Veröffentlichungen veröffentlicht, die automatisch auf den Maschinen unserer Benutzer heruntergeladen und aktualisiert wurden. Hier sind einige Dinge, die mit Hub 1.0 ausgeliefert werden:

  • Projektvorlagen
  • Benutzerdefinierter Installationsort
  • Hinzufügen von Asset-Store-Paketen zu neuen Projekten
  • Modifizierter Projekt-Build-Ziel
  • Editor: Hinzufügen von Komponenten nach der Installation

Falls Sie die Beta-Version im Januar verpasst haben, können Sie hier im Blogbeitrag darüber lesen.

Kinematiken
Kamera Physikalische Eigenschaften

Diese Version enthält neue Funktionen, die Künstlern und Kameraleuten mehr Vertrauen und Kontrolle bei der Arbeit in Unity geben, einschließlich der folgenden:

  • Ein neuer Schalter für die Physikalische Kamera ermöglicht es Ihnen, Einstellungen anzuzeigen, die Künstler und Kameraleute sofort vertraut sein werden, wie Standard-Brennweite, Sensorgröße und Objektivverschiebungseigenschaften.
  • Der Modell-Importer bewahrt jetzt die Eigenschaften von Physikalischen Kameras, die aus Autodesk® Maya® und anderen kompatiblen DCCs exportiert wurden.
  • Kameras in Unity stimmen jetzt perfekt mit Kameras in anderen DCCs überein, ohne dass zusätzliche Komponenten oder manuelle FOV-Berechnungen erforderlich sind.
  • Die Kamera-Komponente bietet jetzt ein Dropdown-Menü mit Sensorgrößen für gängige reale Kameras.
2018
2018
Recorder 1.0
2018

Unity Recorder 1.0, das bald veröffentlicht wird, kommt mit vielen Updates, die den Benutzern eine einfache Möglichkeit bieten, Animationsclips, Videos und Bildsequenzen aus dem Editor zu verwalten und aufzuzeichnen:

  • Neue Benutzeroberfläche: Eine saubere Ansicht und einfache Möglichkeit, Ihre Aufnahmen zu verwalten.
  • Voreinstellungen: Speichern Sie Ihre Einstellungen, damit Sie nicht von vorne beginnen müssen.
  • API: Verwenden Sie Skripte, um Aufnahmen über die API auszulösen.
  • Mehrere Aufnahmen: Starten Sie mehrere Aufnahmen gleichzeitig und speichern Sie sie in einer Liste, wenn Sie die gleichen Einstellungen in Zukunft verwenden müssen.
  • Video-Clips mit Audio in mehreren Formaten aufnehmen.
  • Bildsequenzen in mehreren Formaten aufnehmen.
  • Animationen aufnehmen und exportieren: Exportieren Sie Animationsclips (über FBX) in Ihre bevorzugten DCC-Anwendungen.

Der Unity Recorder v1.0 wird im Asset Store verfügbar sein.

Kern-Engine
Entfernung der alten RakNet-basierten Netzwerkfunktion

RakNet, unsere frühere Netzwerkfunktion, wurde in 5.1 als veraltet markiert und wurde aus Unity 2018.2 entfernt. Das bedeutet, dass jedes Projekt, das RakNet verwendet, mit dieser Version nicht funktioniert.

Addressable Asset System (Vorschau)

Das Addressable Asset System erleichtert die Verwaltung aller Dinge, die Ihr Spiel ausmachen, wie Prefabs, Texturen, Materialien, Audio-Clips, Animationen und so weiter. Wenn Projekte wachsen, steigt auch die Anzahl der Assets. Benutzer müssen sie intelligent referenzieren, sonst wird alles in Ihrem Spiel, von lokalem Speicher bis zur Inhaltsverteilung, schwer zu verwalten sein.

Ihre Inhaltsverteilungsstrategie wird insbesondere schwieriger zu verwalten sein, da Asset-Referenzen typischerweise zur Build-Zeit aufgelöst werden, und Benutzer oft mit umfangreichen Umstrukturierungen konfrontiert sind, um Änderungen vorzunehmen.

Das neue Addressable Asset System erleichtert es Ihrem Team, zu skalieren, während Ihr Spiel an Größe zunimmt. Es trennt die drei Hauptanliegen des Asset-Managements zur Laufzeit: Referenzierung, Verpackung und Verteilung. Dies vereinfacht die Referenzierung von Inhalten, egal ob sie auf der lokalen Maschine oder online über CDN verteilt sind, da die Inhalte automatisch geladen und entladen werden, um ein besseres Speichermanagement zu gewährleisten. Wir bieten auch Profiler-Tools an, um die Speichernutzung weiter zu optimieren. Letztendlich führt dies zu schnelleren Iterationszeiten für Sie.

Das neue Addressable Asset System wird separat ausgeliefert. Es ist als Add-On über den Paket-Manager verfügbar und befindet sich jetzt in der Vorschau.

Unterstützung für hochauflösende Monitore

Wenn Sie einen 4K-Monitor haben, können Sie jetzt die Unterstützung für High-DPI-Skalierung sowohl unter Linux als auch unter Windows im Editor genießen und Unterstützung für skalierte Anzeige-Faktoren pro Monitor unter Windows.

Abkündigung der Unterstützung für das .NET-Scripting-Backend, das von der Universal Windows Platform verwendet wird

Seit Unity 2018.1 unterstützen wir zwei Scripting-Backends auf der Universal Windows Platform (UWP): .NET und IL2CPP. Mit diesem Release stellen wir die Unterstützung für das .NET-Scripting-Backend ein. Die Ziele für diese Einstellung sind zweifach.

Erleichtert das Portieren von Spielen zu UWP

Das erste Ziel dieser Einstellung ist es, es Ihnen zu erleichtern, Spiele zu UWP zu portieren. Ein Großteil der Entwicklerprobleme, die in der Vergangenheit mit dem Portieren von Spielen zu UWP verbunden waren, ist auf Unterschiede in der API-Oberfläche und Unterschiede zwischen dem .NET Native und den Mono- und IL2CPP-Laufzeiten zurückzuführen, die Unity auf anderen Plattformen verwendet. Diese Änderung wird es letztendlich den meisten Entwicklern erleichtern, Spiele zu UWP zu portieren.

Hilft uns, besseren Support anzubieten

Der zweite Grund für diese Einstellung ist, es uns zu erleichtern, Sie zu unterstützen, indem wir Probleme effizient beheben. Da das .NET-Scripting-Backend völlig anders ist als die Laufzeiten, die wir für alle anderen Unity-Plattformen verwenden, war es für uns eine Herausforderung, ein konsistentes Qualitätsniveau im Vergleich zum Rest von Unity aufrechtzuerhalten. Diese Einstellung wird es uns letztendlich ermöglichen, weniger Zeit mit der Wartung des .NET-Scripting-Backends zu verbringen und mehr Zeit mit den Funktionen und Problemen zu arbeiten, die für Sie am wichtigsten sind.

IL2CPP hat die gleiche .NET-API-Oberfläche wie alle anderen Unity-Plattformen, und IL2CPP hat seit einiger Zeit Unterstützung für den Zugriff auf WinRT-Typen und APIs. Mit der Einführung des IL2CPP-managed Debuggers in 2018.2 ist die Entwicklererfahrung auf IL2CPP jetzt gleichwertig und überlegen im Vergleich zu dem, was das .NET-Scripting-Backend bietet.

IL2CPP ist seit 2017.2 der Standard, daher erwarten wir, dass die meisten Benutzer keine Probleme damit haben werden. Wenn Sie jedoch IL2CPP noch nicht ausprobiert haben und auf Probleme stoßen, stellen Sie bitte sicher, dass Sie diese melden. Wir planen, die Unterstützung für das .NET-Scripting-Backend in 2019.1 einzustellen.

C# Job System, Entity Component System und Burst Compiler

Mit unserem neuen hochleistungsfähigen Multithread-System, das 2018.1 eingeführt wurde, bauen wir das grundlegende Fundament von Unity neu auf. Das neue System wird es Ihren Spielen ermöglichen, die derzeit verfügbaren Mehrkernprozessoren voll auszunutzen — ohne die Programmierkopfschmerzen. Dies ist dank des neuen C# Job Systems möglich, das Ihnen eine sichere und einfache Sandbox bietet, um parallelen Code zu schreiben. Wir führen auch ein neues Modell ein, um standardmäßig leistungsfähigen Code mit dem Entity Component System (ECS) und dem Burst Compiler zu schreiben, um hochoptimierten nativen Code zu erzeugen.

Mit großartiger Leistung standardmäßig können Sie nicht nur Ihre Spiele auf einer größeren Vielfalt von Hardware ausführen, sondern auch reichhaltigere Spielwelten mit mehr Einheiten und komplexeren Simulationen erstellen. Sie können hier mehr erfahren.

Entity Component System (ECS)

In 2018.2 haben wir mehrere Verbesserungen hinzugefügt, einschließlich reaktiver Systembeispiele. Das reaktive System ermöglicht es Ihnen, auf Änderungen des Komponentenstatus zu reagieren und ereignisgesteuertes Verhalten zu emulieren. Sie können mehr über reaktive Systeme erfahren, indem Sie Joachim Antes Unite Berlin Vortrag zu diesem Thema ansehen.

Wir werden auch eine Reihe von Beispielen und Dokumentationen bereitstellen, wie man reaktive Systeme mit ECS implementiert.

Im zweiten Halbjahr werden wir kleine Unity-Spielbeispiele bereitstellen, die von Unity-Nutzern erstellt und von uns in ECS umgewandelt wurden.

Burst-Compiler

Mit diesem Release ist das Burst-Compiling für ECS auf allen Editor-Plattformen (Windows, Mac, Linux) verfügbar, und Sie können AOT für Standalone-Spieler (Desktop, PS4, Xbox, iOS, Android und Nintendo Switch) erstellen.

Während wir auf 2018.3 hinarbeiten, werden wir weiterhin den Fokus auf die ECS-Leistung legen, eine Vorschau auf Determinismus veröffentlichen und mehr .NET C#-Sprachkonstrukte (DllImport, konstante Arrays, foreach usw.) unterstützen.

Wir streben an, den Burst-Compiler im Zeitraum 2018.3 aus der Vorschau zu bringen.

IL2CPP-Managed Debugger

IL2CPP-Managed Debugging ist jetzt verfügbar, sodass Entwickler ihren bevorzugten Debugger verwenden können, um Fehler zu finden und zu beheben, selbst wenn sie das IL2CPP-Backend verwenden.

Alle Debugging-Funktionen werden für Visual Studio (mit Visual Studio Tools für Unity) und JetBrains Rider auf Standalone, PlayStation 4, mobilen Plattformen und Xbox One unterstützt, die später geplant sind.

2018
Verbesserungen der Skriptlaufzeit in Unity 2018.2

Unity 2018.2 wird mit Dutzenden von Fehlerbehebungen im Zusammenhang mit der Skriptlaufzeit ausgeliefert, dank des großartigen Feedbacks, das wir seit .NET 4.x erhalten haben.

ARM64-Bit-Unterstützung für Android

Mit diesem Release fällt die ARM64-Bit-Unterstützung für Android, basierend auf IL2CPP-Technologie, das Vorschau-Label. Diese Version bietet Ihnen Leistungsverbesserungen, da 64-Bit-Android-Apps und Ihre Spiele mehr als 4 GB Speicher adressieren können.

APK-Splitting nach Architektur

Sie haben jetzt die Möglichkeit, die Zielarchitektur (x86, ARM 32, ARM 64) in mehrere APKs zu splitten, anstatt eine große zu erstellen. Für Stores, die diese Option unterstützen (wie Google Play), müssen Sie nur die APK mit der relevanten Architektur herunterladen.

2018
Google Play Instant Games Plugin

Eine der größten Hürden beim Erwerb neuer Spieler ist der Aufwand des Installationsprozesses.

Das Herunterladen und Öffnen einer App dauert Zeit und führt dazu, dass viele Benutzer aufgeben, bevor sie Ihr Spiel erleben.

Mit Google Play Instant können Spieler eine 10MB große Instant-Version des Spiels ausprobieren, ohne es zuerst installieren zu müssen. Dieses Plugin vereinfacht die Umwandlung einer auf Unity basierenden Android-App in eine Instant-App, die über Google Play Instant bereitgestellt werden kann.

Das Plugin ist als Projekt auf GitHub verfügbar und kann mit Unity 2017.x und neueren Versionen verwendet werden.

Die Funktionen des Plugins umfassen:

  • Die Möglichkeit, zwischen installierten und Instant-Build-Modi zu wechseln
  • Eine zentrale Ansicht der Unity-Build-Einstellungen und Android-Player-Einstellungen, die geändert werden müssen, um Google Play Instant zu unterstützen
  • Die Möglichkeit, die Instant-App auf einem ADB-verbundenen Android-Gerät zu erstellen und auszuführen
C# Plattformzertifikatsspeicher-Synchronisierung

Wir unterstützen jetzt moderne Verschlüsselung (TLS1.2) auf allen Plattformen von .NET 4.x und UnityWebRequest-APIs. Dies umfasst die automatische Überprüfung gegen plattformspezifische Zertifikatsspeicher.

Auf Xbox One und PS Vita, die keinen Zugriff auf die Systemstore-Validierung bieten, wird ein eingebetteter CA-Speicher zur Validierung verwendet.

Ende der Unterstützung für UnityScript

Wie bereits angekündigt, haben wir mit diesem Release die Abwertung von UnityScript abgeschlossen. Siehe Richard Fines Blogbeitrag vom letzten Sommer für detaillierte Informationen.

Im Allgemeinen haben wir diese Entscheidung getroffen, weil wir mit der Aktualisierung der Scripting Runtime und der Version von C#, die wir unterstützen, größere Möglichkeiten schaffen können:

  • Das Upgrade der Scripting Runtime ermöglicht es Ihnen, .NET 4.6 und später C# 7 zu verwenden.
  • Das JobSystem ermöglicht es, mehrstufigen Code einfach zu schreiben, wobei Sie vor Race Conditions und Deadlocks geschützt sind.
  • Der Typ NativeArray ermöglicht es Ihnen, große Arrays zu erstellen und zu bearbeiten, deren Speicher von nativen Code verwaltet wird, was Ihnen mehr Kontrolle über das Zuweisungsverhalten gibt und Bedenken hinsichtlich der Garbage Collection beseitigt.
  • Sie haben die Kontrolle über die Skriptkompilierungspipeline, sodass Sie anpassen können, wie Ihre Skripte in Assemblies kombiniert werden.

Wir haben auch aufgehört, neue Asset Store-Pakete zu akzeptieren, die UnityScript-Code enthalten, und wir haben Pakete mit UnityScripts entfernt.

Schließlich haben wir ein automatisches Konvertierungstool von UnityScript zu C# bereitgestellt. Es gibt einige davon, aber wir waren mit den Ansätzen, die sie verwenden, nicht zufrieden. Da wir viel über die Arbeit mit UnityScript-Code gelernt haben, als wir den Script Updater geschrieben haben, haben wir beschlossen, dieses Wissen anzuwenden und unsere eigene Lösung zu entwickeln. Sie können es hier herunterladen.

Visual Studio Code Debugger-Erweiterung

Für diejenigen, die Visual Studio Code als IDE verwenden möchten, haben wir die Visual Studio Code Debugger für Unity-Erweiterung entwickelt und pflegen sie, die als Vorschau verfügbar ist.

2018

Für diejenigen, die VSCode verwenden möchten, um C#-Code innerhalb von Unity zu debuggen, besuchen Sie diesen Forum-Beitrag und probieren Sie es aus. Wir würden gerne hören, was Sie darüber denken. Bitte beachten Sie, dass wir die Erweiterung auch aktualisieren, um das Debuggen von C# im neuen Mono-Laufzeitumgebung in Unity zu unterstützen und gemeldete Fehler zu beheben.

XR
HoloLens Holographic Remoting

HoloLens Holographic Remoting ermöglicht es Anwendungen, die Leistung eines lokalen Desktop-Computers zu nutzen, um Rendering und Verarbeitung zur Laufzeit auszulagern. Wir denken, dass unsere Kunden aus der Automobil- und AEC-Branche diese Funktion besonders nützlich finden werden. Erfahren Sie mehr, wie Sie anfangen können.

Versionshinweise

Die Version 2018.2 enthält auch 183 Verbesserungen und 1426 Fehlerbehebungen. Bitte beachten Sie die Versionshinweise für die vollständige Liste der neuen Funktionen, Verbesserungen und Fehlerbehebungen. Wir freuen uns, Ihr Feedback zu den neuen Funktionen in unserem Forum. zu besprechen.

Danke an alle, die bei der Testung der Beta-Version 2018.2 geholfen haben.

Wenn Sie ein Beta-Tester waren, haben Sie die Veröffentlichung von 2018.2 möglich gemacht. Vielen Dank, dass Sie alle neuen Funktionen ausprobiert und großartiges Feedback gegeben haben.

Die 25 Gewinner des Unity Gear Set Gewinnspiels

Wir überprüfen derzeit alle Teilnehmer des Beta-Gewinnspiels 2018.2 und werden bald Geschenkgutscheine per E-Mail an die 25 Gewinner senden. (Um sich für einen Preis zu qualifizieren, mussten Sie einen Fehlerbericht einreichen, der zuvor nicht gemeldet wurde, den wir reproduzieren konnten und den wir als Fehler anerkannt haben.)

Seien Sie Teil der nächsten Beta

Wenn Sie noch kein Beta-Tester sind, ziehen Sie in Betracht, einer zu werden. Sie erhalten frühzeitigen Zugriff auf die neuesten Funktionen und können testen, ob Ihr Projekt mit der neuen Version kompatibel ist. Sie haben auch die Möglichkeit, mit einigen der führenden Experten der Unity-Community zusammenzuarbeiten, die Zukunft von Unity mitzugestalten und die Chance zu haben, coole Preise zu gewinnen.

Sie können einfach Zugang erhalten, indem Sie unseren offenen Beta-Test herunterladen. Durch Ihre Teilnahme erhalten Sie nicht nur Zugang zu allen neuen Funktionen, sondern können auch dazu beitragen, die höchste Softwarequalität sicherzustellen.

Als Ausgangspunkt werfen Sie einen Blick auf diesen Leitfaden für effektive Beta-Tester. Wenn Sie gelegentlich E-Mails mit Beta-Nachrichten, Updates und Tipps & Tricks erhalten möchten, melden Sie sich bitte unten an.