Hero background image

Vereinfachen Sie Ihr Content-Management mit Addressables

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.

Erfahren Sie, wie das Addressable Asset System Ihr Content-Management sowohl im Editier- als auch im Laufzeitmodus vereinfachen kann, sodass die ursprünglichen und aktualisierten Versionen Ihres Spiels reibungsloser und einfacher sind. Dieser Artikel basiert auf einem Vortrag von Bill Ramsour vom Live Content-Team, der auf der Unite Copenhagen 2019 gehalten wurde.

Überblick über Addressables

Das Addressable Asset System (d.h. Addressables) ist ein Unity-Editor- und Laufzeit-Asset-Management-System, das die Unterstützung für große Produktionsteams mit komplexen Anforderungen an die Bereitstellung von Live-Inhalten verbessert. Das System verwendet asynchrones Laden, um das Laden von jedem Ort mit jeder Sammlung von Abhängigkeiten zu unterstützen. Durch effizienteres Packen von Asset-Bundles und Reduzierung der Iterationszeit bietet Addressables eine einfache Möglichkeit, Ihr Spiel dynamischer zu gestalten.

Addressables adressiert die Herausforderungen der Entwickler wie Iterationszeit, Abhängigkeitsmanagement, Speichermanagement und Content-Packing.

Addressables-Workflow

Der Addressables-Workflow

Sobald ein Asset (z.B. ein Prefab) als "adressierbar" markiert ist, generiert es eine Adresse, die von überall aufgerufen werden kann. Wo auch immer sich das Asset befindet (lokal oder remote), wird das System es und seine Abhängigkeiten lokalisieren und dann zurückgeben. Ein Asset ist Inhalt, den Sie verwenden, um Ihr Spiel oder Ihre App zu erstellen. Häufige Beispiele für Assets sind Prefabs, Texturen, Materialien, Audio-Clips und Animationen.

Addressables abstrahiert Asset-Bundles, um das Content-Management effizienter zu gestalten, während es das Asset und alle zugrunde liegenden Daten enthält.

Im Addressables-Workflow durchläuft die Anfrage zunächst das Katalogsystem. Das System dekodiert die Adresse in einen Standort, der aus den während des Builds generierten Daten besteht, die beschreiben, was das Asset ist, seine Abhängigkeiten, ob es lokal oder remote ist und so weiter.

Von dem Katalog aus durchläuft die Anfrage das Providersystem. Ein oder mehrere Provider verwenden diese Standorte, um den Inhalt zu finden und ihn dann an das Gerät zurückzugeben.

In Addressables ist die Laufzeit asynchron. Dies gibt Ihnen die Flexibilität, ein Asset abzurufen, wenn Sie es benötigen, egal wo es sich befindet – sein Standort kann sich je nach Entwicklungsphase ändern – ohne den Spielcode ändern zu müssen.

Addressables-Gruppen

Addressables-Gruppen

Wenn Sie etwas als adressierbar markieren, wird es Teil einer Addressables-Gruppe, die ein Container für die adressierbaren Assets und deren Daten ist. Sie können die Gruppen im Gruppenfenster visualisieren, das die Heimatbasis für Addressables ist. Gruppen können bestimmen, ob dieses Asset lokal auf einem Gerät oder auf einem Server sein wird.

Die Daten zu Addressables-Gruppen werden in Schemata gehalten, die Datenverträge sind. Eines der Schemata konzentriert sich darauf, wie Ihre Assets und Inhalte in Bundles gebaut werden. Build-Pfad und Load-Pfad gehören zu den nützlicheren Einstellungen, die es Ihnen ermöglichen, Ihren Inhalt lokal oder remote festzulegen, indem Sie eine Variable aus den Dropdown-Menüs auswählen.

Im Addressables-Profil-System erstellen Sie ein Profil für eine Addressables-Gruppe und definieren dann für ein bestimmtes Profil, was Sie möchten, dass die Variablen auswerten. Dies ermöglicht es Ihnen, die Daten Ihrer Gruppe festzulegen und Änderungen daran remote vorzunehmen, ohne einen Teil dieser Gruppe neu codieren zu müssen.

Produktion

Um das Beste aus Addressables herauszuholen, hilft es, Ihre Daten in Bezug darauf zu visualisieren, wie Sie Ihr Spiel ausliefern möchten. Sie müssen sich nicht auf eine Struktur festlegen, da es einfach ist, Profilvariablen während der Entwicklung zu ändern, aber Sie sollten einen allgemeinen Ansatz zur Organisation Ihrer Bundles haben.

Wenn Sie beispielsweise Ihr Spiel mit remote Inhalten ausliefern möchten, aber möchten, dass diese Inhalte während der Entwicklung lokal sind, können Sie ein Profil erstellen, bei dem die remote Pfade auf die Streaming-Assets zeigen. Auf diese Weise können Sie alle Ihre remote Inhalte global ändern, um lokal zu werden, ohne den Code der Gruppe zu berühren.

Addressables Editor-Hosting

Editor-Hosting

Manchmal müssen Sie Inhalte auf einem Server hosten. Sie können einen Remote-Pfad einrichten und anstelle des tatsächlichen URL auf die von Ihrem Hosting-Dienst definierten Variablen verweisen.

Wenn Sie das Hosting aktivieren, richtet der Hosting-Dienst einen HTTP-Host innerhalb des Editors ein. Sie können Ihr Gerät oder Ihren Player mit diesem Host verbinden, um Dinge auszuprobieren.

Eine leistungsstarke Funktion des Editor-Hostings ist, dass Sie alles remote einstellen können. Dies ist besonders nützlich für Inhaltsentwickler und Künstler, da Sie einen Player erstellen und ihn auf Ihr Gerät bereitstellen können, während Sie weiterhin an Ihrem Inhalt arbeiten. Sie müssen Ihren Player nicht erneut bereitstellen oder sich Sorgen machen, Inhalte von einem Gerät auf ein anderes zu verschieben. Schauen Sie sich unsere Dokumentation an, um mehr über die Erstellung und Konfiguration von Hosting-Diensten mit Addressables zu erfahren.

Mit vielen der wichtigsten technischen Herausforderungen zur Unterstützung dynamischer Inhalte, die durch Addressables gelöst wurden, bleibt das Problem der "letzten Meile" – das Hosting und die Bereitstellung von Assets für Live-Produktionsspiele und -Apps. Später in diesem Jahr werden wir eine unternehmensgerechte, globale Content-Hosting-Lösung einführen, die vollständig in das Addressables-System integriert ist. Wenn Sie mehr über diesen Dienst erfahren möchten, melden Sie sich hier an.

So laden Sie Assets in Addressables

Das Live-Content-Team hat an Arbeitsabläufen gearbeitet, um die Dinge für Sie zu beschleunigen, einschließlich einiger schneller Möglichkeiten zum Laden von Assets.

Wie können Sie Assets in Addressables laden?

Nach Adresse: Programmierer laden häufig Addressables nach String, indem sie den Standortbezeichner des Assets für eine einfache Laufzeitabfrage verwenden.

Nach Label: Bietet einen zusätzlichen Addressable Asset-Bezeichner für das Laden ähnlicher Elemente zur Laufzeit.

Nach AssetReference: Die AssetReference funktioniert wie ein direkter Verweis, jedoch mit verzögerter Initialisierung. Das AssetReference-Objekt speichert die GUID als Addressable, die Sie bei Bedarf laden können. Künstler die im Editor arbeiten bevorzugen möglicherweise diesen Arbeitsablauf.

Wenn das Asset, auf das Sie verweisen, Unterobjekte hat (wie Sprites innerhalb eines SpriteAtlas), können Sie das Unterobjekt weiter referenzieren.

Wenn Sie Addressables und den Sprite-Ladeprozess in Aktion sehen möchten, schauen Sie sich den Sprite-Demo-Teil der Sitzung an.

Addressables passen Ihre Builds an

Anpassung Ihres Builds

Das Addressables-Paket hat drei Build-Skripte, die Play Mode-Daten erstellen, um Ihnen zu helfen, die App-Entwicklung zu beschleunigen. Die Skripte sind Asset-Datenbank verwenden, Gruppen simulieren und Vorhandenes Build verwenden.

Das Asset-Datenbank verwenden Skript. Dies ermöglicht es Ihnen, während Sie an Inhalten arbeiten, in den Play Mode zu wechseln und wieder herauszukommen; Sie können das Spiel schnell ausführen, während Sie den Ablauf Ihres Spiels durchgehen. Es lädt Assets direkt über die Asset-Datenbank für eine schnelle Iteration, ohne Analyse oder Erstellung von Asset-Bundles.

Gruppen simulieren analysiert Inhalte für Layout und Abhängigkeiten, ohne Asset-Bundles zu erstellen. Um zu sehen, wann Bundles während des Spiels geladen oder entladen werden, sehen Sie sich die Asset-Nutzung im Addressables Event Viewer-Fenster (Fenster > Asset-Management > Addressables > Event Viewer) an. Dieser Modus hilft Ihnen, Lade-Strategien zu simulieren und Ihre Inhaltsgruppen anzupassen, um das richtige Gleichgewicht für eine Produktionsveröffentlichung zu finden.

Das Vorhandenes Build verwenden Skript ist wie ein bereitgestellter Anwendungsbuild, erfordert jedoch, dass Sie die Daten als separaten Schritt erstellen. Wenn Sie keine Assets ändern, ist dieser Modus der schnellste, da er beim Betreten des Play Mode keine Daten verarbeitet.

Wo kann ich mehr über Addressables erfahren?

Wenn Sie Addressables in Ihrem Projekt verwenden möchten, schauen Sie sich die Dokumentation zum Addressable Asset System an, um zu erfahren, wie Sie anfangen können. Lesen Sie unseren Blogbeitrag, schauen Sie sich die GitHub-Beispiele an oder nehmen Sie an den Diskussionen in den Foren teil.

Cloud-Inhaltsbereitstellung: Die letzte Meile

Im September 2020 gestartet, ist Cloud Content Delivery (CCD) unsere eigene unternehmensgerechte, globale Content-Hosting-Lösung, die vollständig in das Addressables-System integriert ist. Mit CCD können Sie Spiel-Updates mühelos mit leistungsstarkem Asset-Management und Inhaltsbereitstellung über die Cloud erstellen und veröffentlichen – eine wesentliche Funktion für den Betrieb von Live-Spielen und Apps. Erfahren Sie mehr und melden Sie sich hier an.