ระบบการสร้าง

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

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

Building Example

เพื่อรักษาระบบที่เป็นระเบียบและมีโครงสร้าง:

  • แต่ละแผ่นต้องเชื่อมต่อกับแผ่นอื่นที่มีอยู่แล้วหรือกับพื้นดิน
  • วางกระเบื้องทั้งหมดภายในกริดที่สอดคล้องกับโลกเกมเพื่อให้กระเบื้องเชื่อมต่อกันอย่างถูกต้องและไม่ซ้อนทับกัน

การจัดทำแผ่นกระเบื้อง

เพื่อให้ผู้ใช้สร้างแผ่นกระเบื้องใหม่ได้อย่างรวดเร็วและง่ายดาย ระบบการสร้างต้องเข้าใจว่าแผ่นกระเบื้องใดที่เชื่อมต่อกันและสามารถวางแผ่นกระเบื้องใหม่ได้ที่ไหนบนกริด

กระเบื้องใช้ 3 ส่วนประกอบ: รายการภาพ ที่ใช้เป็นวัตถุกระเบื้อง ที่ใช้เป็นพื้นที่ข้อมูลเกี่ยวกับพื้นที่ที่กระเบื้องใช้ ในการอ้างอิงถึงวัตถุโลกอื่น ๆ และจุดเชื่อมต่อของกระเบื้องซึ่งอนุญาตให้กระเบื้องเพิ่มเติมเชื่อมต่อกับขอบที่มีอยู่ได้ และจุดเชื่อมต่อของกระเบื้องซึ่งอนุญาตให้กระเบื้องเพิ่มเติมเชื่อมต่อกับขอบที่มีอยู่

สินทรัพย์

สินทรัพย์คือ BasePart ( Part , MeshPart , ฯลฯ) ที่วางใน ReplicatedStorage/BuildingSystem/Assets แทนที่สิ่งที่กระเบื้องดูเหมือนในโลกเกมนี้ BasePart จะต้องมีลูกสองคน:

  • ประเภทวัตถุ — A StringValue ที่มีชื่อประเภทกระเบื้อง Value
  • เริ่มการหมุน — 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 แปดเหลี่ยมของเซลล์ที่มีต้นกำเนิดอยู่ในศูนย์กลางของเซลล์

การเชื่อมต่อ

กระเบื้องต้องเชื่อมต่อกันเพื่อสร้างโครงสร้างคุณสามารถใช้บิตมาสก์ซึ่งแทนที่สิ่งที่ส่วนของใบหน้า/ขอบของเซลล์ที่ประเภทกระเบื้องสัมผัสการเชื่อมต่อของระบบสร้างแผ่น/วัตถุมีลักษณะเป็นชุดจุดเชื่อมต่อ บิต บนพื้นผิวของเซลล์พวกเขาจัดเรียงในวิธีต่อไปนี้บนใบหน้าของเซลล์:

Octant Cube Diagram

วัตถุระบบการสร้างอาคารถือว่าเชื่อมต่อกับวัตถุระบบการสร้างอาคารอื่นในกริดถ้าพวกเขาแบ่งปันอย่างน้อย 2 จุดเชื่อมต่อบนพื้นผิวของเซลล์

สร้างประเภทกระเบื้องใหม่

พิมพ์:

  1. วางสินทรัพย์ใน ReplicatedStorage/BuildingSystem/Assets . จำไว้ว่าต้องมีเด็ก ObjectType และ StartingRotation ตามที่กำหนดไว้ข้างต้น

    Battle Royale Weapon Example
  2. กำหนด การใช้งาน และ การเชื่อมต่อ สำหรับประเภทกระเบื้องใหม่ของคุณใน ReplicatedStorage/BuildingSystem/Libraries/Grid/ObjectTypeConfigurations

    Battle Royale Weapon Example

ตัวอย่างเช่น ประเภทกระเบื้องผนัง 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 000
OCCUPANCY = 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, 0
    Size (X, Y, Z) = heightmap_width × 4, 256, heightmap_length × 4