Modèle de données

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Chaque lieu est représenté par un modèlisationdonnées, une hiérarchie d'objets qui décrivent tout sur le emplacement.Le modèle de données contient tous les objets qui composent le monde 3D, tels que les parties, le terrain, l'éclairage et d'autres éléments environnementaux.Il contient également des objets qui peuvent contrôler le comportement d'exécution, tels que des scripts qui modifient des propriétés, appellent des méthodes et des fonctions, et répondent aux événements qui activent le comportement dynamique et l'interactivité.

Le moteur Roblox utilise le modèle de données comme source de vérité pour l'état d'un emplacement, de sorte qu'il peut le simuler et le rendre sur les appareils clients.Pour plus d'informations sur la façon dont le moteur Roblox interprète le modèlisationde données, voir temps d'exécution client-serveur.

Objets

Vous placez et organisez des objets dans le modèle de données pour décrire un lieu dans Roblox.Chaque objet dans Roblox hérite de la classe Instance, qui définit des propriétés, des méthodes et des événements génériques communs à tous les objets.Les objets définissent également leurs propres caractéristiques en fonction de la fonctionnalité fournie par l'objet.Il existe de nombreuses catégories d'objets avec une grande variété d'utilisations, mais vous travaillerez souvent avec des objets BasePart et LuaSourceContainer communément appelés parties et scripts.

Pour une liste complète de toutes les fonctionnalités du moteur Roblox, voir la documentation de référence.

Blocs de construction 3D

BasePart est la classe principale pour les blocs de construction 3D physiquement simulés dans le monde.Il définit les propriétés et les méthodes communes à tous les objets physiques avec des propriétés telles que la position, la taille et l'orientation.

ObjetAvertissement
PartUne partie primitive qui peut prendre la forme d'un bloc, d'une boule, d'un cylindre, d'une cale ou d'un coin.
MeshPartUn maillage importé de de logiciels de modélisation 3D comme Maya ou Blender.
TrussPartUne poutre en treillis que les personnages peuvent escalader comme une échelle.

Bien que vous puissiez théoriquement créer une expérience Roblox entièrement fonctionnelle en utilisant simplement des parties simples, vous importerez très probablement des mailles et combinerez des parties primitives en objets et structures plus complexes grâce à modélisation solide.

Scripteurs

Vous pouvez ajouter de l'interactivité et du comportement au monde 3D de votre emplacementet définir une logique avec des scripts.Vous écrivez des scripts dans le langage de programmation Luau pour faire des choses comme déplacer des parties, appeler d'autres scripts et répondre à des événements.Comme Roblox fonctionne dans un modèlisationclient-serveur, vous pouvez exécuter des scripts sur le serveur, le client ou les faire communiquer à travers la frontière réseau.

  • Un objet Script représente un script qui ne peut être exécuté que sur le serveur.
  • Un objet LocalScript représente un script qui ne peut être exécuté que sur le client.
  • Un objet ModuleScript représente un script réutilisable que vous pouvez require() à partir des scripts serveur et client.

Pour que les scripts se comportent correctement, vous devez les placer dans les conteneurs corrects dans le modèlisationde données.Pour plus d'informations, voir les sections Serveur et Client.

Organisation d'objets

Bien que vous ayez beaucoup de flexibilité dans la façon dont vous organisez votre modèlisationde données, le moteur Roblox s'attend à ce que certains objets soient dans certains services de conteneurs qui sont des objets ayant des comportements spécifiques et pouvant affecter les comportements des objets qu'ils contiennent .Les principales catégories de services de conteneurs incluent :

  • Espace de travail - Workspace stocke tous les objets qui rendent dans le monde 3D.
  • Environnement - Des conteneurs comme Lighting et SoundService qui contiennent des objets pour les paramètres et les éléments de l'environnement.
  • Réplication - Conteneurs pour le contenu et la logique qui se réplique entre le serveur et le client, tels que ReplicatedStorage et ReplicatedFirst.
  • Serveur - Conteneurs pour le contenu et la logique côté serveur, tels que ServerScriptService et ServerStorage.
  • Client - Conteneurs pour le contenu et la logique côté client, tels que StarterPlayer et StarterGui.
  • Discussion - Conteneurs pour les objets qui activent les fonctionnalités de discussion, tels que VoiceChatService et TextChatService.

En outre, vous pouvez organiser davantage vos objets avec les objets suivants :

  • Dossiers - A Folder est à des fins d'organisation et ne définit aucun comportement.Par exemple, vous pouvez utiliser des dossiers pour regrouper des objets similaires comme un ensemble de scripts dans le stockage du serveur.
  • Modèles - A Model est principalement destiné aux groupements géométriques de pièces, tels que le groupement d'un ensemble de bureaux comprenant une chaise, une table et une lampe.Pour organiser des ensembles plus complexes, vous pouvez même imbriquer des modèles dans des modèles.

Workspacede travail

Workspace contient tous les objets qui composent le monde 3D d'un emplacement.Vous pouvez ajouter des objets à l'espace de travail pour personnaliser votre monde 3D, tels que des parties de base, des parties de maillage et des modèles.Les clients rendent tout ce qui apparaît dans ce conteneur et rien à l'extérieur, afin que vous puissiez contrôler ce que les utilisateurs voient et interagissent avec à votre emplacement.Bien que non rendu en fait, vous pouvez également ajouter des scripts qui sont parentés aux parties et aux modèles avec lesquels ils sont associés.Par défaut, l'espace de travail est prérempli avec un objet Terrain et Camera.

Caméra

Camera détermine comment le client voit le monde 3D.Par défaut, il y a une caméra dans l'espace de travail, mais vous pouvez ajouter plusieurs objets de caméra pour créer différentes perspectives et vues.Chaque client prend ces paramètres et crée sa propre vue de caméra que le serveur ne peut pas modifier directement.

Par exemple, vous pouvez configurer une caméra pour suivre les mouvements de l'utilisateur ou rester fixe à un endroit spécifique.Vous pouvez également ajuster le champ de voir, la distance et l'angle pour créer différents effets visuels de la façon dont les utilisateurs voient votre monde 3D.

Pour plus d'informations, voir personnaliser la caméra .

Terrain

Terrain vous permet de créer des paysages pour votre emplacement.Vous pouvez appliquer un matériau sur le terrain pour simuler les environnements naturels souhaités, tels que l'herbe, l'eau, le sable ou un matériau personnalisé.Bien que vous ne puissiez avoir qu'un seul objet de terrain pour votre monde 3D et appliquer un matériau à ce terrain, vous pouvez utiliser l'éditeur de terrain pour modifier les régions de votre terrain.

Pour plus d'informations, voir terrain environnemental.

Milieu

Les effets d'éclairage et de son peuvent rendre votre monde 3D beaucoup plus immersif et réaliste.Bien que ce ne soit pas nécessaire d'ajouter ces effets à votre emplacement, ils peuvent le rendre plus visuellement et auditivement attrayant.

Éclairage

Lighting contient des objets qui contrôlent les paramètres d'éclairage globaux de votre emplacement, tels que Atmosphere pour simuler des effets atmosphériques ou Sky pour modifier le soleil, la lune et les étoiles dans vos environnements.

Pour plus d'informations, voir Éclairage .

Son

SoundService peut contrôler les paramètres de volume et de lecture des objets enfants Sound pour la musique de fond ou les effets sonores environnementaux.

Pour plus d'informations, voir son.

Réplication

La réplication est le processus du serveur de synchroniser l'état de votre lieu avec tous les clients connectés.Le moteur Roblox réplique intelligemment et automatiquement les données, la physique et les messages de chat entre le serveur et le client dans de nombreux cas, mais vous pouvez également spécifier certains objets à répliquer en les plaçant dans des conteneurs spécifiques.

Répliqué en premier

ReplicatedFirst contient des objets que vous souhaitez répliquer à un client lorsqu'il rejoint votre emplacement.Il contient généralement des objets essentiels pour initialiser un joueur, tels que les objets côté client LocalScript et les objets associés aux scripts.Tout le contenu dans ce conteneur est répliqué du serveur au client une seule fois.

Stockage répliqué

ReplicatedStorage contient des objets disponibles à la fois pour le serveur et les clients connectés.Toute modification qui se produit sur le client persiste mais ne sera pas répliquée sur le serveur.Le serveur peut écraser les modifications sur le client pour maintenir la cohérence.Ce conteneur est généralement utilisé pour des objets ModuleScript qui doivent être partagés et accessibles par les objets Script (côté serveur) et LocalScript (côté client).En outre, vous pouvez utiliser ce conteneur pour dupliquer n'importe quel objet qui n'a pas besoin d'exister dans le monde 3D jusqu'à ce qu'il soit nécessaire, comme un ParticleEmitter pour cloner et parenter tous les modèles de personnages entrants.

Pour plus d'informations sur le fonctionnement de la réplication, voir temps d'exécution client-serveur.

Serveur

Le modèle de données définit des conteneurs dédiés pour les objets côté serveur uniquement qui ne sont jamais répliqués au client.Cela permet au serveur d'affecter le comportement et l'état du client sans exposer les objets et la logique du serveur au client.

Service de script de serveur

ServerScriptService contient Script des objets, ModuleScript des objets requis par les scripts du serveur, et d'autres objets liés aux scripts qui ne sont destinés qu'à l'utilisation du serveur.Si vos scripts nécessitent d'autres objets non scriptables, vous devez les placer dans ServerStorage .Les scripts dans ce conteneur ne sont jamais répliqués aux clients, ce qui vous permet d'avoir une logique sécurisée côté serveur.

Stockage du serveur

ServerStorage contient des objets destinés uniquement à l'utilisation du serveur.Vous pouvez utiliser ce conteneur pour stocker des objets que vous souhaitez cloner et parent à l'espace de travail ou à d'autres conteneurs au moment de l'temps d'exécution.Par exemple, vous pouvez stocker de grands objets tels que des cartes dans ce conteneur jusqu'à ce qu'ils soient nécessaires et les déplacer dans l'espace de travail uniquement lorsque cela est nécessaire Cela vous permet de réduire le trafic réseau du client lors de la première adhésion.

Client

Les services de conteneur client sont destinés aux objets qui sont répliqués à chaque client connecté.Cette catégorie de conteneurs se réplique à chaque client connecté et contient généralement des objets 3D et des objets associés LocalScript.Tous les objets que vous stockez dans ces conteneurs ne sont pas persistants entre les sessions et se réinitialisent à chaque fois que le client se reconnecte.Vous pouvez mettre des objets dans ces conteneurs tels que les interfaces utilisateur du joueur, les scripts côté client et d'autres objets qui ne sont pertinents que pour le client.

Lorsqu'un client se connecte à un serveur, le service de conteneur Players écoute les utilisateurs qui rejoignent votre lieu et crée un objet Player pour chaque client.Le serveur copie les objets des conteneurs clients dans le modèle de données d'édition vers l'emplacement correspondant dans le modèle de données d'exécution à l'intérieur de l'objet Players.La table suivante décrit le conteneur original sur lequel il réside dans le conteneur et le conteneur résultant dans lequel il est copié sur le client :

Modifier le modèlisationde donnéesmodèlisationde données d'exécutionNotations
StarterPackSac à dos du joueurScripts qui configurent l'inventaire du joueur et généralement contiennent Tool objets, mais contiennent souvent aussi des scripts locaux.
StarterGuiJoueur.Gui du joueurScripts qui peuvent gérer l'interface utilisateur graphiquelocale du joueur.Lorsqu'un joueur réapparaît, le contenu de PlayerGui est vidé.Le serveur copie les objets à l'intérieur de StarterGui dans le PlayerGui.
StarterPlayerScriptsJoueur.Scripts du joueurScripts à usage général pour le client.Par exemple, si vous souhaitez créer des effets spéciaux sur le client lorsque certaines conditions sont remplies, vous pouvez placer un script local dans ce conteneur pour le faire.Le serveur ne peut pas accéder à ce conteneur.
StarterCharacterScriptsJoueur.PersonnageScripts qui sont copiés sur le client lorsqu'ils régénération, apparition. Ces scripts ne persistent pas lorsque le joueur réapparaît.
ReplicatedFirstLe contenu de ce conteneur est répliqué à tous les clients (mais pas au serveur) en premier, avant toute autre chose.

chat

TextChatService

TextChatService représente le service qui gère diverses tâches de chat textuel en expérience, telles que la gestion des canaux, la décoration des messages, le filtrage du texte, la création de commandes et le développement d'interfaces de chat personnalisées.

Pour plus d'informations, voir système de chat textuel en expérience.

Service de discussion vocal

VoiceChatService représente la fonction de chat vocal basée sur la proximité qui simule une communication réaliste en fonction de la proximité avec d'autres utilisateurs.Vous pouvez utiliser ce service pour offet désactiver la fonctionnalité.

Pour plus d'informations, voir chat vocal.

Dossiers et modèles

Il existe deux méthodes principales pour regrouper les objets dans le modèlisationde données : dossiers et modèles .Les deux sont des conteneurs pour les objets, mais ils ont des buts différents.

  • Les dossiers sont les meilleurs pour stocker des sections d'un environnement, telles que le lobby ou une arène de combat.
  • Les modèles sont utilisés pour des ensembles d'objets, tels qu'un ensemble de bureau comprenant une chaise, une table et une lampe.Pour organiser des ensembles plus complexes, imbriquez les modèles à l'intérieur des modèles.

Vous devez toujours nommer vos objets de manière descriptive. Cela facilite la recherche et la modification d'objets plus tard si nécessaire.

The Explorer window with a demonstration of a folder organization structure.
Objets organisés en Folders
The Explorer window with a demonstration of a model organization structure in several services.

Différents modèles de « carte » à échanger entre Workspace et ServerStorage
>