Modell

*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, die die 3D-Welt ausmachen, wie Teile, Gelände, Beleuchtung und andere Umweltelemente.Es enthält auch Objekte, die das Laufzeitverhalten steuern können, wie z. B. 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, so dass sie ihn auf Client-Geräten simulieren und rendern kann.Für weitere Informationen darüber, wie die Roblox-Engine das Modellinterpretiert, siehe Client-Server-Laufzeit.

Objekte

Sie platzieren und organisieren 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 für alle Objekte gemeinsam sind.Objekte definieren auch ihre eigenen Merkmale abhängig von der Funktionalität, die das Objekt bietet.Es gibt viele Kategorien von Objekten mit einer Vielzahl von Verwendungen, aber du wirst häufig mit BasePart und LuaSourceContainer Objekten arbeiten, die allgemein als Teile und Skripte bezeichnet werden.

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

3D-Baublöcke

BasePart ist die Kernklasse für physisch simulierte 3D-Bausteine in der Welt.Es 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 Traversenbalken, den Charaktere wie eine Leiter klettern können.

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

Skripte

Du kannst Interaktivität und Verhalten in die 3D-Welt deines Orthinzufügen und Logik mit Skripten definieren.Du schreibst Skripte in der Luau-Programmiersprache, um Dinge wie bewegliche Teile, den Aufruf anderer Skripte und die Reaktion auf Ereignisse zu tun.Da Roblox in einem Client-Server-Modell arbeitet, können Sie Skripte auf dem Server ausführen, den Client oder sie über die Netzwerkgrenze kommunizieren lassen.

  • Ein A Script Objekt repräsentiert ein Skript, das nur auf dem Server ausgeführt werden kann.
  • Ein A LocalScript Objekt repräsentiert ein Skript, das nur auf dem Client ausgeführt werden kann.
  • Ein A ModuleScript Objekt repräsentiert ein wiederverwendbares Skript, das Sie von Skripten auf dem Server und vom Client aus require() verwenden können.

Damit Skripte ordnungsgemäß funktionieren, müssen Sie sie in den richtigen Containern im Modellplatzieren.Weitere Informationen finden Sie in den Abschnitten Server und Client.

Objekt-Organisation

Während du viel Flexibilität bei der Organisation deines Modellhast, erwartet die Roblox-Engine, dass bestimmte Objekte in bestimmten Containerservices sind, die Objekte mit spezifischen Verhaltensweisen sind und das Verhalten der darin enthaltenen Objekte beeinflussen können.Die Hauptkategorien von Containerdiensten 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 Serverspeicher zu gruppieren.
  • Modelle - A Model ist hauptsächlich für geometrische Gruppierungen von Teilen gedacht, wie z. B. die Gruppierung eines Schreibtischsets, das einen Stuhl, einen Tisch und eine Lampe enthält.Um komplexere Sätze zu organisieren, kannst du sogar Modelle innerhalb von Modellen verschachteln.

Arbeitsbereich

Workspace enthält alle Objekte, die die 3D-Welt eines Ortes ausmachen.Du kannst Objekte zum Arbeitsbereich hinzufügen, um deine 3D-Welt anzupassen, wie z. B. Basisteile, Netzwerkteile und Modelle.Clients rendern alles, was in diesem Container erscheint, und nichts außerhalb davon, sodass du kontrollieren kannst, was Benutzer in deinem Platz sehen und mit ihnen interagieren.Obwohl es nicht tatsächlich gerendert wird, kannst du auch Skripte hinzufügen, die mit den Teilen und Modellen verbunden sind, mit denen sie verbunden sind.Standardmäßig wird der Arbeitsbereich mit einem Terrain und Camera Objekt vorbelegt.

Kamera

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

Zum Beispiel können Sie eine Kamera so einstellen, dass sie den Bewegungen des Benutzers folgt oder an einem bestimmten Ort fixiert bleibt.Du kannst auch das Ansicht, die Entfernung und den Winkel anpassen, um verschiedene visuelle Effekte zu erstellen, wie Benutzer deine 3D-Welt sehen.

Für weitere Informationen, siehe Anpassung der Kamera.

Gelände

Terrain ermöglicht es dir, Landschaften für deinen Ort zu erstellen.Du kannst ein Material auf das Gelände anwenden, um gewünschte natürliche Umgebungen, wie Gras, Wasser, Sand oder ein benutzerdefiniertes Material, zu simulieren.Obwohl du nur ein Terrain-Objekt für deine 3D-Welt haben und ein Material auf dieses Terrain anwenden kannst, kannst du den Terrain-Editor verwenden, um Regionen deines Terrains zu bearbeiten.

Für weitere Informationen, siehe Umwelt-Terrain.

Umwelt

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.

Für weitere Informationen, siehe Beleuchtung.

Klang

SoundService kann die lautstärke und wiedergabeeinstellungen von kindern Sound objekten für hintergrundmusik oder umgebungssoundeffekte steuern.

Für weitere Informationen, siehe Klang.

Replikation

Replikation ist der Prozess, bei dem der Server den Zustand Ihres Platzes mit allen verbundenen Clients synchronisiert.Die Roblox-Engine repliziert intelligent und automatisch Daten, Physik und Chat-Nachrichten zwischen dem Server und dem Client für viele Fälle, aber du kannst auch bestimmte Objekte angeben, die repliziert werden sollen, indem du sie in bestimmten Containern platzierst.

Reproduziert zuerst

ReplicatedFirst enthält Objekte, die du auf einen Client replizieren möchtest, wenn er deinen Ortbetritt.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 Skripten verbundenen Objekte.Alle Inhalte in diesem Container werden vom Server zum Client nur einmal repliziert.

Reproduzierter Speicher

ReplicatedStorage enthält Objekte, die sowohl für den Server als auch für die verbundenen Clients verfügbar sind.Alle Änderungen, die auf dem Client auftreten, bleiben bestehen, werden aber nicht auf den Server repliziert.Der Server kann Änderungen auf dem Client überschreiben, um die Konsistenz zu wahren.Dieser Container wird typischerweise für ModuleScript Objekte verwendet, die sowohl von Script (Server-seitig) als auch von LocalScript (Client-seitig) Objekten geteilt und aufgerufen werden müssen.Darüber hinaus können Sie diesen Container verwenden, um alle Objekte zu replizieren, die nicht in der 3D-Welt existieren müssen, bis sie benötigt werden, wie z. B. ein ParticleEmitter für das Klonen und Elternschaft aller eingehenden Charaktermodelle.

Für weitere Informationen darüber, wie Replikation funktioniert, siehe 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 zugänglich zu machen.

Serverskriptdienst

ServerScriptService enthält Script Objekte, ModuleScript Objekte, die von Server-Skripten benötigt werden, und andere skriptbezogene Objekte, die nur für den Servergebrauch gedacht sind.Wenn deine Skripte andere, nicht skriptende Objekte erfordern, musst du sie in ServerStorage platzieren.Skripte in diesem Container werden niemals auf Clients repliziert, was es Ihnen ermöglicht, sichere serverseitige Logik zu haben.

ServerStorage

ServerStorage enthält Objekte, die nur für den Servergebrauch bestimmt sind.Sie können diesen Container verwenden, um Objekte zu speichern, die Sie zur Laufzeit in den Arbeitsbereich oder andere Container kopieren und übergeordneten möchten.Zum Beispiel können Sie große Objekte wie Karten in diesem Container speichern, bis sie benötigt werden, und bewegen sie nur dann in den Arbeitsbereich, wenn dies erforderlich ist. Dies ermöglicht es Ihnen, den Client-Netzwerkverkehr beim ersten Beitritt zu reduzieren.

Client

Die Client-Containerdienste sind für Objekte gedacht, die auf jeden verbundenen Client repliziert werden.Diese Kategorie von Containern wird auf jeden verbundenen Client repliziert und enthält in der Regel 3D-Objekte und zugeordnete LocalScript -Objekte.Alle Objekte, die du in diesen Containern speicherst, sind nicht persistent über Sitzungen hinweg und werden jedes Mal zurückgesetzt, wenn ein Client wieder beitritt.Du kannst Objekte in diese Container legen, wie Spieler-GUIs, clientseitige Skripte und andere Objekte, die nur für den Client relevant sind.

Wenn sich ein Client mit einem Server verbindet, hört der Players Container-Dienst auf Benutzer, die sich Ihrem Platz anschließen, und erstellt ein Player Objekt für jeden Client.Der Server kopiert die Objekte aus den Client-Containern im Bearbeitungsdatenmodell an die entsprechende Stelle im Laufzeitdatenmodell innerhalb des Players -Objekts.Die folgende Tabelle beschreibt den ursprünglichen Container, auf dem er sich im Container befindet, und den daraus resultierenden Container, auf den er auf dem Client kopiert wird:

ModellbearbeitenModellAnmerkungen
StarterPackSpieler.BackpackSkripte, die das Inventar des Spieler:ineinrichten und im Allgemeinen Tool enthalten, aber oft auch lokale Skripte.
StarterGuiSpieler.PlayerGuiSkripte, die die lokale grafische Benutzeroberflächedes Spieler:inverwalten können.Wenn ein Spieler respawnt, werden die Inhalte von PlayerGui geleert.Der Server kopiert die Objekte innerhalb von StarterGui in den PlayerGui.
StarterPlayerScriptsSpieler.PlayerScriptsAllzweck-Skripte für den Client.Wenn Sie beispielsweise 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.CharakterSkripte, die beim Spawn auf den Client kopiert werden. Diese Skripte bleiben nicht bestehen, wenn der Spieler respawniert.
ReplicatedFirstDer Inhalt dieses Containers wird zuerst an alle Clients repliziert (aber nicht zurück zum Server), vor allem anderen.

Chatten

TextChatService

TextChatService repräsentiert den dienst, der verschiedene, erfahrungsbezogene text-chat-aufgaben übernimmt, wie 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.

Für weitere Informationen, siehe In-Experience-Text-Chat-System.

Sprach聊Service

VoiceChatService repräsentiert die Näherungs-basierte Voice-Chat-Funktion, die eine realistische Kommunikation simuliert, basierend darauf, wie nah du zu anderen Benutzern bist.Sie können diesen Service verwenden, um die Funktion ein- und ausschalten.

Für weitere Informationen, siehe Stimmchat.

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, wie ein Schreibtisch-Set, das einen Stuhl, einen Tisch und eine Lampe enthält.Um komplexere Sätze zu organisieren, verschachteln Modelle innerhalb von 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, die in Folders

organisiert sind

The Explorer window with a demonstration of a model organization structure in several services.
Verschiedene "Karte"-Modelle, die zwischen Workspace und ServerStorage ausgetauscht werden können