Roblox Battle Royale intègre un système de construction qui permet aux utilisateurs de construire leurs propres structures pour atteindre un meilleur angle de tir ou pour fournir une couverture pendant le combat.En utilisant un menu, l'utilisateur peut sélectionner parmi un certain nombre de types de tuiles différentes et les placer dans le monde.

Pour maintenir un système ordonné et structuré :
- Chaque tuile doit se connecter à une autre tuile existante ou au sol.
- Place toutes les tuiles de construction dans une grille coordonnée avec le monde du jeu afin que les tuiles se connectent correctement et ne se chevauchent pas.
Composition des tuiles
Pour que les utilisateurs puissent construire de nouvelles tuiles rapidement et facilement, le système de construction doit comprendre les tuiles qui sont connectées les unes aux autres et où les nouvelles tuiles peuvent être placées sur la grille.
Les tuiles utilisent 3 composants : le élément visuel qui est utilisé comme objet de tuile, des informations sur l'espace que la tuile occupe en référence à d'autres objets du monde et les points de connexion d'une tuile qui permettent à des tuiles supplémentaires de se connecter aux bords disponibles.
Actif
Une ressource est une BasePart ( Part , MeshPart , etc.) placée dans ReplicatedStorage/BuildingSystem/Assets représentant à quoi ressemble la tuile dans le monde du jeu.Cette BasePart doit avoir deux enfants :
- Rotation de départ — A avec une rotation de départ de la pavélorsqu'un utilisateur la place dans le monde.
Réoccupation
Garantir qu'une tuile occupe la bonne position dans un système de grille est important et peut être fait en utilisant un masque de bits.Un masque de bits représente l'espace physique que le type de tuile occupe dans une section de base de l'espace du monde ou de la cellule.Chaque tuile/objet de système de construction peut occuper n'importe quel nombre de faces d'une cellule de grille (devant, à gauche, retour, droite, haut et bas) et n'importe quel nombre d'octants dans une cellule de grille.Un utilisateur ne peut placer qu'un objet de système de construction dans une cellule si toutes les faces et les octants que l'objet occupe sont disponibles dans cette cellule.L'occupation pour un objet de système de bâtiment est définie comme suit :
Index des bits | Signification |
---|---|
0 | Visage inférieur de la cellule |
1 | Visage supérieur de la cellule |
2 | Visage droit de la cellule |
3 | Face arrière de la cellule |
4 | Visage gauche de la cellule |
5 | Face avant de la cellule |
6 | +X, –Y, +Z octant de cellule avec origine au centre de la cellule |
7 | +X, +Y, +Z octant de cellule avec origine au centre de la cellule |
8 | –X, –Y, +Z octant de cellule avec origine au centre de la cellule |
9 | –X, +Y, +Z octant de cellule avec origine au centre de la cellule |
10 | –X, –Y, –Z octant de cellule avec origine au centre de la cellule |
11 | –X, +Y, –Z octant de cellule avec origine au centre de la cellule |
12 | +X, –Y, –Z octant de cellule avec origine au centre de la cellule |
13 | +X, +Y, –Z octant de cellule avec origine au centre de la cellule |
Connectivité
Les tuiles doivent se connecter les unes aux autres pour créer une structure.Vous pouvez utiliser un masque de bits qui représente quelles parties des faces/bords de la cellule le type de tuile touche.La connectivité d'une tuile/objet de système de construction est représentée par une série de points de connexion, de bits, sur la surface d'une cellule.Ils s'organisent de la manière suivante sur les faces de la cellule :

Un objet de système de construction est considéré comme connecté à un autre objet de système de construction dans la grille si ils partagent au moins 2 points de connectivité sur la surface d'une cellule.
Créer de nouveaux types de tuiles
Pour créer un nouveau taperde tuile :
Placez la ressource dans ReplicatedStorage/BuildingSystem/Assets . Souvenez-vous qu'elle doit contenir ObjectType et StartingRotation enfants comme défini ci-dessus.
Définissez le occupation et le connectivité pour votre nouveau type de tuile dans :
Par exemple, le type de tuile mur est exprimé comme suit :
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}
Travailler avec le terrain
Si vous souhaitez créer une carte avec un terrain libre de forme qui s'aligne parfaitement avec le système de construction, nous vous recommandons d'utiliser le système d'importation de carte de hauteur comme décrit dans terrain environnemental et d'observer les détails suivants :
Le terrain dans Roblox est représenté par un ensemble de trois dimensions de voxels, chacun desquels occupe un cube de 4×4×4 studs dans le monde.En raison de cela, Roblox Battle Royale utilise une taille de cellule de grille de 20×16×20 studs, avec des tuiles murales qui sont 20×16×1 studs et des tuiles sol/plafond qui sont 20×1×20 studs en taille.Cela permet de construire des tuiles et du terrain pour s'aligner correctement.
Chaque pixel dans votre image de carte de hauteur doit représenter un voxel de terrain dans le plan X/Z , donc une zone 5×5 en pixels représente une cellule de grille de système de construction qui occupe une zone de 20×20 en études.
Dans l'image de votre carte de hauteur, assurez-vous que la valeur du canal rouge ou gris pour chaque pixel est divisible par la hauteur de la cellule de grille de votre système de construction afin que les tuiles de plan soient bien placées au-dessus du terrain.
Lorsque vous importez votre carte de hauteur, configurer:
Position (X, Y, Z) = 0, 0, 0Size (X, Y, Z) = heightmap_width × 4, 256, heightmap_length × 4