Modello dei 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 riguardo al luogo. Il modello di dati contiene tutti gli oggetti che compongono il mondo 3D, come parti, terreno, illuminazione e altri elementi ambientali. Contiene anche oggetti che possono controllare il comportamento in tempo di esecuzione, come script che modificano proprietà, chiamano metodi e funzioni e rispondono a eventi che abilitano comportamenti dinamici e interattività.

Il motore di Roblox utilizza il modello di dati come fonte di verità per lo stato di un luogo, in modo da poterlo simulare e renderizzare sui dispositivi client. Per ulteriori informazioni su come il motore di Roblox interpreta il modello di dati, vedere Runtime Client-Server.

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 ed eventi generici comuni a tutti gli oggetti. Gli oggetti definiscono anche le proprie caratteristiche a seconda della funzionalità che l'oggetto fornisce. Ci sono molte categorie di oggetti con una vasta gamma di utilizzi, ma lavorerai frequentemente con oggetti BasePart e LuaSourceContainer, comunemente noti come parti e script.

Per un elenco completo di tutte le funzionalità del motore di Roblox, vedere la documentazione di riferimento.

Blocchi di costruzione 3D

BasePart è la classe principale per i blocchi di costruzione 3D simulati fisicamente nel mondo. Definisce le proprietà e i metodi comuni a tutti gli oggetti fisici con proprietà come posizione, dimensione e orientamento.

OggettoDescrizione
PartUna parte primitiva part che può assumere la forma di un blocco, palla, cilindro, cuneo o cuneo angolare.
MeshPartUn mesh importato da software di modellazione 3D come Maya o Blender.
TrussPartUn trave a traliccio che i personaggi possono scalare come una scala.

Sebbene tu possa teoricamente creare un gioco Roblox completamente funzionale utilizzando solo parti semplici, è probabile che importerai mesh e combinerai parti primitive in oggetti e strutture più complesse attraverso la modellazione solida.

Script

Puoi aggiungere interattività e comportamento al mondo 3D del tuo luogo e definire la logica con gli script. Scrivi script nel linguaggio di programmazione Luau per fare cose come muovere parti, chiamare altri script e rispondere a eventi. Poiché Roblox funziona in un modello client-server, puoi eseguire script sul server, sul client o farli comunicare attraverso il confine di 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() sia dagli script del server che da quelli del client.

Affinché gli script si comportino correttamente, devi posizionarli nei contenitori corretti nel modello di dati. Per ulteriori informazioni, vedere le sezioni Server e Client.

Organizzazione degli oggetti

Sebbene tu abbia molta flessibilità su come organizzare il tuo modello di dati, il motore di Roblox si aspetta che determinati oggetti siano in determinati servizi contenitore, che sono oggetti che hanno comportamenti specifici e possono influenzare i comportamenti degli oggetti che contengono. Le principali categorie di servizi contenitore includono:

Inoltre, puoi ulteriormente organizzare i tuoi oggetti con i seguenti oggetti:

  • Cartelle — Una Folder è per scopi organizzativi e non definisce alcun comportamento. Ad esempio, puoi utilizzare le cartelle per raggruppare oggetti simili come un insieme di script nello storage del server.
  • Modelli — Una Model è principalmente destinata a raggruppamenti geometrici di parti, come raggruppare un set di scrivania che include una sedia, un tavolo e una lampada. Per organizzare set più complessi, puoi anche annidare modelli all'interno di modelli.

Workspace

Workspace contiene tutti gli oggetti che compongono il mondo 3D di un luogo. Puoi aggiungere oggetti allo spazio di lavoro per personalizzare il tuo mondo 3D, come parti di base, parti mesh e modelli. I client renderizzano tutto ciò che appare in questo contenitore e nulla al di fuori di esso, quindi puoi controllare cosa vedono e con cosa interagiscono gli utenti nel tuo luogo. Sebbene non venga effettivamente renderizzato, puoi anche aggiungere script che sono parentati alle parti e ai modelli a cui sono associati. Per impostazione predefinita, lo spazio di lavoro è pre-popolato con un oggetto Terrain e un oggetto Camera.

Camera

Camera determina come il client visualizza il mondo 3D. Per impostazione predefinita, c'è una camera nello spazio di lavoro, ma puoi aggiungere più oggetti camera per creare diverse prospettive e visualizzazioni. Ogni client prende queste impostazioni e crea la propria vista della camera che il server non può modificare direttamente.

Ad esempio, puoi impostare una camera per seguire i movimenti dell'utente o rimanere fissa in una posizione particolare. Puoi anche regolare il campo visivo, la distanza e l'angolo per creare diversi effetti visivi su come gli utenti visualizzano il tuo mondo 3D.

Per ulteriori informazioni, vedere personalizza la camera.

Terreno

Terrain ti consente di creare paesaggi per il tuo luogo. Puoi applicare un materiale al terreno per simulare 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 utilizzare il Terrain Editor per modificare regioni del tuo terreno.

Per ulteriori informazioni, vedere terreno ambientale.

Ambiente

Un'illuminazione personalizzata può rendere il tuo mondo 3D molto più immersivo e realistico. Il servizio Lighting contiene oggetti che controllano le impostazioni di illuminazione globale del tuo luogo, come Atmosphere per simulare effetti atmosferici o Sky per alterare il sole, la luna e le stelle nei tuoi ambienti. Inoltre, puoi utilizzare fonti di luce per emettere luce da oggetti specifici.

Aggiungere audio ai tuoi giochi è anche cruciale per elevare i tuoi giochi a nuovi livelli. Utilizzando strategicamente audio posizionale e non posizionale, puoi immergere i giocatori nei tuoi mondi, fornire loro feedback utili per le loro azioni e indirizzare la loro attenzione su ciò che devono fare per avere successo nei loro obiettivi.

Replicazione

Replicazione è il processo attraverso il quale il server sincronizza lo stato del tuo luogo con tutti i client connessi. Il motore di Roblox replica in modo intelligente e automatico dati, fisica e messaggi di chat tra il server e il client in molti casi, ma puoi anche specificare determinati oggetti da replicare posizionandoli in contenitori specifici.

ReplicatedFirst

ReplicatedFirst contiene oggetti che desideri replicare a un client quando si unisce al tuo luogo. Contiene tipicamente oggetti essenziali per inizializzare un giocatore, come oggetti LocalScript lato client e gli oggetti associati agli script. Tutto il contenuto in questo contenitore viene replicato dal server al client solo una volta.

ReplicatedStorage

ReplicatedStorage contiene oggetti che sono disponibili sia per il server che per i client connessi. Qualsiasi modifica che si verifica sul client persiste ma non verrà replicata al server. Il server può sovrascrivere le modifiche sul client per mantenere la coerenza. Questo contenitore è tipicamente utilizzato per oggetti ModuleScript che devono essere condivisi e accessibili sia da oggetti Script (lato server) che da oggetti LocalScript (lato client). Inoltre, puoi utilizzare questo contenitore per replicare qualsiasi oggetto che non deve esistere nel mondo 3D fino a quando non è necessario, come un ParticleEmitter da clonare e parentare a tutti i modelli di personaggi in arrivo.

Per ulteriori informazioni su come funziona la replicazione, vedere runtime client-server.

Server

Il modello di dati definisce contenitori dedicati per oggetti solo lato server che non vengono mai replicati al client. Questo consente al server di influenzare il comportamento e lo stato del client senza esporre gli oggetti e la logica del server al client.

ServerScriptService

ServerScriptService contiene oggetti Script, oggetti ModuleScript richiesti dagli script del server e altri oggetti relativi alla programmazione che sono destinati solo all'uso del server. Se i tuoi script richiedono altri oggetti non di scripting, devi posizionarli in ServerStorage. Gli script in questo contenitore non vengono mai replicati ai client, il che ti consente di avere logica sicura lato server.

ServerStorage

ServerStorage contiene oggetti che sono destinati solo all'uso del server. Puoi utilizzare questo contenitore per memorizzare oggetti che desideri clonare e parentare allo spazio di lavoro o ad altri contenitori durante il runtime. Ad esempio, puoi memorizzare oggetti di grandi dimensioni come mappe in questo contenitore fino a quando non sono necessari e spostarli nello spazio di lavoro solo quando richiesto. Questo ti consente di ridurre il traffico di rete del client all'inizio.

Client

I servizi contenitore client sono destinati a oggetti che vengono replicati a ogni client connesso. Questa categoria di contenitori si replica a ogni client connesso e contiene tipicamente oggetti 3D e oggetti LocalScript associati. Tutti gli oggetti che memorizzi in questi contenitori non sono persistenti tra le sessioni e vengono ripristinati ogni volta che un client si riconnette. Puoi inserire oggetti in questi contenitori come GUI dei giocatori, script lato client e altri oggetti che sono 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 luogo e crea un oggetto Player per ogni client. Il server copia gli oggetti dai contenitori client nel modello di dati di modifica nella posizione corrispondente nel modello di dati di runtime all'interno dell'oggetto Players. La seguente tabella descrive il contenitore originale in cui risiede nel contenitore e il contenitore risultante in cui vengono copiati sul client:

Modello di dati di modificaModello di dati di runtimeNote
StarterPackPlayer.BackpackScript che impostano l'inventario del giocatore e contengono generalmente oggetti Tool, ma spesso contengono anche script locali.
StarterGuiPlayer.PlayerGuiScript che possono gestire la GUI locale del giocatore. Quando un giocatore rinasce, i contenuti di PlayerGui vengono svuotati. Il server copia gli oggetti all'interno di StarterGui nella PlayerGui.
StarterPlayerScriptsPlayer.PlayerScriptsScript di uso generale per il client. Ad esempio, se desideri creare effetti speciali sul client quando si verificano determinate condizioni, puoi posizionare uno script locale in questo contenitore per farlo. Il server non può accedere a questo contenitore.
StarterCharacterScriptsPlayer.CharacterScript che vengono copiati al client quando si spawnano. Questi script non persistono quando il giocatore rinasce.
ReplicatedFirstIl contenuto di questo contenitore viene replicato a tutti i client (ma non di nuovo al server) per primo, prima di qualsiasi altra cosa.

Chat

TextChatService

TextChatService rappresenta il servizio che gestisce vari compiti di chat testuale in-game, 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, vedere panoramica della chat testuale.

VoiceChatService

VoiceChatService rappresenta la funzionalità di chat vocale basata sulla prossimità che simula comunicazioni realistiche in base a quanto sei vicino ad altri utenti. Puoi utilizzare questo servizio per attivare e disattivare la funzionalità.

Per ulteriori informazioni, vedere chat vocale.

Cartelle e modelli

Ci sono due metodi principali per raggruppare oggetti nel modello di dati: cartelle e modelli. Entrambi sono contenitori per oggetti, ma hanno scopi diversi.

  • Cartelle sono migliori per memorizzare sezioni di un ambiente, come la hall o un'arena di combattimento.
  • Modelli sono utilizzati per set di oggetti, come un set di scrivania che include una sedia, un tavolo e una lampada. Per organizzare set più complessi, annida modelli all'interno di modelli.

Dovresti sempre nominare i tuoi oggetti in modo descrittivo. Questo rende facile trovare e modificare gli oggetti in seguito, se necessario.

La finestra Explorer con una dimostrazione di una struttura di organizzazione delle cartelle.
Oggetti organizzati in Folders
La finestra Explorer con una dimostrazione di una struttura di organizzazione dei modelli in diversi servizi.
Vari modelli di "mappa" per passare tra Workspace e ServerStorage
© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.