modellodi dati

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

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.

OggettoDescrizione
PartUna parte primitiva che può assumere la forma di un blocco, una palla, un cilindro, un cuneo o un cuneo d'angolo.
MeshPartUna mesh importata da 3D modeling software come Maya o Blender.
TrussPartUn 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:

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 datimodellodi dati di runtimeNotizie
StarterPackGiocatore.BackpackScript che impostano l'inventario del Giocatoree generalmente contengono Tool oggetti, ma spesso contengono anche script locali.
StarterGuiGiocatore.GuiScript 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.
StarterPlayerScriptsScript del giocatore.playerScript 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.
StarterCharacterScriptsGiocatore.PersonaggioScript che vengono copiati sul client quando vengono Rigenerare. Questi script non persistono quando il giocatore respawna.
ReplicatedFirstIl 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.

The Explorer window with a demonstration of a folder organization structure.
Oggetti organizzati in Folders
The Explorer window with a demonstration of a model organization structure in several services.
Diversi modelli "mappa" da scambiare tra Workspace e ServerStorage