Antares Open World Development Documentation

Interplay Unity ECS, Entitas & spatialOS

ADG PU Team

Heute möchte ich der Frage nachkommen, wie genau wir Entitas in die SpatialOS Umgebung implementieren werden.

Eine SpatialOS Entität kann ein Game Objekt darstellen. Alle Daten, die wir zwischen Servern und Clients gemeinsam nutzen wollen, müssen unter Verwendung der Entitas Komponenten in SpatialOS Entitäten gespeichert werden. Einige Unity/Entitas ECS Entitäten, wie z. B. Spielereinstellungen (Lautstärke, Tastenzuordnung eines Controllers), benötigen jedoch keine SpatialOS Entität, um diese in der SpatialOS Spielwelt darzustellen zu können.

Kurzum, sobald wir eine Synchronisation der Welt mit anderen Spielern benötigen, müssen wir diese Unity/Entitas ECS Entitäten als eine SpatialOS Entität darstellen.

Der eingerichtete Worker führt dann die Systemlogik in der Runtime aus. Es ist auch der Worker, der eine Anforderung zum Erstellen einer SpatialOS Entität an die Runtime sendet. Sobald die Runtime die SpatialOS Entität erstellt hat, erhält dieser Worker eine Benachrichtigung, die ihn dazu veranlasst, eine entsprechende Entitas ECS Entität zu erstellen. Im Unity Projekt stellt die Entitas ECS Entität und jedes entsprechende Game Objekt, dann eine SpatialOS Entität dar.

Nicht alle SpatialOS Entitäten sind aber Game Objekte. Einige SpatialOS Entitäten müssen in unserem Spiel nicht als Game Objekte dargestellt werden. Hierbei handelt es sich zum Beispiel um SpatialOS Entitäten, die das Unity Physik System nicht verwenden müssen und für unsere Spielteilnehmer in der Spielwelt nicht im „physischen“ Sinne existieren.

Auch sind nicht alle Game Objekte SpatialOS Entitäten. Spieler, NPCs oder sogar Hintergrundobjekte wie Bäume, die auf den Servern und Gameplayer Clients vorhanden sein sollen, müssen daher sowohl als SpatialOS Entität als auch als Game Objekte dargestellt werden. Einige Game Objekte, z. B. solche für visuelle oder Audioeffekte, verfügen jedoch nicht über eine SpatialOS Entität, um sie in der SpatialOS Spielwelt darzustellen.

Aber, eine SpatialOS Entität wird immer durch eine Unity Entitas ECS Entität dargestellt.

Ich hoffe ich konnte etwas Licht in das Dunkle bringen.


Auf dieser Seite:

Ich empfehle es Dir, hier mit dem Lesen zu beginnen.



Zugehörige Seiten

Filter by label

There are no items with the selected labels at this time.