Sistem membangun

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Roblox Battle Royale memiliki sistem bangunan yang memungkinkan pengguna membangun struktur mereka sendiri untuk mencapai tanah yang lebih tinggi untuk sudut penembakan yang lebih baik, atau untuk memberikan perlindungan selama pertempuran.Menggunakan menu, pengguna dapat memilih dari berbagai jenis ubin dan menempatkannya di dunia.

Building Example

Untuk memelihara sistem yang teratur dan terstruktur:

  • Setiap ubin harus terhubung ke ubin lain yang ada atau ke tanah.
  • Tempatkan semua ubin bangunan dalam grid yang koordinasi dengan dunia permainan sehingga ubin terhubung dengan benar dan tidak tumpang tindih.

Komposisi ubin

Agar pengguna dapat membangun ubin baru dengan cepat dan mudah, sistem bangunan perlu memahami ubin mana yang terhubung satu sama lain dan di mana ubin bar dapat ditempatkan di grid.

Ubin menggunakan 3 komponen: visual aset yang digunakan sebagai objek ubin yang digunakan sebagai objek ubin, informasi tentang ruang yang diisi ubin dalam referensi ke objek dunia lain, dan titik koneksi ubin dari ubin yang memungkinkan ubin tambahan untuk terhubung ke sudut yang tersedia.

Aset

Aset adalah BasePart ( Part , MeshPart , dll.) yang ditempatkan di ReplicatedStorage/BuildingSystem/Assets mewakili seperti apa tampilan ubin di dunia permainan.Ini BasePart harus memiliki dua anak:

  • Jenis Objek — A dengan nama jenis ubin.
  • Memulai Rotasi — A dengan rotasi awal ubin saat pengguna menempatkannya di dunia.

Pendudukan

Memastikan bahwa ubin menduduki lokasi yang benar di sistem grid penting dan dapat dilakukan menggunakan bitmask.Bitmask mewakili ruang fisik yang diambil jenis ubin dalam bagian dasar ruang dunia, atau sel.Setiap ubin sistem bangunan/objek dapat menempati berapa pun jumlah wajah dari sel grid (depan, kiri, kembali, kanan, atas, dan bawah) dan berapa pun jumlah octant di sel grid.Seorang pengguna hanya dapat menempatkan objek sistem bangunan di sel jika semua wajah dan octant yang dimiliki objek tersedia di sel itu.Kapasitas untuk objek sistem bangunan didefinisikan sebagai berikut:

Indeks bitMakna
0Wajah bawah sel
1Wajah teratas sel
2Wajah kanan sel
3Wajah belakang sel
4Wajah kiri sel
5Wajah depan sel
6 +X, –Y, +Z octant sel dengan asal di tengah sel
7 +X, +Y, +Z octant sel dengan asal di tengah sel
8 –X, –Y, +Z octant sel dengan asal di tengah sel
9 –X, +Y, +Z octant sel dengan asal di tengah sel
10 –X, –Y, –Z octant sel dengan asal di tengah sel
11 –X, +Y, –Z octant sel dengan asal di tengah sel
12 +X, –Y, –Z octant sel dengan asal di tengah sel
13 +X, +Y, –Z octant sel dengan asal di tengah sel

Konektivitas

Ubin perlu terhubung ke satu sama lain untuk membuat struktur.Anda dapat menggunakan bitmask yang mewakili bagian mana dari wajah/ujung sel yang disentuh jenis ubin.Konektivitas sistem bangunan/objek terwakili oleh serangkaian titik koneksi, bit, di permukaan sel.Mereka mengatur dalam cara berikut di wajah sel:

Octant Cube Diagram

Objek sistem bangunan dianggap terhubung ke objek sistem bangunan lain di grid jika mereka berbagi setidaknya 2 titik konektivitas di permukaan sel.

Buat jenis ubin baru

Untuk membuat ketikubin baru:

  1. Letakkan aset di ReplicatedStorage/BuildingSystem/Assets . Ingat bahwa itu harus berisi ObjectType dan StartingRotation anak-anak seperti yang didefinisikan di atas.

    Battle Royale Weapon Example
  2. Definisikan Ketersediaan dan Konektivitas untuk jenis ubin baru Anda di ReplicatedStorage/BuildingSystem/Libraries/Grid/ObjectTypeConfigurations

    Battle Royale Weapon Example

Sebagai contoh, jenis ubin dinding Wall diungkapkan sebagai berikut:


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
}

Bekerja dengan medan

Jika Anda ingin membuat peta dengan medan bebas bentuk tanah yang sesuai dengan sistem bangunan, kami sarankan Anda menggunakan sistem 导入高度图 seperti yang dijelaskan dalam Tanah Lingkungan dan mengamati rincian berikut:

  • Tanah di Roblox diwakili oleh array tiga dimensi voksels, masing-masing dari yang menempati kubus 4×4×4 stud di dunia.Karena ini, Roblox Battle Royale menggunakan ukuran sel grid 20×16×20 stud, dengan ubin dinding yang berukuran 20×16×1 stud, dan ubin lantai/langit yang berukuran 20×1×20 stud.Ini memungkinkan membangun ubin dan medan untuk baris dengan benar.

  • Setiap piksel dalam gambar peta ketinggian Anda harus mewakili satu vokel medan di pesawat X/Z , jadi area 5×5 dalam piksel mewakili satu sel jaringan sistem bangunan yang menempati area 20×20 stud.

  • Dalam gambar peta ketinggian Anda, pastikan nilai saluran merah atau saluran abu-abu untuk setiap piksel dapat dibagi dengan ketinggian sel grid sistem bangunan Anda sehingga ubin lantai duduk dengan baik di atas medan.

  • Saat Anda menge导入 peta ketinggian Anda, atur:


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