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 em tempo de execução, como scripts que modificam propriedades, chamam métodos e funções e respondem a eventos que ativam comportamentos dinâmicos e interatividade.
O mecanismo Roblox usa o modelo de dados como uma fonte de verdade para o estado de um local, so ele pode simular e renderizá-lo em dispositivos clientes. Para mais informações sobre como o mecanismo Roblox interpreta o modelo de dados, see Tempo de Execução Cliente-Servidor .
Objetos
Você coloca e organiza objetos no modelo de dados para descrever um lugar no Roblox. Cada objeto no Roblox herda da classe Class.Instance , que define propriedades, métodos e eventos genéricos que são comuns a todos os objetos. Os objetos também definem suas próprias características dependendo da funcionalidade que o objeto for
Para obter uma lista abrangente de todos os recursos do motor do Roblox, 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. Ela 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 softwares de modelagem 3D, como Maya ou Blender. |
TrussPart | Uma viga de treliça que os personagens podem escalar como se fosse 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 complexos através de modelagem sólida.
Scripts
Você pode adicionar interatividade e comportamento ao mundo 3D do seu locale definir lógica com scripts. Você escreve scripts na linguagem de programação Lua para fazer coisas como mover partes, chamar outros scripts e responder a eventos. Como o Roblox opera em um modelo de cliente-servidor, você pode executar scripts no servidor, cliente ou fazer com que eles se comuniquem 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 ModuleScript representa um script reutilizável que você pode require() dos scripts do servidor e do cliente.
Para scripts se comportem adequadamente, você deve colocá-los nos contêiners corretos no modelo de dados. Para mais informações, consulte as seções Servidor e Cliente.
Organização do Objeto
Embora você tenha muita flexibilidade em como organizar seu modelo de dados, o motor Roblox 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:
- Espaço 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 replica 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 são para fins organizacionais e não definem comportamento algum. 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.
Espaço de Trabalho
Workspace contém todos os objetos que compõem o mundo 3D de um local. Você pode adicionar objetos ao workspace para personalizar seu mundo 3D, como peças base, peças de malha e modelos. Os clientes renderizam tudo o que aparece n
Câmera
Camera determina como o cliente vê o mundo 3D. Por padrão, há uma câmera na área de trabalho, mas você pode adicionar vários objetos de câmera para criar diferentes perspectivas e visões. Cada cliente toma 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, see Personalizando 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, see Terreno Ambiental.
Ambiente
Efeitos de iluminação e sonoros podem tornar 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 atrativos.
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, see Iluminação .
Som
SoundService pode controlar as configurações de volume e reprodução de objetos filhos `Class.SoundS para música de fundo ou efeitos sonoros ambientais.
Para mais informações, see 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 chat 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.
ReplicatedFirst
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 LocalScript do lado do cliente 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 para o servidor e clientes conectados. Qual
Para mais informações sobre como a replicação funciona, see 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 requeridos por scripts de servidor, e outros objetos relacionados a scripts que são apenas para uso do servidor. Se seus scripts requerem outros objetos não-script, você deve colocá-los em 0> Class
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 deseja clonar e vincular ao workspace ou outros contêineres em tempo de execução. Por exemplo, você pode armazenar grandes objetos como mapas neste contêiner até que eles sejam necessários e movê-los para o workspace apenas quando exigido. Isso permite que você diminua o tráfego de rede do cliente ao entrar inicialmente.
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 replica para todos os clientes conectados e normalmente contém objetos 3D e objetos LocalScript associados. Todos os objetos que você armazena nesses contêineres não são persistentes entre sessões e são redefinidos toda vez que um cliente se juntar novamente. V
Quando um cliente se conecta a um servidor, o serviço de contêiner Players escuta os usuários que se juntam ao seu lugar 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 a localização correspondente no modelo de dados de exec
Editar Modelo de Dados | Modelo de 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.Gui do Jogador | Scripts que podem gerenciar o Interface gráfica do usuáriolocal do jogador. Quando um jogador renasce, o conteúdo do PlayerGui é esvaziado. O servidor copia os objetos dentro do StarterGui para o PlayerGui. |
StarterPlayerScripts | Jogador.Scripts do Jogador | Scripts de propósito 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 este contêiner. |
StarterCharacterScripts | Jogador.Personagem | Scripts que são copiados para o cliente quando eles 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, see 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, see 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.