Model data

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

Setiap tempat diwakili oleh model data, hierarki objek yang menggambarkan segala sesuatu tentang tempat.Model data berisi semua objek yang membentuk dunia 3D, seperti bagian, medan, pencahayaan, dan elemen lingkungan lainnya.Ini juga berisi objek yang dapat mengontrol perilaku runtime, seperti skrip yang mengubah properti, memanggil metode dan fungsi, dan menanggapi peristiwa yang memungkinkan perilaku dinamis dan interaktivitas.

Mesin Roblox menggunakan model data sebagai sumber kebenaran untuk status tempat, sehingga dapat menyimulasikan dan menampilkannya di perangkat klien.Untuk informasi lebih lanjut tentang cara Roblox Engine menafsirkan model data, lihat Waktu Eksekusi Klien-Server.

Objek

Anda menempatkan dan mengatur objek di model data untuk menggambarkan tempat di Roblox.Setiap objek di Roblox mewarisi dari kelas Instance , yang mendefinisikan properti, metode, dan peristiwa umum yang ada di semua objek.Objek juga mendefinisikan karakteristik mereka sendiri tergantung pada fungsionalitas yang disediakan objek.Ada banyak kategori objek dengan berbagai penggunaan, tetapi Anda sering bekerja dengan BasePart dan LuaSourceContainer objek, yang biasanya disebut sebagai bagian dan skrip.

Untuk daftar lengkap semua fitur dari Roblox Engine, lihat dokumentasi referensi referensi.

Blok bangunan 3D

BasePart adalah kelas utama untuk blok bangunan 3D fisik yang disimulasikan di dunia.Ini mendefinisikan properti dan metode umum untuk semua objek fisik dengan properti seperti posisi, ukuran, dan orientasi.

ObjekDeskripsi
PartSuku primitif bagian yang dapat mengambil bentuk blok, bola, silinder, cekungan, atau cekungan sudut.
MeshPartSebuah mesh 导入 dari perangkat lunak pemodelan 3D seperti Maya atau Blender.
TrussPartSebuah balok rangka yang karakter dapat panjat seperti tangga.

Meskipun secara teoritis Anda dapat membuat pengalaman Roblox yang sepenuhnya berfungsi menggunakan hanya bagian sederhana, Anda kemungkinan besar akan mengimpor meshes dan menggabungkan bagian-bagian primitif menjadi objek dan struktur yang lebih kompleks melalui pemodelan solid.

Skrip

Anda dapat menambahkan interaktivitas dan perilaku ke dunia 3D tempat Anda dan mendefinisikan logika dengan skrip.Anda menulis skrip dalam bahasa pemrograman Luau untuk melakukan hal-hal seperti memindahkan bagian, memanggil skrip lain, dan menanggapi peristiwa.Karena Roblox bekerja dalam model klien-server, Anda dapat menjalankan skrip di server, klien, atau membiarkannya berkomunikasi melintasi batas jaringan.

  • Sebuah objek Script mewakili skrip yang hanya dapat dijalankan di server.
  • Sebuah objek LocalScript mewakili skrip yang hanya dapat dijalankan di klien.
  • Sebuah objek ModuleScript mewakili skrip yang dapat digunakan ulang yang dapat Anda require() dari kedua skrip server dan klien.

Untuk skrip agar berperilaku dengan benar, Anda harus menempatkannya di kontainer yang benar dalam model data.Untuk informasi lebih lanjut, lihat bagian Server dan Klien.

Organisasi objek

Sementara Anda memiliki banyak fleksibilitas dalam cara Anda mengatur model data Anda, Roblox Engine mengharapkan objek tertentu berada di layanan wadah tertentu yang merupakan objek yang memiliki perilaku tertentu dan dapat mempengaruhi perilaku objek yang mereka berisi .Kategori utama layanan kontainer termasuk:

Selain itu, Anda dapat lebih lanjut mengatur objek Anda dengan objek berikut:

  • Folder - A Folder adalah untuk tujuan organisasi dan tidak mendefinisikan perilaku apa pun.Sebagai contoh, Anda dapat menggunakan folder untuk menggrup objek serupa seperti serangkaian skrip di penyimpanan server.
  • Model - A Model terutama dimaksudkan untuk kelompok geometris bagian, seperti menggrupkan bersama set meja yang memiliki kursi, meja, dan lampu.Untuk mengatur set yang lebih kompleks, Anda bahkan dapat menyusun model dalam model.

Ruang kerja

Workspace berisi semua objek yang membentuk dunia 3D tempat.Anda dapat menambahkan objek ke ruang kerja untuk menyesuaikan dunia 3D Anda, seperti bagian dasar, bagian meshes, dan model.Klien menampilkan semua yang muncul di kontainer ini dan tidak ada apa pun di luar itu, sehingga Anda dapat mengontrol apa yang dilihat dan berinteraksi dengan pengguna di tempat Anda.Meskipun tidak benar-benar disajikan, Anda juga dapat menambahkan skrip yang terkait dengan bagian dan model yang mereka terkait dengan.Secara default, ruang kerja diisi sebelumnya dengan objek Terrain dan Camera.

Kameranya

Camera menentukan bagaimana klien melihat dunia 3D.Secara default, ada satu kamera di ruang kerja, tetapi Anda dapat menambahkan beberapa objek kamera untuk membuat perspektif dan pandangan yang berbeda.Setiap klien mengambil pengaturan ini dan membuat pandangan kamera sendiri yang tidak dapat diubah langsung oleh server.

Sebagai contoh, Anda dapat menyetel kamera untuk mengikuti gerakan pengguna atau tetap tetap di lokasi tertentu.Anda juga dapat menyesuaikan bidang pandang, jarak, dan sudut untuk membuat efek visual berbeda tentang bagaimana pengguna melihat dunia 3D Anda.

Untuk informasi lebih lanjut, lihat Sesuaikan kamera.

Tanah

Terrain memungkinkan Anda untuk membuat lanskap untuk tempat Anda.Anda dapat menerapkan material ke medan untuk menyimulasikan lingkungan alami yang diinginkan, seperti rumput, air, pasir, atau bahan khusus.Meskipun Anda hanya dapat memiliki satu objek medan untuk dunia 3D Anda dan menerapkan satu bahan ke medan itu, Anda dapat menggunakan Editor Medan untuk mengedit wilayah medan Anda.

Untuk informasi lebih lanjut, lihat Medan lingkungan.

Lingkungan

Efek pencahayaan dan suara dapat membuat dunia 3D Anda lebih imersif dan realistis.Meskipun tidak perlu menambahkan efek ini ke tempat Anda, mereka dapat membuatnya lebih menarik secara visual dan akustik.

Penerangan

Lighting berisi objek yang mengontrol pengaturan pencahayaan global tempat anda, seperti Atmosphere untuk meniru efek atmosfer atau Sky untuk mengubah matahari, bulan, dan bintang di lingkungan anda.

Untuk informasi lebih lanjut, lihat Penerangan.

Suara

SoundService dapat mengontrol volume dan pengaturan pemutaran objek anak Sound untuk musik latar belakang atau efek suara alam.

Untuk informasi lebih lanjut, lihat Suara.

Replikasi

Replikasi adalah proses server menyinkronkan status tempat Anda dengan semua klien yang terhubung.Mesin Roblox cerdas dan otomatis mereplikasi data, fisika, dan pesan obrolan antara server dan klien untuk banyak kasus, tetapi Anda juga dapat menentukan objek tertentu untuk direplikasi dengan menempatkannya di wadah khusus.

Diulang Pertama

ReplicatedFirst berisi objek yang ingin Anda salin ke klien saat bergabung dengan tempat Anda.Biasanya berisi objek yang penting untuk menginisialisasi pemain, seperti objek sisi klien LocalScript dan objek yang terkait dengan skrip.Semua konten di dalam wadah ini di-复制 dari server ke klien hanya sekali.

Penyimpanan Terulang

ReplicatedStorage berisi objek yang tersedia untuk server dan klien yang terhubung.Setiap perubahan yang terjadi pada klien bertahan tetapi tidak akan dipindahkan ke server.Server dapat menulis ulang perubahan pada klien untuk menjaga konsistensi.Wadah ini biasanya digunakan untuk objek ModuleScript yang perlu dibagikan dan diakses oleh kedua objek Script (sisi server) dan LocalScript (sisi klien).Selain itu, Anda dapat menggunakan wadah ini untuk mereplikasi objek apa pun yang tidak perlu ada di dunia 3D sampai diperlukan, seperti ParticleEmitter untuk kloning dan pengasuh untuk semua model karakter yang masuk.

Untuk informasi lebih lanjut tentang cara kerja replikasi, lihat jalan runtime klien-server.

Pelayan

Model data mendefinisikan kontainer khusus hanya untuk objek sisi server yang tidak pernah direplikasi ke klien.Ini memungkinkan server untuk mempengaruhi perilaku dan status klien tanpa mengekspos objek dan logika server ke klien.

Layanan Skrip Server

ServerScriptService berisi Script objek, ModuleScript objek yang diperlukan oleh skrip server, dan objek terkait skrip lain yang hanya dimaksudkan untuk penggunaan server.Jika skrip Anda membutuhkan objek lain, non-skrip, Anda harus menempatkannya di ServerStorage .Skrip di kontainer ini tidak pernah direplikasi ke klien, yang memungkinkan Anda memiliki logika sisi server yang aman.

Penyimpanan Server

ServerStorage berisi objek yang hanya dimaksudkan untuk penggunaan server.Anda dapat menggunakan wadah ini untuk menyimpan objek yang ingin Anda kloning dan orangtua ke ruang kerja atau kontainer lain saat menjalankan.Sebagai contoh, Anda dapat menyimpan objek besar seperti peta di kontainer ini sampai mereka dibutuhkan dan memindahkannya ke ruang kerja hanya ketika diperlukan Ini memungkinkan Anda mengurangi lalu lintas jaringan klien saat bergabung awal.

Pelanggan

Layanan kontainer klien dimaksudkan untuk objek yang direplikasi ke setiap klien yang terhubung.Kategori kontainer ini direplikasi ke setiap klien terhubung dan biasanya berisi objek 3D dan objek terkait LocalScript.Semua objek yang Anda simpan di kontainer ini tidak bertahan selama sesi dan diatur ulang setiap kali klien bergabung kembali.Anda dapat menempatkan objek di kontainer ini seperti antarmuka pengguna pemain, skrip sisi klien, dan objek lain yang hanya relevan dengan klien.

Ketika klien terhubung ke server, layanan kontainer Players mendengarkan penggabungan pengguna ke tempat Anda dan membuat objek Player untuk setiap klien.Server menyalin objek dari kontainer klien dalam model data edit ke lokasi yang sesuai dalam model data runtime di dalam objek Players.Tabel berikut menjelaskan wadah asli tempatnya berada di dalam kontainer dan wadah hasil yang disalin ke klien:

Edit model dataModel data waktu nyataCatatan
StarterPackPemain.BackpackSkrip yang mengatur inventaris pemain dan umumnya berisi Tool objek tetapi sering juga berisi skrip lokal.
StarterGuiPemain.PlayerGuiSkrip yang dapat mengelola GUI lokal pemain.Ketika pemain muncul kembali, konten PlayerGui dihapus.Server menyalin objek di dalam StarterGui ke PlayerGui.
StarterPlayerScriptsSkrip Pemain.PlayerSkrip tujuan umum untuk klien.Sebagai contoh, jika Anda ingin membuat efek khusus pada klien saat kondisi tertentu dipenuhi, Anda dapat menempatkan skrip lokal di kontainer ini untuk melakukan itu.Server tidak dapat mengakses kontainer ini.
StarterCharacterScriptsPemain.KarakterSkrip yang disalin ke klien saat mereka muncul. Skrip ini tidak bertahan ketika pemain bereinkarnasi.
ReplicatedFirstKonten dari wadah ini dipindahkan ke semua klien (tetapi tidak kembali ke server) terlebih dahulu, sebelum hal lain.

chat

Layanan Obrolan Teks

TextChatService mewakili layanan yang menangani berbagai tugas obrolan teks dalam pengalaman, seperti mengelola saluran, menghias pesan, menyaring teks, membuat perintah, dan mengembangkan antarmuka obrolan khusus.

Untuk informasi lebih lanjut, lihat Sistem obrolan teks dalam pengalaman.

Layanan Obrolan Suara

VoiceChatService mewakili fitur obrolan suara berbasis jarak yang meniru komunikasi realistis berdasarkan seberapa dekat Anda dengan pengguna lain.Anda dapat menggunakan layanan ini untuk menyalakan dan mematikan fitur.

Untuk informasi lebih lanjut, lihat Obrolan suara.

Folder dan model

Ada dua metode utama untuk menggrupkan objek dalam model data: folder dan model .Keduanya adalah kontainer untuk objek, tetapi mereka memiliki tujuan yang berbeda.

  • Folder adalah yang terbaik untuk menyimpan bagian dari lingkungan, seperti lobi atau arena pertempuran.
  • Model digunakan untuk serangkaian objek, seperti set meja yang memiliki kursi, meja, dan lampu.Untuk mengatur set yang lebih kompleks, kelompokkan model di dalam model.

Anda harus selalu menamai objek Anda secara deskriptif. Ini memudahkan untuk menemukan dan memodifikasi objek nanti jika diperlukan.

The Explorer window with a demonstration of a folder organization structure.
Objek diatur menjadi Folders
The Explorer window with a demonstration of a model organization structure in several services.

Berbagai model "peta" untuk bertukar antara Workspace dan ServerStorage
>