Roblox Battle Royale presenta un sistema di costruzione che consente agli utenti di costruire le proprie strutture per raggiungere un angolo di spara migliore, o fornire copertura durante la battaglia. Utilizzando un menu, l'utente può selezionare da un insieme di diversi tipi di piastrelle e posizionarli nel Mondo.
Per mantenere un sistema ordinato e strutturato:
- Ogni singolo modulo deve connettersi a un altro modulo esistente o al terreno.
- Posiziona tutti i blocchi di costruzione all'interno di una griglia coordinata con il mondo di gioco in modo che i blocchi si connettano correttamente e non si sovrappongano.
Composizione della tua piattaforma
Per consentire agli utenti di costruire nuove piastrelle rapidamente e facilmente, il sistema di costruzione deve capire quali piastrelle sono connesse tra loro e dove possono essere posizionate sul grado.
I riquadri utilizzano 3 componenti: il visual asset che viene utilizzato come oggetto di piattaforma, informazioni sullo spazio che la piattaforma occupa in riferimento ad altri oggetti mondiali e i punti di connessione di una piattaforma che consentono aggiuntive piattaforme di connessione alle dimensioni disponibili.
Attività
Un risorsa è un BasePart ( Part , MeshPart , ecc.) posto in 1> ReplicatedStorage/BuildingSystem/Assets1> rappresentante di ciò che il riquadro sembra nel Mondodi gioco. Questo 4> Class.BasePart4> deve avere due figli:
- StartRotation — A NumberValue con un Value della rotazione di partenza quando un Piastrellalo mette nel Mondo.
Occupazione
Assicurarsi che un riquadro occupi la posizione corretta in un sistema di griglia è importante e può essere fatto usando una maschera bit. Una maschera bit rappresenta lo spazio fisico che il tipo di riquadro occupa all'interno di una sezione di base dello Spaziodel mondo, o cell. Ogni oggetto/tile di costruzione può occupare
Indice dei bit | Significato |
---|---|
0 | Faccia inferiore della cellula |
1 | Top faccia della cellula |
2 | Faccia destra della cellula |
3 | Dormitorio |
4 | Faccia sinistra della cellula |
5 | Faccia anteriore della cellula |
6 | +X, –Y, +Z ottanta di cellule con origine al centro della cellule |
7 | +X, +Y, +Z ottanta di cellule con origine al centro della cellule |
8 | – X, – Y, + Z ottant di cellule con origine al centro della cellule |
9 | – X, + Y, + Z ottant di cellule con origine al centro della cellule |
10 | – X, – Y, – Z ottanta di cellule con origine al centro della cellule |
11 | – X, + Y, – Z ottanta di cellule con origine al centro della cellule |
12 | +X, –Y, –Z ottanta di cellule con origine al centro della cellule |
13 | +X, +Y, –Z ottanta di cellule con origine al centro della cellule |
Connessione
I riquadri devono connettersi tra loro per creare una struttura. Puoi utilizzare una maschera bit che rappresenta le parti delle facce/corna del riquadro. La connessione di un riquadro di tipo di pixel/oggetto viene rappresentata da una serie di punti di connessione, bit, sulla superficie di una cellula. Si organizza in modo seguente sulle facce della cellula:
Un oggetto del sistema di costruzione è considerato connesso a un altro oggetto del sistema di costruzione se condivide almeno 2 punti di connessione sulla superficie di una cella.
Creazione di nuovi tipi di piastrelle
Per creare un nuovo inserisci / scrividi pixel:
Posiziona la risorsa in ReplicatedStorage/BuildingSystem/Assets . Ricorda che deve contenere ObjectType e StartingRotation figli come definiti sopra.
Definire il Occupazione e Connessione per il tuo nuovo tipo di piattaforma in ReplicatedStorage/BuildingSystem/Libraries/Grid/ObjectTypeConfigurations :
Ad esempio, il tipo di muro viene espresso come segue:
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}
Lavorare con il terreno
Se vuoi creare una mappa con terreno libero che si allinei perfettamente con il sistema di costruzione, ti consigliamo di utilizzare il sistema di importazione altezza come descritti in terreno ambientale e di osservare i seguenti dettagli:
Il terreno in Roblox è rappresentato da un'arrampicata di tre dimensioni di voxel, ognuno dei quali occupa un cube di 4×4×4 studs nel Mondo. A causa di questo, Roblox Battle Royale usa una dimensione della griglia di 20×16×20 studs, con le piastrelle da parete che sono 20×16×1 studs e le piastrelle da soffitto
Ogni pixel nella tua immagine di altezza dovrebbe rappresentare un voxel di terreno nella X/Z plane, quindi un'area di 5×5 in pixel rappresenta una griglia di sistema di costruzione che occupa un'area di 20×20 stud.
Nella tua mappa di altezza, assicurati che il valore del canale rosso o grigio per ciascun pixel sia diviso dalla hauteur della tua griglia di sistema di costruzione in modo che le piastrelle del pavimento siedano bene sopra il terreno.
Quando importi la tua mappa di altezza, Impostare:
Position (X, Y, Z) = 0, 0, 0Size (X, Y, Z) = heightmap_width × 4, 256, heightmap_length × 4