Système de construction

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

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 de fournir une couverture pendant la bataille. En utilisant un menu, l'utilisateur peut sélectionner parmi une série de différents types de carreaux et les placer dans le monde.

Building Example

Pour maintenir un système ordonné et structuré :

  • Chaque carre doit se connecter à une autre carre existante ou au sol.
  • Placez 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 de tuile

Pour que les utilisateurs puissent rapidement et facilement construire de nouvelles carreaux, le système de construction doit comprendre les carreaux qui sont connectés les uns aux autres et où de nouvelles carreaux peuvent être placés sur la grille.

Les carreaux utilisent 3 composants : la ressource visuelle qui est utilisée comme l'objet de carrelage, les informations sur l'espace que la carrelage occupe en référence à d'autres objets du monde et les points de connexion d'un carrelage qui permet à des carreaux supplémentaires de se connecter aux bords disponibles.

Ressource

Une ressource est un BasePart ( Part , MeshPart , etc.) placé dans 1> ReplicatedStorage/BuildingSystem/Assets1> représentant à quoi ressemble la case dans le monde du jeu. Ce 4> Class.BasePart4> doit avoir deux enfants :

  • Type d'objet — A StringValue avec un Value de nom du type de carrelage.
  • Rotation de démarrage — A NumberValue avec une rotation de démarrage de la pavélorsqu'un utilisateur la place dans le monde.

Occupation

Assurer qu'une tuile occupe le bon emplacement dans un système de grille est important et peut être fait à l'aide d'un masque de bit. Un masque de bit représente l'espace physique que la zone de type de carrelage prend dans une section de base de l'espace du monde, ou de la cellule. Chaque objet de carrelage/tuile peut occuper n'

Index des bitsSignification
0Visage inférieur de la cellule
1Visage supérieur de la cellule
2Visage de droite de la cellule
3Visage arrière de la cellule
4Visage de gauche de la cellule
5Visage de devant 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 carreaux doivent se connecter les uns aux autres pour créer une structure. Vous pouvez utiliser un masque de bit qui représente le type de cellule que les carreaux touchent. Un élément de construction de carrelage/objet's connectivité est représenté par une série de points de connexion, de bits, sur la surface d'une cellule. Ils s'organisent de la façon suivante sur les visages de la cellule :

Octant Cube Diagram

Un objet de système de construction est considéré comme connecté à un autre objet de système de construction dans la grille s'ils partagent au moins 2 points de connectivité sur la surface d'une cellule.

Créer de nouveaux types de carreaux

Pour créer un nouveau taperde carrelage :

  1. Placez la ressource dans ReplicatedStorage/BuildingSystem/Assets . N'oubliez pas que cela doit contenir ObjectType et StartingRotation enfants comme défini ci-dessus.

    Battle Royale Weapon Example
  2. Définissez le Occupation et Connectivité pour votre nouveau type de carrelage dans ReplicatedStorage/BuildingSystem/Libraries/Grid/ObjectTypeConfigurations :

    Battle Royale Weapon Example

Par exemple, le type de carrelage Mur est expressé comme suivant :


ObjectTypeConfigurations.Wall = {
ASSET_OFFSET_FROM_CENTER = Vector3.new(0, 0, -CELL_DIMENSIONS.Z / 2),
CONNECTIVITY = 0xFF8000, -- 0 b 111 111 111 000 000 000 000 000
OCCUPANCY = 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 qui s'aligne parfaitement avec le système de construction, nous recommandons d'utiliser le système d'importation de hauteur comme décrit dans terrain environnemental et d'observer les détails suivants :

  • Le terrain dans Roblox est représenté par un tableau de voxels trois dimensionnés, chacun desquels occupe un cube de 4 × 4 × 4 dans le monde. En raison de cela, Roblox Battle Royale utilise une taille de grille de 20 × 16 × 20, avec des carreaux de mur qui sont 20 × 16 × 1 carreaux et des carreaux de sol/plafond qui sont 2

  • Chaque pixel dans votre image de carte de hauteur doit représenter un voxel de terrain dans l' X/Z plane, so a 5×5 area in pixels représente un nombre de cellules de grille de système de construction qui couvre une zone 20×20 stud.

  • Dans votre image de carte de hauteur, assurez-vous que la valeur du canal rouge ou gris pour chaque pixel est divisible par la hauteur de votre cellule de grille de système de construction afin que les carreaux de sol s'assient correctement au-dessus du terrain.

  • Lors de l'importation de votre carte de hauteur, configurer:


    Position (X, Y, Z) = 0, 0, 0
    Size (X, Y, Z) = heightmap_width × 4, 256, heightmap_length × 4