Bausystem

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Roblox Battle Royale verfügt über ein Bausystem, das es den Benutzern ermöglicht, eigene Strukturen zu bauen, um erhöhte Positionen für einen besseren Schusswinkel zu erreichen oder während des Kampfes Deckung zu bieten. Über ein Menü kann der Benutzer aus verschiedenen Fliesenarten auswählen und diese in der Welt platzieren.

Baubeispiel

Um ein ordentliches und strukturiertes System aufrechtzuerhalten:

  • Jede Fliese muss mit einer anderen bestehenden Fliese oder mit dem Boden verbunden sein.
  • Platzieren Sie alle Baufliesen innerhalb eines Rasters, das mit der 3D-Welt koordiniert ist, damit die Fliesen richtig verbunden sind und sich nicht überlappen.

Fliesenkomposition

Damit Benutzer neue Fliesen schnell und einfach erstellen können, muss das Bausystem verstehen, welche Fliesen miteinander verbunden sind und wo neue Fliesen im Raster platziert werden können.

Fliesen verwenden 3 Komponenten: das visuelle Asset, das als Fliesenobjekt verwendet wird, Informationen über den Raum, den die Fliese einnimmt im Verhältnis zu anderen Weltobjekten, und die Verbindungspunkte einer Fliese, die es ermöglichen, zusätzliche Fliesen mit den verfügbaren Kanten zu verbinden.

Asset

Ein Asset ist ein BasePart (Part, MeshPart usw.), das in ReplicatedStorage/BuildingSystem/Assets platziert wird und darstellt, wie die Fliese in der 3D-Welt aussieht. Dieses BasePart muss zwei Kinder haben:

  • ObjectType — Ein StringValue mit einem Value des Flisentypnamens.
  • StartingRotation — Ein NumberValue mit einem Value der Anfangsrotation der Fliese, wenn ein Benutzer sie in der Welt platziert.

Belegung

Die Sicherstellung, dass eine Fliese den richtigen Standort in einem Rastersystem einnimmt, ist wichtig und kann mit einer Bitmaske erreicht werden. Eine Bitmaske repräsentiert den physischen Raum, den der Flisentyp innerhalb eines grundlegenden Abschnitts des Weltraums oder Zelle einnimmt. Jede Fliese/Objekt im Bausystem kann beliebige Anzahl von Flächen einer Rasterzelle (vorne, links, hinten, rechts, oben und unten) und beliebige Anzahl von Oktanten in einer Rasterzelle einnehmen. Ein Benutzer kann ein Bausystemobjekt nur in eine Zelle platzieren, wenn alle Flächen und Oktanten, die das Objekt einnimmt, in dieser Zelle verfügbar sind. Die Belegung für ein Bausystemobjekt ist wie folgt definiert:

Bit-IndexBedeutung
0Unterfläche der Zelle
1Oberfläche der Zelle
2Rechte Fläche der Zelle
3Rückfläche der Zelle
4Linke Fläche der Zelle
5Vorderfläche der Zelle
6+X, –Y, +Z Oktant der Zelle mit Ursprung im Zentrum der Zelle
7+X, +Y, +Z Oktant der Zelle mit Ursprung im Zentrum der Zelle
8–X, –Y, +Z Oktant der Zelle mit Ursprung im Zentrum der Zelle
9–X, +Y, +Z Oktant der Zelle mit Ursprung im Zentrum der Zelle
10–X, –Y, –Z Oktant der Zelle mit Ursprung im Zentrum der Zelle
11–X, +Y, –Z Oktant der Zelle mit Ursprung im Zentrum der Zelle
12+X, –Y, –Z Oktant der Zelle mit Ursprung im Zentrum der Zelle
13+X, +Y, –Z Oktant der Zelle mit Ursprung im Zentrum der Zelle

Konnektivität

Fliesen müssen miteinander verbunden sein, um eine Struktur zu schaffen. Sie können eine Bitmaske verwenden, die darstellt, welche Teile der Flächen/Kanten der Zelle der Flisentyp berührt. Die Konnektivität eines Bausystemobjekts wird durch eine Reihe von Verbindungspunkten, Bits, auf der Oberfläche einer Zelle dargestellt. Sie sind auf folgende Weise auf den Flächen der Zelle angeordnet:

Oktant-Würfel-Diagramm

Ein Bausystemobjekt wird als mit einem anderen Bausystemobjekt im Raster verbunden betrachtet, wenn sie mindestens 2 Verbindungspunkte auf der Oberfläche einer Zelle teilen.

Neue Flisentypen erstellen

Um einen neuen Flisentyp zu erstellen:

  1. Platzieren Sie das Asset in ReplicatedStorage/BuildingSystem/Assets. Denken Sie daran, dass es die Kinder ObjectType und StartingRotation wie oben beschrieben enthalten muss.

    Battle Royale Waffelbeispiel
  2. Definieren Sie die Belegung und Konnektivität für Ihren neuen Flisentyp in ReplicatedStorage/BuildingSystem/Libraries/Grid/ObjectTypeConfigurations:

    Battle Royale Waffelbeispiel

Zum Beispiel wird der Flisentyp Wand wie folgt ausgedrückt:


ObjectTypeConfigurations.Wall = {
ASSET_OFFSET_FROM_CENTER = Vector3.new(0, 0, -CELL_DIMENSIONS.Z / 2),
CONNECTIVITY = 0xFF8000, -- 0b 111 111 111 000 000 000 000 000
OCCUPANCY = 0x20, -- 0b 00 00 00 00 1 0 0 0 0 0
}

Mit Terrain arbeiten

Wenn Sie eine Karte mit freiformigem Terrain erstellen möchten, das perfekt mit dem Bausystem übereinstimmt, empfehlen wir, das Höhenkarten-Importsystem zu verwenden, wie in Environmental Terrain beschrieben, und folgende Details zu beachten:

  • Terrain in Roblox wird durch ein dreidimensionales Array von Voxeln dargestellt, von denen jeder einen Würfel von 4×4×4 Studs in der Welt einnimmt. Aus diesem Grund verwendet Roblox Battle Royale eine Rasterzellengröße von 20×16×20 Studs, mit Wandfliesen, die 20×16×1 Studs und Boden-/Deckenfliesen, die 20×1×20 Studs groß sind. Dies ermöglicht es, dass Baufliesen und Terrain richtig ausgerichtet sind.

  • Jedes Pixel in Ihrem Höhenkartenbild sollte ein Terrain-Voxel in der X/Z-Ebene darstellen, sodass ein 5×5-Bereich in Pixeln eine Rasterzelle des Bausystems darstellt, die ein 20×20-Stud-Bereich einnimmt.

  • Stellen Sie in Ihrem Höhenkartenbild sicher, dass der Wert für den Rotkanal oder Graukanal jedes Pixels durch die Höhe Ihrer Rasterzelle des Bausystems teilbar ist, damit die Bodenfliesen schön auf dem Terrain sitzen.

  • Wenn Sie Ihre Höhenkarte importieren, setzen Sie:


    Position (X, Y, Z) = 0, 0, 0
    Size (X, Y, Z) = heightmap_width × 4, 256, heightmap_length × 4
©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.