Cada lugar está representado por un aplicación de modeladodatos, una jerarquía de objetos que describen todo sobre el lugar.El modelo de datos contiene todos los objetos que componen el mundo 3D, como partes, terreno, iluminación y otros elementos ambientales.También contiene objetos que pueden controlar el comportamiento en tiempo de ejecución, como scripts que modifican propiedades, llaman métodos y funciones, y responden a eventos que habilitan el comportamiento dinámico y la interacción.
El motor de Roblox utiliza el modelo de datos como fuente de verdad para el estado de un lugar, por lo que puede simularlo y renderizarlo en dispositivos clientes.Para obtener más información sobre cómo el motor de Roblox interpreta el aplicación de modeladodatos, vea Tiempo de ejecución cliente-servidor.
Objetos
Colocas y organizas objetos en el modelo de datos para describir un lugar en Roblox.Cada objeto en Roblox hereda de la clase Instance, que define propiedades, métodos y eventos genéricos comunes a todos los objetos.Los objetos también definen sus propias características dependiendo de la funcionalidad que proporciona el objeto.Hay muchas categorías de objetos con una amplia variedad de usos, pero trabajarás con frecuencia con BasePart y LuaSourceContainer objetos, comúnmente conocidos como partes y scripts.
Para obtener una lista completa de todas las funciones del motor Roblox, consulte la documentación de referencia.
Bloques de construcción 3D
BasePart es la clase principal para bloques de construcción 3D físicamente simulados en el mundo.Define las propiedades y métodos comunes a todos los objetos físicos con propiedades como posición, tamaño y orientación.
Objeto | Descripción |
---|---|
Part | Una parte primitiva que puede tomar la forma de un bloques, bola, cilindro, rampa o esquina. |
MeshPart | Una malla importada de mesa de software de modelado 3D como Maya o Blender. |
TrussPart | Un truss beam que los personajes pueden escalar como una escalera. |
Aunque teóricamente puedes crear una experiencia de Roblox totalmente funcional usando solo piezas simples, es muy probable que importes mallas y combines piezas primitivas en objetos y estructuras más complejas a través de modelado sólido.
Guiones
Puedes agregar interactividad y comportamiento al mundo 3D de tu lugar y definir lógica con scripts.Escribes scripts en el lenguaje de programación Luau para hacer cosas como mover piezas, llamar a otros scripts y responder a eventos.Debido a que Roblox funciona en un aplicación de modeladocliente-servidor, puedes ejecutar scripts en el servidor, el cliente o hacer que se comuniquen a través de la frontera de la red.
- Un objeto Script representa un script que solo se puede ejecutar en el servidor.
- Un objeto LocalScript representa un script que solo se puede ejecutar en el cliente.
- Un objeto ModuleScript representa un script reutilizable que puedes require() de los scripts del servidor y del cliente.
Para que los scripts se comporten correctamente, debes colocarlos en los contenedores correctos en el aplicación de modeladode datos.Para obtener más información, consulte las secciones Servidor y Cliente.
Organización de objetos
Aunque tengas mucha flexibilidad en la forma en que organizas tu aplicación de modeladode datos, el Motor de Roblox espera que ciertos objetos estén en ciertos servicios de contenedor que son objetos que tienen comportamientos específicos y pueden afectar los comportamientos de los objetos que contienen.Las principales categorías de servicios de contenedores incluyen:
- Espacio de trabajo - Workspace almacena todos los objetos que se renderizan en el mundo 3D.
- Entorno - Contenedores como Lighting y SoundService que contienen objetos para configuraciones y elementos ambientales.
- Replicación - Contenedores para el contenido y la lógica que se replica entre el servidor y el cliente, como ReplicatedStorage y ReplicatedFirst.
- Servidor - Contenedores para contenido y lógica solo de lado del servidor, como ServerScriptService y ServerStorage.
- Cliente - Contenedores para el contenido y la lógica del lado del cliente, como StarterPlayer y StarterGui.
- Chat - Contenedores para objetos que habilitan funciones de chat, como VoiceChatService y TextChatService .
Además, puedes organizar aún más tus objetos con los siguientes objetos:
- carpetas - A Folder es para fines organizativos y no define ningún comportamiento.Por ejemplo, puedes usar carpetas para agrupar objetos similares como un conjunto de scripts en el almacenamiento del servidor.
- Modelos - Un Model está destinado principalmente a agrupaciones geométricas de piezas, como agrupar juntos un conjunto de escritorio que incluye una silla, una mesa y una lámpara.Para organizar conjuntos más complejos, incluso puedes anidar modelos dentro de modelos.
Espacio de trabajo
Workspace contiene todos los objetos que componen el mundo 3D de un lugar.Puedes agregar objetos al espacio de trabajo para personalizar tu mundo 3D, como piezas base, partes de malla y modelos.Los clientes renderizan todo lo que aparece en este contenedor y nada fuera de él, por lo que puedes controlar lo que ven y con lo que interactúan los usuarios en tu lugar.Aunque no se renderiza realmente, también puedes agregar scripts que estén asociados con las partes y modelos con los que están asociados.Por defecto, el espacio de trabajo se prellena con un objeto Terrain y Camera .
Cámara
Camera determina cómo ve el cliente el mundo 3D.Por defecto, hay una cámara en el espacio de trabajo, pero puedes agregar múltiples objetos de cámara para crear diferentes perspectivas y vistas.Cada cliente toma estas configuraciones y crea su propia vista de cámara que el servidor no puede modificar directamente.
Por ejemplo, puedes configurar una cámara para seguir los movimientos del usuario o permanecer fija en una ubicación específica.También puedes ajustar el campo de vista, la distancia y el ángulo para crear diferentes efectos visuales de cómo ven los usuarios tu mundo 3D.
Para obtener más información, vea Personalizar la cámara.
Terreno
Terrain te permite crear paisajes para tu lugar.Puedes aplicar un material al terreno para simular los entornos naturales deseados, como hierba, agua, arena o un material personalizado.Aunque solo puedes tener un objeto de terreno para tu mundo 3D y aplicar un material a ese terreno, puedes usar el Editor de terreno para editar regiones de tu terreno.
Para obtener más información, vea terreno ambiental.
Entorno
Los efectos de iluminación y sonido pueden hacer que tu mundo 3D sea mucho más inmersivo y realista.Aunque no es necesario agregar estos efectos a tu lugar, pueden hacerlo más atractivo visual y auditivamente.
Iluminación
Lighting contiene objetos que controlan las configuraciones de iluminación global de tu lugar, como Atmosphere para simular efectos atmosféricos o Sky para alterar el sol, la luna y las estrellas en tus entornos.
Para obtener más información, vea Iluminación.
Sonido
SoundService puede controlar la configuración de volumen y reproducción de objetos hijos Sound para música de fondo o efectos de sonido ambiental.
Para obtener más información, consulte Sonido.
Replicación
Replicación es el proceso del servidor de sincronizar el estado de tu lugar con todos los clientes conectados.El motor de Roblox replica de forma inteligente y automática los datos, la física y los mensajes de chat entre el servidor y el cliente para muchos casos, pero también puedes especificar ciertos objetos para replicar colocándolos en contenedores específicos.
Replicado primero
ReplicatedFirst contiene objetos que quieres replicar a un cliente cuando se una a tu lugar.Típicamente contiene objetos que son esenciales para inicializar a un jugador, como objetos del lado del cliente LocalScript y los objetos asociados con los scripts.Todo el contenido en este contenedor se replica desde el servidor al cliente solo una vez.
Almacenamiento replicado
ReplicatedStorage contiene objetos que están disponibles tanto para el servidor como para los clientes conectados.Cualquier cambio que ocurra en el cliente persiste, pero no se replicará al servidor.El servidor puede reemplazar los cambios en el cliente para mantener la consistencia.Este contenedor se usa típicamente para objetos ModuleScript que deben ser compartidos y accedidos por ambos objetos Script (lado del servidor) y LocalScript (lado del cliente).Además, puedes usar este contenedor para replicar cualquier objeto que no necesite existir en el mundo 3D hasta que sea necesario, como un ParticleEmitter para clonar y padrinizar a todos los modelos de personajes entrantes.
Para obtener más información sobre cómo funciona la replicación, vea tiempo de ejecución cliente-servidor.
Servidor
El modelo de datos define contenedores dedicados solo para objetos del lado del servidor que nunca se replican al cliente.Esto permite que el servidor afecte el comportamiento y el estado del cliente sin exponer los objetos y la lógica del servidor al cliente.
Servicio de guión de servidor
ServerScriptService contiene Script objetos, ModuleScript objetos que son requeridos por scripts del servidor, y otros objetos relacionados con la programación que solo se destinan al uso del servidor.Si tus scripts requieren otros objetos no de programación, debes colocarlos en ServerStorage .Los scripts en este contenedor nunca se replican a los clientes, lo que te permite tener lógica segura en el lado del servidor.
Almacenamiento del servidor
ServerStorage contiene objetos que solo se destinan al uso del servidor.Puede usar este contenedor para almacenar objetos que desea clonar y asignar al espacio de trabajo o a otros contenedores en tiempo de ejecución.Por ejemplo, puedes almacenar objetos grandes como mapas en este contenedor hasta que se necesiten y moverlos al espacio de trabajo solo cuando sea necesario Esto te permite reducir el tráfico de red del cliente al unirse inicialmente.
Cliente
Los servicios de contenedor del cliente están destinados a objetos que se replican a todos los clientes conectados.Esta categoría de contenedores se replica a todos los clientes conectados y generalmente contiene objetos 3D y objetos asociados LocalScript.Todos los objetos que almacenas en estos contenedores no son persistentes entre sesiones y se reinician cada vez que un cliente se vuelve a unir.Puedes poner objetos en estos contenedores como interfaces de usuario del jugador, scripts del lado del cliente y otros objetos que solo son relevantes para el cliente.
Cuando un cliente se conecta a un servidor, el servicio de contenedor Players escucha a los usuarios que se unen a tu lugar y crea un objeto Player para cada cliente.El servidor copia los objetos de los contenedores del cliente en el modelo de datos de edición a la ubicación correspondiente en el modelo de datos de tiempo de ejecución dentro del objeto Players.La siguiente tabla describe el contenedor original en el que reside en el contenedor y el contenedor resultante en el que se copian al cliente:
Editar aplicación de modeladode datos | aplicación de modeladode datos de tiempo de ejecución | Notas |
---|---|---|
StarterPack | Jugador.Backpack | Scripts que configuran el inventario del jugador y generalmente contienen Tool objetos, pero a menudo también contiene scripts locales. |
StarterGui | Jugador.Gui de jugador | Scripts que pueden administrar la interfaz Interfaz gráfica (o GUI)local del jugador.Cuando un jugador reaparece, el contenido de PlayerGui se vacía.El servidor copia los objetos dentro de StarterGui en el PlayerGui. |
StarterPlayerScripts | Player.PlayerScripts | Scripts de propósito general para el cliente.Por ejemplo, si desea crear efectos especiales en el cliente cuando se cumplen ciertas condiciones, puede colocar un script local en este contenedor para hacer eso.El servidor no puede acceder a este contenedor. |
StarterCharacterScripts | Jugador.Personaje | Scripts que se copian al cliente cuando se regeneración. Estos scripts no persisten cuando el jugador reaparece. |
ReplicatedFirst | El contenido de este contenedor se replica a todos los clientes (pero no de vuelta al servidor) primero, antes de cualquier otra cosa. |
chat
Servicio de chat de texto
TextChatService representa el servicio que maneja varias tareas de chat de texto en experiencia, como la gestión de canales, la decoración de mensajes, el filtrado de texto, la creación de comandos y el desarrollo de interfaces de chat personalizadas.
Para obtener más información, vea Sistema de chat de texto en experiencia.
Servicio de chat de voz
VoiceChatService representa la función de chat de voz basada en la proximidad que simula una comunicación realista basada en cuán cerca estás de otros usuarios.Puedes usar este servicio para alternar la función activa y desactivado.
Para obtener más información, vea chat de voz.
carpetas y modelos
Hay dos métodos principales para agrupar objetos en el aplicación de modeladodatos: carpetas y modelos .Ambos son contenedores para objetos, pero tienen propósitos diferentes.
- Las carpetas son las mejores para almacenar secciones de un entorno, ambiente, como el vestíbulo o una arena de combate.
- Modelos se utilizan para conjuntos de objetos, como un conjunto de escritorio que incluye una silla, una mesa y una lámpara.Para organizar conjuntos más complejos, anida modelos dentro de modelos.
Siempre debe nombrar sus objetos de manera descriptiva. Esto facilita encontrar y modificar objetos más tarde si es necesario.

