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 pièces, 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 les scripts qui modifient les propriétés, appellent les méthodes et les fonctions et répondent aux événements qui activent le comportement dynamique et l'interactiv

Le moteur Roblox utilise le modèle de données comme source de vérité pour l'état d'un emplacement, soit il puisse 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 les 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

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

3D Blocs de construction

BasePart est la classe principale pour les blocs de construction 3D physiquement simulés dans le monde. Elle 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.

ObjetDescription
PartUne partie primitive qui peut prendre la forme d'un bloc, d'une boule, d'un cylindre, d'une cale ou d'un coin.
MeshPartUne maille importée du réseau à partir d'un logiciel 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 juste 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.

Scripts

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 Lua pour faire des choses comme déplacer des parties, appeler d'autres scripts et répondre à des événements. Étant donné que 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 du 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, consultez 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 qui ont des comportements spécifiques et peuvent affecter les comportements des objets qu'ils contiennent. Les principales catégories de services de conteneurs incluent :

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

  • Dossiers - Un 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.
  • Models - Un Model est principalement destiné aux regroupements géométriques de pièces, tels que le regroupement 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, comme des pièces de base, des pièces en maillage et des modèles. Les

Caméra

Camera détermine comment le client visualise 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 qu'elle suive les mouvements de l'utilisateur ou qu'elle reste fixée à un endroit particulier. Vous pouvez également ajuster le champ de voir, la distance et l'angle pour créer différents effets visuels sur la façon dont les utilisateurs voient votre monde 3D.

Pour plus d'informations, voir personnalisation de 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 le Éditeur de Terrain pour mod

Pour plus d'informations, voir terrain environnemental.

Environnement

Les effets d'éclairage et de son peuvent rendre votre monde 3D beaucoup plus immersif et réaliste. Bien qu'il 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 le volume et les paramètres de lecture des objets enfants Sound pour la musique de fond ou les effets sonores environnementaux.

Pour plus d'informations, voir sonnerie .

Réplication

La réplication est le processus par lequel le serveur synchronise 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 aussi spécifier certains objets à répliquer en les plaçant dans des conteneurs spécifiques.

ReplicatedFirst

ReplicatedFirst contient des objets que vous souhaitez répliquer sur 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 de ce conteneur est répliqué du serveur au client une seule fois.

Répliqué de stockage

ReplicatedStorage contient des objets disponibles à la fois pour le serveur et les clients connectés. Toutes les modifications qui

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 uniquement côté serveur 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.

ServerScriptService

ServerScriptService contient Script objets, ModuleScript objets qui sont 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 scriptés, vous devez les placer dans 0> Class

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

Client

Les services de conteneurs 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 sont réinitialisés à chaque fois qu'un client se reconnecte. Vous pouvez mettre des objets dans ces

Lorsqu'un client se connecte à un serveur, le service de conteneur Players écoute les utilisateurs qui rejoignent votre lieu et crée un objet Class.Players pour chaque client. Le serveur copie les objets des conteneurs clients dans le modèle de données d'édition à l'emplacement correspondant dans le modèle de données d'exécution à l'intérieur de l

Modifier le modèle de donnéesModèle de données d'exécutionNotes
StarterPackJoueur.Sac à dosScripts 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, les contenus de PlayerGui sont vidés. Le serveur copie les objets à l'intérieur de StarterGui dans le PlayerGui.
StarterPlayerScriptsPlayer.PlayerScriptsScripts à 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 pendant l'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.

VoiceChatService

VoiceChatService représente la fonctionnalité de chat vocal basée sur la proximité qui simule une communication réaliste en fonction de la proximité avec les 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 y a 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 utilisés pour les 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 dans les 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.
Divers modèles de « cartes » à échanger entre Class.Workspace et Class.ServerStorage