Cada lugar está representado por un aplicación de modeladodatos, una jerarquía de objetos que describe todo sobre el lugar. El modelo de datos contiene todos los objetos que conforman el mundo 3D, como partes, terreno, iluminación y otros elementos ambientales. También contiene objetos que pueden controlar el comportamiento de tiempo de ejecución, como los scripts que modifican propiedades, llaman métodos y funciones y responden a eventos que habilitan comportamiento dinámico y de interacción.
El motor de Roblox usa el modelo de datos como fuente de verdad para el estado de un lugar, so it can simulate and render it on client devices. For more information on how the Roblox engine interprets the data aplicación de modelado, see 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 Class.Instance , que define propiedades, métodos y eventos genéricos que son comunes a todos los objetos. Los objetos también definen sus propias características dependiendo de la funcionalidad que proporciona el
Para obtener una lista completa de todas las características del motor de Roblox, consulte la documentación de referencia.
Bloques de construcción 3D
BasePart es la clase principal para los bloques de construcción 3D físicamente simulados en el mundo. Defina las propiedades y métodos comunes para todos los objetos físicos con propiedades como la posición, el tamaño y la orientación.
Objeto | Descripción |
---|---|
Part | Una parte primitiva que puede tomar la forma de un bloques, bola, cilindro, cuña o esquina. |
MeshPart | Una malla importada de un software de modelado 3D como Maya o Blender. |
TrussPart | Un viga de trestas que los personajes pueden escalar como una escalera. |
Mientras teóricamente puedes crear una experiencia de Roblox completamente funcional utilizando solo partes simples, es muy probable que importes mallas y combines partes primitivas en objetos y estructuras más complejos 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 Lua para hacer cosas como mover partes, 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, cliente o hacerlos comunicarse a través de la frontera de 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() desde ambos 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, consulta las secciones Servidor y Cliente.
Organización de Objetos
Mientras que tienes mucha flexibilidad en cómo organizas tu aplicación de modeladode datos, el motor de Roblox espera que ciertos objetos estén en ciertos servicios de contenedores, 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 la configuración y elementos del entorno.
- 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 del 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, puede organizar aún más sus objetos con los siguientes objetos:
- Carpetas - A Folder es para propósitos organizativos y no define ningún comportamiento. Por ejemplo, puede usar carpetas para agrupar objetos similares como un conjunto de scripts en el almacenamiento del servidor.
- Modelos - A Model es principalmente para agrupaciones geométricas de partes, como agrupar un conjunto de escritorio que incluye una silla, una mesa y una lámpara. Para organizar conjuntos más complejos, puede incluso anidar modelos dentro de los modelos.
Espacio de trabajo
Workspace contiene todos los objetos que forman parte del mundo 3D de un lugar. Puedes añadir objetos al espacio de trabajo para personalizar tu mundo 3D, como partes básicas, partes de malla y modelos. Los clientes renderizan todo lo que apare
Cámara
Camera determina cómo el cliente ve el mundo 3D. Por defecto, hay una cámara en el espacio de trabajo, pero puede 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, puede configurar una cámara para seguir los movimientos del usuario o permanecer fija en una ubicación específica. También puede ajustar el campo de vista, la distancia y el ángulo para crear diferentes efectos visuales de cómo los usuarios ven tu mundo 3D.
Para obtener más información, see Personalizar la cámara .
Terreno
Terrain te permite crear paisajes para tu lugar. Puedes aplicar un material al terreno para simular los ambientes 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 las regiones de tu terreno.
Para obtener más información, see Terreno Ambiental .
Entorno
Los efectos de iluminación y sonido pueden hacer que su mundo 3D sea mucho más inmersivo y realista. Aunque no es necesario agregar estos efectos a su lugar, pueden hacerlo más visualmente y auditivamente atractivo.
Iluminación
Lighting contiene objetos que controlan los ajustes de iluminación globales 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, see Iluminación .
Sonido
SoundService puede controlar las opciones de volumen y reproducción de objetos hijos Sound para música de fondo o efectos de sonido ambientales.
Para obtener más información, see sonido .
Replicación
Replicación es el proceso en el que el servidor sincroniza el estado de su 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 puede especificar ciertos objetos para replicar al colocarlos en contenedores específicos.
ReplicatedPrimero
ReplicatedFirst contiene objetos que desea replicar a un cliente cuando se unen a su lugar. Por lo general, contiene objetos que son esenciales para inicializar a un jugador, como objetos Class.LocalScript del lado del cliente y los objetos asociados con los scripts. Todo el contenido en este contenedor se replica del servidor al cliente solo una vez.
Almacenamiento Replicado
ReplicatedStorage contiene objetos que están disponibles tanto para el servidor como para los clientes conectados. C
Para obtener más información sobre cómo funciona la replicación, see 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 los scripts del servidor, y otros objetos relacionados con los scripts que solo son para el uso del servidor. Si sus scripts requieren otros objetos no relacionados con los scripts, debe colocarlos en 0>
Almacenamiento del servidor
ServerStorage contiene objetos que solo se destinan al uso del servidor. Puedes usar este contenedor para almacenar objetos que quieres clonar y padres para el espacio de trabajo o otros contenedores en tiempo de ejecución. Por ejemplo, puedes almacenar objetos grandes como mapas en este contenedor hasta que sean necesarios y moverlos en el 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 contenedores del cliente están destinados a los 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 Class.LocalScript . Todos los objetos que almacena en estos contenedores no son persistentes entre sesiones y se restablecen cada vez que un cliente se une de nuevo. Puedes poner objetos en estos contenedores como G
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
Editar modelo de datos | Modelo de datos de tiempo de ejecución | Notas |
---|---|---|
StarterPack | Jugador.Mochila | Scripts que configuran el inventario del jugador y generalmente contienen Tool pero a menudo también contiene scripts locales. |
StarterGui | Jugador.Gui del jugador | Scripts que pueden manejar la Interfaz gráfica (o GUI)local del jugador. Cuando un jugador reaparece, el contenido del PlayerGui se agota. 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 quieres crear efectos especiales en el cliente cuando se cumplen ciertas condiciones, puedes 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 aparecen. 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 que nada más. |
chat
TextChatService
TextChatService representa el servicio que maneja varias tareas de chat de texto durante la experiencia, como administrar canales, decorar mensajes, filtrar texto, crear comandos y desarrollar interfaces de chat personalizadas.
Para obtener más información, see Sistema de chat de texto en la 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 en función de la cercanía con los otros usuarios. Puedes usar este servicio para alternar la función de encendida y desactivado.
Para obtener más información, see Chat de Voz .
Carátulas 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 mejores para almacenar secciones de un entorno, ambiente, como el lobby o una arena de combate.
- Los 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 los modelos dentro de los modelos.
Siempre debe nombrar sus objetos de manera descriptiva. Esto hace que sea fácil encontrar y modificar objetos más tarde si es necesario.