Roblox Battle Royale มีระบบการสร้างอาคารที่ช่วยให้ผู้ใช้สร้างโครงสร้างของตนเองเพื่อเข้าถึงพื้นที่สูงขึ้นเพื่อการยิงที่ดีกว่าหรือเพื่อให้ความคุ้มครองในระหว่างการต่อสู้โดยใช้เมนูผู้ใช้สามารถเลือกจากจํานวนประเภทกระเบื้องที่แตกต่างกันและวางไว้ในโลก

เพื่อรักษาระบบที่เป็นระเบียบและมีโครงสร้าง:
- แต่ละแผ่นต้องเชื่อมต่อกับแผ่นอื่นที่มีอยู่แล้วหรือกับพื้นดิน
- วางกระเบื้องทั้งหมดภายในกริดที่สอดคล้องกับโลกเกมเพื่อให้กระเบื้องเชื่อมต่อกันอย่างถูกต้องและไม่ซ้อนทับกัน
การจัดทำแผ่นกระเบื้อง
เพื่อให้ผู้ใช้สร้างแผ่นกระเบื้องใหม่ได้อย่างรวดเร็วและง่ายดาย ระบบการสร้างต้องเข้าใจว่าแผ่นกระเบื้องใดที่เชื่อมต่อกันและสามารถวางแผ่นกระเบื้องใหม่ได้ที่ไหนบนกริด
กระเบื้องใช้ 3 ส่วนประกอบ: รายการภาพ ที่ใช้เป็นวัตถุกระเบื้อง ที่ใช้เป็นพื้นที่ข้อมูลเกี่ยวกับพื้นที่ที่กระเบื้องใช้ ในการอ้างอิงถึงวัตถุโลกอื่น ๆ และจุดเชื่อมต่อของกระเบื้องซึ่งอนุญาตให้กระเบื้องเพิ่มเติมเชื่อมต่อกับขอบที่มีอยู่ได้ และจุดเชื่อมต่อของกระเบื้องซึ่งอนุญาตให้กระเบื้องเพิ่มเติมเชื่อมต่อกับขอบที่มีอยู่
สินทรัพย์
สินทรัพย์คือ BasePart ( Part , MeshPart , ฯลฯ) ที่วางใน ReplicatedStorage/BuildingSystem/Assets แทนที่สิ่งที่กระเบื้องดูเหมือนในโลกเกมนี้ BasePart จะต้องมีลูกสองคน:
- เริ่มการหมุน — A ด้วยการหมุนเริ่มต้นของกระเบื้องเมื่อผู้ใช้วางไว้ในโลก
การใช้งาน
การให้แน่ใจว่ากระเบื้องอยู่ในตำแหน่งที่ถูกต้องในระบบกริดเป็นสิ่งสำคัญและสามารถทำได้โดยใช้บิตมาสก์บิตมาสก์แทนที่พื้นที่กายภาพที่ประเภทกระเบื้องใช้ภายในส่วนพื้นฐานของพื้นที่โลกหรือเซลล์แต่ละแผ่นระบบสร้าง/วัตถุสามารถใช้พื้นที่ใดก็ได้จากหน้าต่างของเซลล์กริด (ด้านหน้า ด้านซ้าย ย้อนกลับด้านขวา ด้านบน และด้านล่าง) และจํานวนแปดเหลี่ยมในเซลล์กริดใดก็ได้ผู้ใช้สามารถวางวัตถุระบบการสร้างในเซลล์ได้เฉพาะถ้าใบหน้าและอคติทั้งหมดที่วัตถุใช้อยู่มีอยู่ในเซลล์นั้นอัตราการใช้สำหรับวัตถุระบบอาคารจะถูกกำหนดไว้ดังนี้:
ดัชนีบิต | ความหมาย |
---|---|
0 | ด้านล่างของเซลล์ |
1 | หน้าด้านบนของเซลล์ |
2 | ด้านขวาของเซลล์ |
3 | ด้านหลังของเซลล์ |
4 | หน้าด้านซ้ายของเซลล์ |
5 | หน้าด้านหน้าของเซลล์ |
6 | +X, –Y, +Z แปดเหลี่ยมของเซลล์ที่มีต้นกำเนิดอยู่ในศูนย์กลางของเซลล์ |
7 | +X, +Y, +Z แปดเหลี่ยมของเซลล์ที่มีต้นกำเนิดอยู่ในศูนย์กลางของเซลล์ |
8 | –X, –Y, +Z แปดเหลี่ยมของเซลล์ที่มีต้นกำเนิดอยู่ในศูนย์กลางของเซลล์ |
9 | –X, +Y, +Z แปดเหลี่ยมของเซลล์ที่มีต้นกำเนิดอยู่ในศูนย์กลางของเซลล์ |
10 | –X, –Y, –Z แปดเหลี่ยมของเซลล์ที่มีต้นกำเนิดอยู่ในศูนย์กลางของเซลล์ |
11 | –X, +Y, –Z แปดเหลี่ยมของเซลล์ที่มีต้นกำเนิดอยู่ในศูนย์กลางของเซลล์ |
12 | +X, –Y, –Z แปดเหลี่ยมของเซลล์ที่มีต้นกำเนิดอยู่ในศูนย์กลางของเซลล์ |
13 | +X, +Y, –Z แปดเหลี่ยมของเซลล์ที่มีต้นกำเนิดอยู่ในศูนย์กลางของเซลล์ |
การเชื่อมต่อ
กระเบื้องต้องเชื่อมต่อกันเพื่อสร้างโครงสร้างคุณสามารถใช้บิตมาสก์ซึ่งแทนที่สิ่งที่ส่วนของใบหน้า/ขอบของเซลล์ที่ประเภทกระเบื้องสัมผัสการเชื่อมต่อของระบบสร้างแผ่น/วัตถุมีลักษณะเป็นชุดจุดเชื่อมต่อ บิต บนพื้นผิวของเซลล์พวกเขาจัดเรียงในวิธีต่อไปนี้บนใบหน้าของเซลล์:

วัตถุระบบการสร้างอาคารถือว่าเชื่อมต่อกับวัตถุระบบการสร้างอาคารอื่นในกริดถ้าพวกเขาแบ่งปันอย่างน้อย 2 จุดเชื่อมต่อบนพื้นผิวของเซลล์
สร้างประเภทกระเบื้องใหม่
พิมพ์:
วางสินทรัพย์ใน ReplicatedStorage/BuildingSystem/Assets . จำไว้ว่าต้องมีเด็ก ObjectType และ StartingRotation ตามที่กำหนดไว้ข้างต้น
กำหนด การใช้งาน และ การเชื่อมต่อ สำหรับประเภทกระเบื้องใหม่ของคุณใน ReplicatedStorage/BuildingSystem/Libraries/Grid/ObjectTypeConfigurations
ตัวอย่างเช่น ประเภทกระเบื้องผนัง Wall จะถูกแสดงดังนี้:
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}
ทำงานกับพื้นที่
หากคุณต้องการสร้างแผนที่ด้วยพื้นที่ว่างเปล่า ที่สอดคล้องกับระบบการสร้างอาคารอย่างสมบูรณ์ เราขอแนะนำให้คุณใช้ระบบ นำเข้าแผนที่ความสูง ตามที่อธิบายไว้ใน พื้นที่สภาพแวดล้อม และคุณควรสังเกตรายละเอียดต่อไปนี้:
พื้นที่ใน Roblox ถูกแทนที่ด้วยเมทริกซ์สามมิติของโวเซลแต่ละอันซึ่งแต่ละอันมีขนาด 4×4×4 สตัดในโลกเนื่องจากเหตุนี้ Roblox Battle Royale จึงใช้ขนาดเซลล์กริด 20×16×20 สตัด พร้อมกับกระเบื้องผนังที่มีขนาด 20×16×1 และกระเบื้องพื้น/เพดานที่มีขนาด 20×1×20 สตัดสิ่งนี้ช่วยให้สร้างกระเบื้องและพื้นที่ได้อย่างถูกต้อง
แต่ละพิกเซลในภาพแผนที่ความสูงควรแทนที่หนึ่ง voxelภูมิประเทศในแผนเครื่องบิน X/Z ดังนั้นพื้นที่ 5×5 ในพิกเซลจึงแทนที่เซลระบบสร้างอาคารที่มีขนาด 20×20 สตัด
ในภาพแผนที่ความสูงของคุณ ตรวจสอบให้แน่ใจว่าช่องสีแดงหรือช่องสีเทามีค่าสำหรับแต่ละพิกเซลที่สามารถแบ่งได้โดยความสูงของเซลล์กริดระบบสร้างของคุณเพื่อให้กระเบื้องพื้นวางบนพื้นได้อย่างสวยงาม
เมื่อคุณนำเข้าแผนที่ความสูงของคุณ ตั้งค่า:
Position (X, Y, Z) = 0, 0, 0Size (X, Y, Z) = heightmap_width × 4, 256, heightmap_length × 4