Cada local é representado por um modelo de dados, uma hierarquia de objetos que descreve tudo sobre o local.O modelo de dados contém todos os objetos que compõem o mundo 3D, como peças, terreno, iluminação e outros elementos ambientais.Ele também contém objetos que podem controlar o comportamento do tempo de execução, como scripts que modificam propriedades, métodos de chamada e funções, e responder a eventos que ativam o comportamento dinâmico e a interatividade.
O motor do Roblox usa o modelo de dados como uma fonte de verdade para o estado de um local, então ele pode simular e renderizá-lo em dispositivos clientes.Para mais informações sobre como o motor do Roblox interpreta o modelo de dados, veja Tempo de Execução Cliente-Servidor.
Objetos
Você coloca e organiza objetos no modelo de dados para descrever um local no Roblox.Cada objeto no Roblox herda da classe , que define propriedades, métodos e eventos genéricos comuns a todos os objetos.Objetos também definem suas próprias características dependendo da funcionalidade que o objeto fornece.Existem muitas categorias de objetos com uma grande variedade de usos, mas você frequentemente trabalhará com BasePart e LuaSourceContainer objetos, comumente referidos como partes e scripts.
Para uma lista abrangente de todos os recursos do Roblox Engine, consulte a documentação de referência.
Blocos de construção 3D
BasePart é a classe principal para blocos de construção 3D fisicamente simulados no mundo.Define as propriedades e métodos comuns a todos os objetos físicos com propriedades como posição, tamanho e orientação.
Objeto | Descrição |
---|---|
Part | Uma peça primitiva que pode tomar a forma de um bloco, bola, cilindro, Parte / fatiaou canto Parte / fatia. |
MeshPart | Uma malha importada de 3D de software de modelagem como Maya ou Blender. |
TrussPart | Uma viga de treliça que os personagens podem escalar como uma escada. |
Embora você possa teoricamente criar uma experiência Roblox totalmente funcional usando apenas peças simples, você provavelmente importará malhas e combinará peças primitivas em objetos e estruturas mais complexas através de modelagem sólida.
Scripts
Você pode adicionar interatividade e comportamento ao mundo 3D do seu local e definir lógica com scripts.Você escreve scripts na linguagem de programação Luau para fazer coisas como mover peças, chamar outros scripts e responder a eventos.Como o Roblox funciona em um modelo de cliente-servidor, você pode executar scripts no servidor, no cliente ou fazê-los se comunicar através da fronteira de rede.
- Um objeto Script representa um script que só pode ser executado no servidor.
- Um objeto LocalScript representa um script que só pode ser executado no cliente.
- Um objeto representa um script reutilizável que você pode dos scripts do servidor e do cliente.
Para que os scripts se comportem adequadamente, você deve colocá-los nos contêineres corretos no modelo de dados.Para mais informações, consulte as seções Servidor e Cliente.
Organização de objetos
Embora você tenha muita flexibilidade em como organizar seu modelo de dados, o Roblox Engine espera que certos objetos estejam em determinados serviços de contêiner , que são objetos que têm comportamentos específicos e podem afetar os comportamentos dos objetos que eles contêm.As principais categorias de serviços de contêiner incluem:
- Área de trabalho - Workspace armazena todos os objetos que renderizam no mundo 3D.
- Ambiente - Contêineres como Lighting e SoundService que contêm objetos para configurações e elementos ambientais.
- Replicação - Contêineres para conteúdo e lógica que se replicam entre o servidor e o cliente, como ReplicatedStorage e ReplicatedFirst.
- Servidor - Contêineres para conteúdo e lógica apenas do lado do servidor, como ServerScriptService e ServerStorage.
- Chat - Contêineres para objetos que ativam recursos de bate-papo, como VoiceChatService e TextChatService.
Além disso, você pode organizar ainda mais seus objetos com os seguintes objetos:
- Pastas - Um Folder é para fins organizacionais e não define qualquer comportamento.Por exemplo, você pode usar pastas para agrupar objetos semelhantes, como um conjunto de scripts no armazenamento do servidor.
- Modelos - Um Model é principalmente destinado a agrupamentos geométricos de peças, como agrupar um conjunto de mesa que inclui uma cadeira, uma mesa e uma lâmpada.Para organizar conjuntos mais complexos, você pode até aninhar modelos dentro de modelos.
Workspacede Trabalho
Workspace contém todos os objetos que compõem o mundo 3D de um local.Você pode adicionar objetos ao espaço de trabalho para personalizar seu mundo 3D, como peças de base, peças de malha e modelos.Os clientes renderizam tudo o que aparece neste contêiner e nada fora dele, para que você possa controlar o que os usuários veem e interagem em seu lugar.Embora não seja realmente renderizado, você também pode adicionar scripts que são parentados com as peças e modelos com os quais estão associados.Por padrão, o espaço de trabalho é preenchido com um ObjetoTerrain e Camera .
Câmera
Camera determina como o cliente vê o mundo 3D.Por padrão, há uma câmera no espaço de trabalho, mas você pode adicionar vários objetos de câmera para criar diferentes perspectivas e visões.Cada cliente pega essas configurações e cria sua própria visão de câmera que o servidor não pode modificar diretamente.
Por exemplo, você pode configurar uma câmera para seguir os movimentos do usuário ou permanecer fixa em um local específico.Você também pode ajustar o campo de ver, distância e ângulo para criar diferentes efeitos visuais de como os usuários visualizam seu mundo 3D.
Para mais informações, veja Personalizar a câmera.
Terreno
Terrain Permite que você crie paisagens para o seu local.Você pode aplicar um material ao terreno para simular ambientes naturais desejados, como grama, água, areia ou um material personalizado.Embora você só possa ter um objeto de terreno para o seu mundo 3D e aplicar um material a esse terreno, você pode usar o Editor de Terreno para editar regiões do seu terreno.
Para mais informações, veja Terreno ambiental.
Meio Ambiente
Efeitos de iluminação e sonoros podem tornar o seu mundo 3D muito mais imersivo e realista.Embora não seja necessário adicionar esses efeitos ao seu local, eles podem torná-lo mais visualmente e auditivamente atrativo.
Iluminação
Lighting contém objetos que controlam as configurações globais de iluminação do seu local, como Atmosphere para simular efeitos atmosféricos ou Sky para alterar o sol, a lua e as estrelas em seus ambientes.
Para mais informações, veja Iluminação.
Som
SoundService pode controlar as configurações de volume e reprodução de objetos filhos Sound para música de fundo ou efeitos sonoros ambientais.
Para mais informações, veja Som.
Replicação
Replicação é o processo do servidor sincronizar o estado do seu local com todos os clientes conectados.O motor do Roblox replica de forma inteligente e automática dados, física e mensagens de bate-papo entre o servidor e o cliente para muitos casos, mas você também pode especificar certos objetos para replicar colocando-os em contêineres específicos.
Replicado primeiro
ReplicatedFirst contém objetos que você deseja replicar para um cliente quando ele se juntar ao seu local.Ele geralmente contém objetos que são essenciais para inicializar um jogador, como objetos do lado do cliente LocalScript e os objetos associados aos scripts.Todo o conteúdo neste contêiner é replicado do servidor para o cliente apenas uma vez.
Armazenamento Replicado
ReplicatedStorage contém objetos que estão disponíveis tanto para o servidor quanto para os clientes conectados.Quaisquer alterações que ocorram no cliente persistem, mas não serão replicadas para o servidor.O servidor pode substituir as alterações no cliente para manter a consistência.Este contêiner é tipicamente usado para objetos ModuleScript que precisam ser compartilhados e acessados por ambos Script (lado do servidor) e LocalScript (lado do cliente) objetos.Além disso, você pode usar este contêiner para replicar quaisquer objetos que não precisam existir no mundo 3D até serem necessários, como um ParticleEmitter para clonar e parentar todos os modelos de personagens recebidos.
Para mais informações sobre como a replicação funciona, veja tempo de execução cliente-servidor.
Servidor
O modelo de dados define contêineres dedicados apenas para objetos do lado do servidor que nunca são replicados para o cliente.Isso permite que o servidor afete o comportamento e o estado do cliente sem expor os objetos e a lógica do servidor ao cliente.
Serviço de Script de Servidor
ServerScriptService contém Script objetos, ModuleScript objetos que são requisitados por scripts do servidor e outros objetos relacionados a scripts que são apenas para uso do servidor.Se seus scripts requerem outros objetos não de script, você deve colocá-los em ServerStorage .Scripts neste contêiner nunca são replicados aos clientes, o que permite que você tenha lógica segura do lado do servidor.
Armazenamento do Servidor
ServerStorage contém objetos que são apenas para uso do servidor.Você pode usar este contêiner para armazenar objetos que você deseja clonar e parentar para o espaço de trabalho ou outros contêineres em tempo de execução.Por exemplo, você pode armazenar grandes objetos, como mapas, neste contêiner até que sejam necessários e movê-los para o espaço de trabalho somente quando necessário Isso permite que você diminua o tráfego de rede do cliente na adesão inicial.
Cliente
Os serviços de contêiner do cliente são destinados a objetos que são replicados para todos os clientes conectados.Esta categoria de contêineres se replica a todos os clientes conectados e geralmente contém objetos 3D e objetos associados LocalScript.Todos os objetos que você armazena nesses contêineres não são persistentes entre sessões e são redefinidos sempre que um cliente se reúne.Você pode colocar objetos nesses contêineres, como GUIs de jogador, scripts do lado do cliente e outros objetos que são relevantes apenas para o cliente.
Quando um cliente se conecta a um servidor, o serviço de contêiner Players ouve os usuários que se juntam ao seu local e cria um objeto Player para cada cliente.O servidor copia os objetos dos contêineres do cliente no modelo de dados de edição para o local correspondente no modelo de dados de tempo de execução dentro do ObjetoPlayers.A tabela a seguir descreve o contêiner original em que reside no contêiner e o contêiner resultante em que são copiados para o cliente:
Editar modelo de dados | modelode dados de tempo de execução | Notas |
---|---|---|
StarterPack | Jogador.Mochila | Scripts que configuram o inventário do jogador e geralmente contêm Tool objetos, mas muitas vezes também contém scripts locais. |
StarterGui | Jogador.PlayerGui | Scripts que podem gerenciar a Interface gráfica do usuáriolocal do jogador.Quando um jogador respawna, o conteúdo do PlayerGui é esvaziado.O servidor copia os objetos dentro do StarterGui para o PlayerGui. |
StarterPlayerScripts | Jogador.Scripts do Jogador | Scripts de uso geral para o cliente.Por exemplo, se você quiser criar efeitos especiais no cliente quando certas condições forem atendidas, você pode colocar um script local neste contêiner para fazer isso.O servidor não pode acessar esse contêiner. |
StarterCharacterScripts | Jogador.Personagem | Scripts que são copiados para o cliente quando são Gerar. Esses scripts não persistem quando o jogador renasce. |
ReplicatedFirst | O conteúdo desse contêiner é replicado para todos os clientes (mas não de volta para o servidor) primeiro, antes de qualquer outra coisa. |
chat/conversa
Serviço de Chat de Texto
TextChatService representa o serviço que lida com várias tarefas de chat de texto na experiência, como gerenciar canais, decorar mensagens, filtrar texto, criar comandos e desenvolver interfaces de chat personalizadas.
Para mais informações, veja Sistema de chat de texto na experiência.
Serviço de Chat de Voz
VoiceChatService representa o recurso de chat de voz baseado em proximidade que simula uma comunicação realista com base em quão perto você está de outros usuários.Você pode usar este serviço para ativar e desligadoo recurso.
Para mais informações, veja Chat de voz.
Pastas e modelos
Existem dois métodos principais para agrupar objetos no modelo de dados: pastas e modelos .Ambos são contêineres para objetos, mas têm propósitos diferentes.
- Pastas são melhores para armazenar seções de um ambiente, como o lobby ou uma arena de combate.
- Modelos são usados para conjuntos de objetos, como um conjunto de mesa que inclui uma cadeira, uma mesa e uma lâmpada.Para organizar conjuntos mais complexos, anilhe modelos dentro de modelos.
Você deve sempre nomear seus objetos de forma descritiva. Isso facilita encontrar e modificar objetos mais tarde, se necessário.

