Ogni luogo è rappresentato da un modello di dati, una gerarchia di oggetti che descrivono tutto sul Posto.Il modello di dati contiene tutti gli oggetti che compongono il Mondo3D, come parti, terreno, illuminazione e altri elementi ambientali.Contiene anche oggetti che possono controllare il comportamento del runtime, come gli script che modificano le proprietà, chiamano metodi e funzioni e rispondono agli eventi che abilitano il comportamento dinamico e l'interattività.
Il motore Roblox utilizza il modello di dati come fonte di verità per lo stato di un Posto, quindi può simularlo e renderlo su dispositivi client.Per maggiori informazioni su come il motore Roblox interpreta il modello di dati, vedi Client-Server Runtime.
Oggetti
Posizioni e organizzi oggetti nel modello di dati per descrivere un luogo in Roblox.Ogni oggetto in Roblox eredita dalla classe Instance, che definisce proprietà, metodi e eventi generici comuni a tutti gli oggetti.Gli oggetti definiscono anche le proprie caratteristiche a seconda della funzionalità fornita dall'oggetto.Ci sono molte categorie di oggetti con una vasta varietà di usi, ma lavorerai spesso con BasePart e LuaSourceContainer oggetti, comunemente chiamati parti e script.
Per una lista completa di tutte le funzionalità del motore Roblox, vedi la documentazione di riferimento.
Blocchi di costruzione 3D
BasePart è la classe principale per i blocchi di costruzione 3D fisicamente simulati nel Mondo.Definisce le proprietà e i metodi comuni a tutti gli oggetti fisici con proprietà come posizione, dimensioni e orientamento.
Oggetto | Descrizione |
---|---|
Part | Una parte primitiva che può assumere la forma di un blocco, una palla, un cilindro, un cuneo o un cuneo d'angolo. |
MeshPart | Una mesh importata da 3D modeling software come Maya o Blender. |
TrussPart | Un fascio di truss che i personaggi possono salire come una scala. |
Mentre teoricamente puoi creare un'esperienza Roblox completamente funzionale utilizzando solo parti semplici, molto probabilmente importerai mesh e combinerai parti primitive in oggetti e strutture più complessi attraverso modellazione solida.
Script
Puoi aggiungere interattività e comportamento al mondo 3D del tuo Postoe definire la logica con gli script.Scrivi script nel linguaggio di programmazione Luau per fare cose come parti in movimento, chiamare altri script e rispondere agli eventi.Poiché Roblox funziona in un modello client-server, puoi eseguire script sul Server, sul client o farli comunicare attraverso il confine della rete.
- Un oggetto Script rappresenta uno script che può essere eseguito solo sul Server.
- Un oggetto LocalScript rappresenta uno script che può essere eseguito solo sul client.
- Un oggetto ModuleScript rappresenta uno script riutilizzabile che puoi require() da entrambi gli script del server e del client.
Perché gli script si comportino correttamente, devi posizionarli nei contenitori corretti nel modello di dati.Per ulteriori informazioni, vedi le sezioni Server e Client.
Organizzazione oggetto
Mentre hai molta flessibilità nel modo in cui organizzi il tuo modello di dati, il motore Roblox si aspetta che alcuni oggetti siano in alcuni servizi contenitori che sono oggetti che hanno comportamenti specifici e possono influenzare i comportamenti degli oggetti che contengono.Le principali categorie di servizi container includono:
- Spazio di lavoro - Workspace memorizza tutti gli oggetti che rendono nel Mondo3D.
- Ambiente - Container come Lighting e SoundService che contengono oggetti per le impostazioni e gli elementi ambientali.
- Replicazione - Container per contenuto e logica che si replica tra il server e il client, come ReplicatedStorage e ReplicatedFirst.
- Server - Container per contenuto e logica solo lato server, come ServerScriptService e ServerStorage.
- Chat - Container per oggetti che abilitano le funzionalità di chat, come VoiceChatService e TextChatService .
Inoltre, puoi organizzare ulteriormente i tuoi oggetti con i seguenti oggetti:
- Cartelle - A Folder è per scopi organizzativi e non definisce alcun comportamento.Ad esempio, puoi utilizzare le cartelle per raggruppare oggetti simili come un insieme di script nell'archiviazione del server.
- Modelli - A Model è principalmente destinato a gruppi geometrici di parti, come il raggruppamento di un set da scrivania che include una sedia, un tavolo e una lampada.Per organizzare set più complessi, puoi persino annidare modelli all'interno di modelli.
Area di lavoro
Workspace contiene tutti gli oggetti che compongono il Mondo3D di un Posto.Puoi aggiungere oggetti all'area di lavoro per personalizzare il tuo Mondo3D, come parti di base, parti di mesh e modelli.I client rendono tutto ciò che appare in questo container e nulla al di fuori di esso, quindi puoi controllare ciò che gli utenti vedono e interagiscono in tuo Posto.Sebbene non sia effettivamente rendering, puoi anche aggiungere script che sono parented con le parti e i modelli con cui sono associati.Per impostazione predefinita, lo spazio di lavoro è pre-popolato con un oggetto Terrain e Camera .
Fotocamera
Camera determina come il client visualizza il Mondo3D.Per impostazione predefinita, c'è una fotocamera nell'area di lavoro, ma puoi aggiungere più oggetti fotocamera per creare prospettive e viste diverse.Ogni client prende queste impostazioni e crea la propria vista della fotocamera che il server non può modificare direttamente.
Ad esempio, puoi impostare una fotocamera per seguire i movimenti dell'utente o rimanere fissa in un particolare luogo.Puoi anche regolare il campo vista, la distanza e l'angolo per creare diversi effetti visivi di come gli utenti visualizzano il tuo Mondo3D.
Per ulteriori informazioni, vedi Personalizza la fotocamera.
Terreno
Terrain ti consente di creare paesaggi per il tuo Posto.Puoi applicare un materiale al terreno per simulare gli ambienti naturali desiderati, come erba, acqua, sabbia o un materiale personalizzato.Anche se puoi avere solo un oggetto terreno per il tuo mondo 3D e applicare un materiale a quel terreno, puoi usare il Editor del terreno per modificare le regioni del tuo terreno.
Per maggiori informazioni, vedi Terreno ambientale.
Ambiente
Gli effetti luminosi e sonori possono rendere il tuo mondo 3D molto più immersivo e realistico.Sebbene non sia necessario aggiungere questi effetti al tuo Posto, possono renderlo più attraente visivamente e acusticamente.
Illuminazione
Lighting contiene oggetti che controllano le impostazioni globali di illuminazione del tuo posto, come Atmosphere per simulare effetti atmosferici o Sky per modificare il sole, la luna e le stelle nei tuoi ambienti.
Per ulteriori informazioni, vedi Illuminazione .
Suono
SoundService può controllare le impostazioni di volume e riproduzione degli oggetti figli Sound per la musica di sottofondo o gli effetti sonori ambientali.
Per ulteriori informazioni, vedi Suono.
Replicazione
Replicazione è il processo in cui il server sincronizza lo stato del tuo posto con tutti i client connessi.Il motore Roblox intelligente e automatico replica i dati, la fisica e i messaggi di chat tra il server e il client per molti casi, ma puoi anche specificare determinati oggetti da replicare posizionandoli in contenitori specifici.
Riprodotti prima
ReplicatedFirst contiene oggetti che vuoi replicare a un client quando si unisce al tuo Posto.Tipicamente contiene oggetti che sono essenziali per inizializzare un Giocatore, come oggetti lato client LocalScript e gli oggetti associati agli script.Tutto il contenuto in questo container viene replicato dal server al client solo una volta.
Storage replicato
ReplicatedStorage contiene oggetti che sono disponibili sia per il server che per i client connessi.Tutte le modifiche che si verificano sul client persistono ma non verranno replicate sul Server.Il server può sovrascrivere le modifiche sul client per mantenere la coerenza.Questo container viene tipicamente utilizzato per oggetti ModuleScript che devono essere condivisi e accessibili da entrambi gli oggetti Script (lato server) e LocalScript (lato client).Inoltre, puoi utilizzare questo container per replicare qualsiasi oggetto che non deve esistere nel mondo 3D fino a quando non è necessario, come un ParticleEmitter per il clonaggio e il parenting di tutti i modelli di personaggio in arrivo.
Per maggiori informazioni su come funziona la replicazione, vedi Client-server runtime.
Server
Il modello di dati definisce container dedicati solo per l'oggetto lato server che non viene mai replicato al client.Questo consente al server di influenzare il comportamento e lo stato del client senza esporre gli oggetti e la logica del Serveral client.
Servizio ServerScript
ServerScriptService contiene Script oggetti, ModuleScript oggetti richiesti dagli script del server e altri oggetti correlati allo scripting che sono destinati solo all'uso del server.Se i tuoi script richiedono altri oggetti non scripting, devi posizionarli in ServerStorage .Gli script in questo contenitore non vengono mai replicati ai client, il che ti consente di avere una logica sicura sul lato server.
ServerStorage
ServerStorage contiene oggetti che sono pensati solo per l'uso del server.Puoi utilizzare questo container per archiviare oggetti che vuoi clonare e genitori nell'area di lavoro o in altri container durante l'Tempo esecuzione.Ad esempio, puoi archiviare grandi oggetti come le mappe in questo container fino a quando non sono necessari e spostarli nell'area di lavoro solo quando richiesto Ciò ti consente di ridurre il traffico di rete del client al join iniziale.
Cliente
I servizi container client sono pensati per gli oggetti che vengono replicati a ogni client connesso.Questa categoria di container si replica a ogni client connesso e contiene tipicamente oggetti 3D e oggetti associati LocalScript.Tutti gli oggetti che memorizzi in questi container non sono persistenti attraverso le sessioni e vengono ripristinati ogni volta che un client si ricongiunge.Puoi mettere oggetti in questi container come interfacce utente del giocatore, script lato client e altri oggetti rilevanti solo per il client.
Quando un client si connette a un Server, il servizio contenitore Players ascolta gli utenti che si uniscono al tuo posto e crea un oggetto Player per ogni client.Il server copia gli oggetti dai container del client nel modello di dati di modifica alla posizione corrispondente nel modello di dati di runtime all'interno dell'oggetto Players.La seguente tabella descrive il contenitore originale su cui risiede nel contenitore e il contenitore risultante su cui vengono copiati sul client:
Modifica modello di dati | modellodi dati di runtime | Notizie |
---|---|---|
StarterPack | Giocatore.Backpack | Script che impostano l'inventario del Giocatoree generalmente contengono Tool oggetti, ma spesso contengono anche script locali. |
StarterGui | Giocatore.Gui | Script che possono gestire la GUI or Intefaccia grafica utentelocale del Giocatore.Quando un giocatore respawna, i contenuti di PlayerGui vengono svuotati.Il server copia gli oggetti all'interno di StarterGui nel PlayerGui. |
StarterPlayerScripts | Script del giocatore.player | Script di uso generale per il client.Ad esempio, se vuoi creare effetti speciali sul client quando vengono soddisfatte determinate condizioni, puoi posizionare uno script locale in questo contenitore per farlo.Il server non può accedere a questo container. |
StarterCharacterScripts | Giocatore.Personaggio | Script che vengono copiati sul client quando vengono Rigenerare. Questi script non persistono quando il giocatore respawna. |
ReplicatedFirst | Il contenuto di questo container viene replicato a tutti i client (ma non al Server) prima di tutto il resto. |
Chat
TextChatService
TextChatService rappresenta il servizio che gestisce varie chat di testo in-experience, come la gestione dei canali, la decorazione dei messaggi, il filtraggio del testo, la creazione di comandi e lo sviluppo di interfacce di chat personalizzate.
Per ulteriori informazioni, vedi Sistema di chat di testo in-esperienza.
Servizio di chat vocale
VoiceChatService rappresenta la funzione di chat vocale basata sulla vicinanza che simula una comunicazione realistica in base a quanto sei vicino ad altri utenti.Puoi usare questo servizio per Offe disattivare la funzione.
Per ulteriori informazioni, vedi Chat vocale.
Cartelle e modelli
Ci sono due metodi principali per raggruppare gli oggetti nel modello di dati: cartelle e modelli .Entrambi sono container per oggetti, ma hanno scopi diversi.
- Le cartelle sono la soluzione migliore per archiviare sezioni di un Ambiente, come la lobby o un'arena di combattimento.
- Modelli vengono utilizzati per set di oggetti, come un set da scrivania che include una sedia, un tavolo e una lampada.Per organizzare set più complessi, annida i modelli all'interno dei modelli.
Dovresti sempre nominare i tuoi oggetti in modo descrittivo. Ciò rende più semplice trovare e modificare gli oggetti in seguito, se necessario.

