Datenmodell

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Jeder Ort wird durch ein Modellrepräsentiert, eine Hierarchie von Objekten, die alles über den Ort beschreiben. Das Datenmodell enthält alle Objekte, aus denen die 3D-Welt besteht, wie Teile, Gelände, Beleuchtung und andere Umweltelemente. Es enthält auch Objekte, die das Laufzeitverhalten steuern können, wie Skripte, die Eigenschaften ändern, Methoden und Funktionen aufrufen und auf Ereignisse reagieren, die dynamisches Verhalten und Interaktivität ermöglichen.

Die Roblox-Engine verwendet das Datenmodell als Quelle der Wahrheit für den Zustand eines Ortes, sodass sie ihn auf Client-Geräten simulieren und rendern kann. Weitere Informationen darüber, wie die Roblox-Engine das Modellinterpretiert, finden Sie unter Client-Server-Laufzeit.

Objekte

Du platzierst und organisierst Objekte im Datenmodell, um einen Ort in Roblox zu beschreiben. Jedes Objekt in Roblox erbt von der Instance -Klasse, die generische Eigenschaften, Methoden und Ereignisse definiert, die allen Objekten gemeinsam sind. Objekte definieren auch ihre eigenen Merkm

Für eine umfassende Liste aller Funktionen der Roblox-Engine sehen Sie in der Referenzdokumentation.

3D-Bausteine

BasePart ist die Hauptklasse für physisch simulierte 3D-Bausteine in der Welt. Sie definiert die Eigenschaften und Methoden, die für alle physischen Objekte mit Eigenschaften wie Position, Größe und Ausrichtung gemeinsam sind.

ObjektBeschreibung
PartEin primitives Teil, das die Form eines Blöcke, einer Kugel, eines Zylinders, eines Keils oder eines Eckenkeils annehmen kann.
MeshPartEin importiertes Mesh aus 3D-Modellierungssoftware wie Maya oder Blender.
TrussPartEin Stahlträger, den Charaktere wie eine Leiter erklettern können.

Während du theoretisch ein voll funktionales Roblox-Erlebnis mit einfachen Teilen erstellen kannst, wirst du höchstwahrscheinlich Meshes importieren und primitive Teile durch Festkörpermodellierung zu komplexeren Objekten und Strukturen kombinieren.

Skripte

Du kannst der 3D-Welt deines OrtInteraktivität und Verhalten hinzufügen und Logik mit Skripten definieren. Du schreibst Skripte in der Lua-Programmiersprache, um Dinge wie das Bewegen von Teilen, das Aufrufen anderer Skripte und das Reagieren auf Ereignisse zu bewerkstelligen. Da Roblox in einem Client-Server-Modell arbeitet, kannst du Skripte auf dem Server, dem Client ausführen oder sie über die Netzwerkgrenze kommunizieren lassen.

  • Ein Script-Objekt stellt ein Skript dar, das nur auf dem Server ausgeführt werden kann.
  • Ein LocalScript-Objekt stellt ein Skript dar, das nur auf dem Client ausgeführt werden kann.
  • Ein ModuleScript-Objekt stellt ein wiederverwendbares Skript dar, das Sie require() von sowohl Server- als auch Client-Skripts verwenden können.

Für Skripte, die richtig funktionieren, musst du sie in die richtigen Container im Modellplatzieren. Weitere Informationen findest du in den Server und Client-Sektionen.

Objekt-Organisation

Während Sie viel Flexibilität bei der Organisation Ihres Modellhaben, erwartet die Roblox-Engine, dass bestimmte Objekte in bestimmten Container-Services sind, die Objekte mit spezifischen Verhaltensweisen sind und das Verhalten der darin enthaltenen Objekte beeinflussen können. Die Hauptkategorien von Container-Services umfassen:

Darüber hinaus können Sie Ihre Objekte mit den folgenden Objekten weiter organisieren:

  • Ordner - Ein Folder ist für organisatorische Zwecke und definiert kein Verhalten. Zum Beispiel können Sie Ordner verwenden, um ähnliche Objekte wie eine Reihe von Skripten im Server-Speicher zu gruppieren.
  • Modelle - A Model - ist hauptsächlich für geometrische Gruppierungen von Teilen gedacht, wie z. B. das Gruppieren eines Schreibtisches, der einen Stuhl, einen Tisch und eine Lampe enthält. Um komplexere Sets zu organisieren, kannst du sogar Modelle innerhalb von Modellen verschachteln.

Arbeitsbereich

Workspace enthält alle Objekte, aus denen sich die 3D-Welt eines Ortes zusammensetzt. Sie können Objekte zum Arbeitsbereich hinzufügen, um Ihre 3D-Welt anzupassen, z. B. Basisteile, Mesh-Te

Kamera

Camera bestimmt, wie der Client die 3D-Welt ansieht. Standardmäßig gibt es eine Kamera im Arbeitsbereich, aber Sie können mehrere Kameraobjekte hinzufügen, um verschiedene Perspektiven und Ansichten zu erstellen. Jeder Client nimmt diese Einstellungen und erstellt seine eigene Kameraansicht, die der Server nicht direkt ändern kann.

Zum Beispiel können Sie eine Kamera so einstellen, dass sie den Benutzerelementen zu folgen oder in einem bestimmten Ort zu fixieren. Sie können auch den Ansicht, die Entfernung und den Winkel anpassen, um verschiedene visuelle Effekte zu erstellen, wie Benutzer Ihre 3D-Welt sehen.

For more information, see Anpassung der Kamera .

Terrain

Terrain lässt Sie Landschaften für Ihren Orterstellen. Sie können ein Material auf das Terrain anwenden, um gewünschte natürliche Umgebungen, wie Gras, Wasser, Sand oder ein benutzerdefiniertes Material, zu simulieren. Obwohl Sie nur ein Terrain-Objekt für Ihre 3D-Welt haben und ein Material auf dieses Geländeanwenden können, können Sie den Terrain-Editor verwenden, um Regionen Ihres Geländezu bear

For more information, see Umwelt/Terrain .

Umgebung

Beleuchtungs- und Soundeffekte können deine 3D-Welt viel immersiver und realistischer machen. Obwohl es nicht notwendig ist, diese Effekte zu deinem Orthinzuzufügen, können sie es optisch und akustisch ansprechender machen.

Beleuchtung

Lighting enthält Objekte, die die globalen Beleuchtungseinstellungen deines Ortsteuern, wie z. B. Atmosphere zur Simulation atmosphärischer Effekte oder Sky zur Änderung der Sonne, des Mondes und der Sterne in deiner Umgebung.

For more information, see Beleuchtung .

Klang

SoundService kann die Lautstärke und Wiedergabeeinstellungen von Kindern Sound -Objekten für Hintergrundmusik oder Umgebungssoundeffekte steuern.

For more information, see Klang .

Replikation

Replikation ist der Prozess, bei dem der Server den Zustand Ihres Platzes mit allen verbundenen Clients synchronisiert. Die Roblox-Engine repliziert in vielen Fällen intelligent und automatisch Daten, Physik und Chat-Nachrichten zwischen dem Server und dem Client, aber Sie können auch bestimmte Objekte angeben, die repliziert werden sollen, indem Sie sie in bestimmten Containern platzieren.

ReplicatedFirst

ReplicatedFirst enthält Objekte, die Sie auf einen Client replizieren möchten, wenn er sich Ihrem Ortanschließt. Es enthält in der Regel Objekte, die für die Initialisierung eines Spieler:inunerlässlich sind, wie clientseitige LocalScript Objekte und die mit den Skripts verbundenen Objekte. Alle Inhalte in diesem Container werden vom Server nur einmal auf den Client repliziert.

ReplicatedStorage

ReplicatedStorage enthält Objekte, die sowohl dem Server als auch den verbundenen Clients zur Verfügung

For more information on how replication works, see Client-Server-Laufzeit .

Server

Das Datenmodell definiert dedizierte Container für serverseitige Objekte, die niemals auf den Client repliziert werden. Dies ermöglicht es dem Server, das Verhalten und den Zustand des Clients zu beeinflussen, ohne die Objekte und die Logik des Servers dem Client preiszugeben.

ServerScriptService

ServerScriptService enthält Script Objekte, ModuleScript Objekte, die von Serverskripten benötigt werden, und andere skriptbezogene Objekte, die nur für die Verwendung auf dem Server gedacht sind. Wenn Ihre Skripte andere, nicht skriptbezogene Objekte erfordern, müssen

ServerStorage

ServerStorage enthält Objekte, die nur für die Verwendung des Servers gedacht sind. Sie können diesen Container verwenden, um Objekte zu speichern, die Sie klonen und während der Laufzeit dem Arbeitsbereich oder anderen Containern zuordnen möchten. Zum Beispiel können Sie große Objekte wie Karten in diesem Container speichern, bis sie benötigt werden, und sie nur dann in den Arbeitsbereich verschieben, wenn dies erforderlich ist. Dies ermöglicht es Ihnen, den Client-Netzwerkverkehr

Client

Die client container services sind für Objekte gedacht, die auf jeden angeschlossenen Client repliziert werden. Diese Kategorie von Containern repliziert auf jeden angeschlossenen Client und enthält in der Regel 3D-Objekte und zugeordnete Class.LocalScript -Objekte. Alle Objekte, die Sie in diesen Containern speichern, sind über Sitzungen hinweg nicht persistent und werden jedes Mal zurückgesetzt, wenn ein Client erneut beitritt.

Wenn sich ein Client mit einem Server verbindet, horcht der Class.Players-Container-Dienst auf Benutzer, die Ihrem Platz beitreten, und erstellt ein Class.Players -Objekt für jeden Client. Der Server kopiert die Objekte aus den Client-Containern im Edit-Datenmodell an den entsprechenden Speicherort im Laufzeit-Datenmodell innerhalb des

Datenmodell bearbeitenLaufzeit-DatenmodellNotizen
StarterPackSpieler.BackpackSkripte, die das Inventar des Spieler:ineinrichten und im Allgemeinen Tool Objekte enthalten, aber oft auch lokale Skripte enthalten.
StarterGuiPlayer.PlayerGuiSkripte, die die lokale grafische Benutzeroberflächedes Spieler:inverwalten können. Wenn ein Spieler respawnt, wird der Inhalt von PlayerGui geleert. Der Server kopiert die Objekte innerhalb von StarterGui in das PlayerGui.
StarterPlayerScriptsPlayer.PlayerScriptsAllzweck-Skripte für den Client. Zum Beispiel, wenn Sie spezielle Effekte auf dem Client erstellen möchten, wenn bestimmte Bedingungen erfüllt sind, können Sie ein lokales Skript in diesem Container platzieren, um dies zu tun. Der Server kann nicht auf diesen Container zugreifen.
StarterCharacterScriptsSpieler.CharacterSkripte, die beim Spawn auf den Client kopiert werden. Diese Skripte bleiben nicht bestehen, wenn der Spieler respawns.
ReplicatedFirstDer Inhalt dieses Containers wird zuerst an alle Clients repliziert (aber nicht zurück zum Server), vor allem anderen.

Chatten

TextChatService

TextChatService stellt den Dienst dar, der verschiedene, unerfahrene Text-Chat-Aufgaben übernimmt, z. B. die Verwaltung von Kanälen, das Dekorieren von Nachrichten, das Filtern von Text, das Erstellen von Befehlen und die Entwicklung benutzerdefinierter Chat-Schnittstellen.

For more information, see Weitere Informationen finden Sie unter In-Experience Text Chat System '.

VoiceChatService

VoiceChatService repräsentiert die Nähe-basierte Voice-Chat-Funktion, die eine realistische Kommunikation simuliert, basierend darauf, wie nah du zu anderen Benutzern bist. Du kannst diesen Service verwenden, um die Funktion ein- und auszuschalten.

For more information, see Voice Chat .

Ordner und Modelle

Es gibt zwei primäre Methoden zum Gruppieren von Objekten im Datenmodell: Ordner und Modelle . Beide sind Container für Objekte, aber sie haben unterschiedliche Zwecke.

  • Ordner eignen sich am besten zum Speichern von Abschnitten einer Umgebung, wie der Lobby oder einer Kampfarena.
  • Modelle werden für Sätze von Objekten verwendet, z. B. ein Schreibtisch-Set, das einen Stuhl, einen Tisch und eine Lampe enthält. Um komplexere Sätze zu organisieren, verschachteln Sie Modelle in Modellen.

Du solltest deine Objekte immer beschreibend benennen. Das macht es einfach, Objekte später zu finden und zu modifizieren, wenn nötig.

The Explorer window with a demonstration of a folder organization structure.
Objekte organisiert in Folders
The Explorer window with a demonstration of a model organization structure in several services.

Verschiedene "map"-Modelle, die zwischen Class.Arbeitsbereich und Class.ServerStorage ausgetauscht werden