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.
Objek | Deskripsi |
---|---|
Part | Suku primitif bagian yang dapat mengambil bentuk blok, bola, silinder, cekungan, atau cekungan sudut. |
MeshPart | Sebuah mesh 导入 dari perangkat lunak pemodelan 3D seperti Maya atau Blender. |
TrussPart | Sebuah 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:
- Ruang kerja - Workspace menyimpan semua objek yang ditampilkan di dunia 3D.
- Lingkungan - Kontainer seperti Lighting dan SoundService yang berisi objek untuk pengaturan dan elemen lingkungan.
- Replikasi - Kontainer untuk konten dan logika yang dipindahkan antara server dan klien, seperti ReplicatedStorage dan ReplicatedFirst .
- Server - Kontainer untuk konten dan logika sisi server saja, seperti ServerScriptService dan ServerStorage.
- Obrolan - Kontainer untuk objek yang mengaktifkan fitur obrolan, seperti VoiceChatService dan TextChatService .
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 data | Model data waktu nyata | Catatan |
---|---|---|
StarterPack | Pemain.Backpack | Skrip yang mengatur inventaris pemain dan umumnya berisi Tool objek tetapi sering juga berisi skrip lokal. |
StarterGui | Pemain.PlayerGui | Skrip yang dapat mengelola GUI lokal pemain.Ketika pemain muncul kembali, konten PlayerGui dihapus.Server menyalin objek di dalam StarterGui ke PlayerGui. |
StarterPlayerScripts | Skrip Pemain.Player | Skrip 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. |
StarterCharacterScripts | Pemain.Karakter | Skrip yang disalin ke klien saat mereka muncul. Skrip ini tidak bertahan ketika pemain bereinkarnasi. |
ReplicatedFirst | Konten 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.

