Roblox Battle Royale presenta un sistema de construcción que permite a los usuarios construir sus propias estructuras para alcanzar un terreno más alto para un mejor ángulo de disparo o para proporcionar cobertura durante la batalla.Al usar un menú, el usuario puede seleccionar de un número de diferentes tipos de azulejos y colocarlos en el mundo.

Para mantener un sistema ordenado y estructurado:
- Cada azulejo debe conectarse a otro azulejo existente o al suelo.
- Coloca todas las baldosas de construcción dentro de una cuadrícula coordinada con el mundo del juego para que las baldosas se conecten correctamente y no se superpongan.
Composición de azulejos
Para que los usuarios puedan crear nuevas baldosas rápida y fácilmente, el sistema de construcción debe comprender qué baldosas están conectadas entre sí y dónde se pueden colocar nuevas baldosas en la cuadrícula.
Los azulejos utilizan 3 componentes: el recurso visual que se utiliza como objeto de azulejo, información sobre el espacio que ocupa el azulejo en referencia a otros objetos del mundo, y los puntos de conexión de un azulejo que permiten que se conecten azulejos adicionales a los bordes disponibles.
Activos
Un activo es un BasePart ( Part , MeshPart , etc.) colocado en ReplicatedStorage/BuildingSystem/Assets representando lo que la loseta se ve en el mundo del juego.Este BasePart debe tener dos hijos:
- Rotación inicial — Un NumberValue con una Value de la rotación inicial de la mosaicocuando un usuario la coloca en el mundo.
Ocupación
Asegurar que una baldosa ocupe la ubicación correcta en un sistema de cuadrícula es importante y se puede hacer usando una máscara de bits.Una máscara de bits representa el espacio físico que el tipo de azulejo ocupa dentro de una sección básica del espacio mundial o de la celda.Cada azulejo/objeto de sistema de construcción puede ocupar cualquier número de caras de una celda de cuadrícula (frente, izquierda, volver, derecha, superior e inferior) y cualquier número de octantes en una celda de cuadrícula.Un usuario solo puede colocar un objeto del sistema de construcción en una celda si todos los rostros y octantes que ocupa están disponibles en esa celda.La ocupación para un objeto de sistema de construcción se define como sigue:
Índice de bits | Significado |
---|---|
0 | Cara inferior de la celda |
1 | Cara superior de la celda |
2 | Cara derecha de la celda |
3 | Cara trasera de la celda |
4 | Cara izquierda de la celda |
5 | Cara delantera de la celda |
6 | +X, –Y, +Z octante de celda con origen en el centro de la celda |
7 | +X, +Y, +Z octante de celda con origen en el centro de la celda |
8 | –X, –Y, +Z octante de celda con origen en el centro de la celda |
9 | –X, +Y, +Z octante de celda con origen en el centro de la celda |
10 | –X, –Y, –Z octante de celda con origen en el centro de la celda |
11 | –X, +Y, –Z octante de celda con origen en el centro de la celda |
12 | +X, –Y, –Z octante de celda con origen en el centro de la celda |
13 | +X, +Y, –Z octante de celda con origen en el centro de la celda |
Conectividad
Las baldosas deben conectarse entre sí para crear una estructura.Puedes usar una máscara de bits que representa qué partes de las caras/bordes de la celda toca el tipo de azulejo.La conectividad de un azulejo/objeto de sistema de construcción se representa por una serie de puntos de conexión, bits, en la superficie de una celda.Se organizan de la siguiente manera en las caras de la celda:

Un objeto del sistema de construcción se considera conectado a otro objeto del sistema de construcción en la cuadrícula si comparte al menos 2 puntos de conectividad en la superficie de una celda.
Crear nuevos tipos de azulejos
Para crear un nuevo introducirde azulejo:
Coloca el recurso en ReplicatedStorage/BuildingSystem/Assets . Recuerda que debe contener ObjectType y StartingRotation hijos como se define anteriormente.
Define el ocupación y conectividad para tu nuevo tipo de azulejo en :
Por ejemplo, el tipo de azulejo Pared se expresa como sigue:
ObjectTypeConfigurations.Wall = {ASSET_OFFSET_FROM_CENTER = Vector3.new(0, 0, -CELL_DIMENSIONS.Z / 2),CONNECTIVITY = 0xFF8000, -- 0b 111 111 111 000 000 000 000 000OCCUPANCY = 0x20, -- 0b 00 00 00 00 1 0 0 0 0 0}
Trabajar con terreno
Si desea crear un mapa con terreno de forma libre que se alinee perfectamente con el sistema de construcción, recomendamos que use el sistema de importación de mapas de altura como se describe en terreno ambiental y que observe los siguientes detalles:
El terreno en Roblox se representa por un array de tres dimensiones de vóxeles, cada uno de los cuales ocupa un cubo de 4×4×4 studs en el mundo.Debido a esto, Roblox Battle Royale usa un tamaño de celda de cuadrícula de 20×16×20 studs, con azulejos de pared que son 20×16×1 studs y azulejos de suelo/techo que son 20×1×20 studs en tamaño.Esto permite que las baldosas y el terreno se alineen correctamente.
Cada píxel en la imagen de tu mapa de altura debe representar un vóxel de terreno en el plano X/Z , por lo que un área de 5×5 en píxeles representa una celda de cuadrícula de sistema de construcción que ocupa un área de 20×20 en studs.
En la imagen de tu mapa de altura, asegúrate de que el valor del canal rojo o gris para cada píxel sea divisible por la altura de la celda de la cuadrícula de tu sistema de construcción para que las fachadas se coloquen bien sobre el terreno.
Cuando importas tu mapa de altura, establecer:
Position (X, Y, Z) = 0, 0, 0Size (X, Y, Z) = heightmap_width × 4, 256, heightmap_length × 4