Ogni luogo è rappresentato da un modello di dati, una gerarchia di oggetti che descrive tutto sul Posto. Il modello di dati contiene tutti gli oggetti che compongono il Mondo3D, come parti, terreno, illuminazione e altri elementi ambientali. Esso contiene anche oggetti che possono controllare il comportamento in tempo reale, come gli script che modificano proprietà, chiamano metodi e funzioni e rispondono ad eventi che abilitano comportamenti dinamici e interattività.
Il motore Roblox utilizza il modello di dati come fonte di verità per lo stato di un Posto, so it can simulate and render it on client devices. For more information on how the Roblox engine interprets the data model, see Client-Server Runtime .
Oggetti
Poni e organizzi gli oggetti nel modello di dati per descrivere un luogo in Roblox. Ogni oggetto in Roblox eredita dalla classe Class.Instance , che definisce proprietà, metodi e eventi generici che sono comuni a tutti gli oggetti. Gli oggetti definiscono anche le proprie caratteristiche a seconda della funzional
Per un elenco completo di tutte le funzionalità del motore Roblox, vedi la documentazione di riferimento.
Blocchi di Costruzione 3D
BasePart è la classe principale per i blocchi da 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 dal software di modellazione 3D come Maya o Blender. |
TrussPart | Un truss beam che i personaggi possono arrampicare 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 gli script nel linguaggio di programmazione Lua per fare cose come spostare parti, chiamare altri script e rispondere ad 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() 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, consulta le sezioni Server e Client.
Organizzazione dell'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 container che sono oggetti che hanno comportamenti specifici e possono influenzare i comportamenti degli oggetti che contengono. Le principali categorie di servizi container includono:
- Workspace - 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.
- Replica - Container per il contenuto e la 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'archivio server.
- Models - A Model è destinato principalmente ai raggruppamenti 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 i modelli nei 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
Fotocamera
Camera determina il modo in cui il client visualizza il Mondo3D. Per impostazione predefinita, c'è una telecamera nell'area di lavoro, ma puoi aggiungere più oggetti di telecamera per creare diverse prospettive e visuali. Ogni client prende queste impostazioni e crea la propria vista della telecamera che il server non può modificare direttamente.
Ad esempio, puoi impostare una telecamera per seguire i movimenti dell'utente o rimanere fissa in un particolare luogo. Puoi anche regolare il campo di vista, la distanza e l'angolo per creare diversi effetti visivi di come gli utenti visualizzano il tuo Mondo3D.
For more information, see Personalizzare 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 Terrain Editor per modificare le regioni del tuo terreno.
For more information, see Terreno ambientale .
Ambiente
Gli effetti luminosi e sonori possono rendere il tuo mondo 3D molto più coinvolgente e realistico. Anche se non è 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.
For more information, see 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.
For more information, see Suono .
Replicazione
La replicazione è il processo in cui il server sincronizza lo stato del tuo posto con tutti i client connessi. Il motore Roblox replica in modo intelligente e automatico 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.
ReplicatedFirst
ReplicatedFirst contiene oggetti che vuoi replicare a un client quando si unisce al tuo Posto. Solitamente contiene oggetti che sono essenziali per inizializzare un Giocatore, come oggetti Class.LocalScript lato client e gli oggetti associati agli script. Tutto il contenuto in questo container viene replicato dal server al client solo una volta.
ReplicatedStorage
ReplicatedStorage contiene oggetti disponibili sia al server che ai client connessi. Tutte le modifiche
For more information on how replication works, see Client-Server Runtime .
Server
Il modello di dati definisce container dedicati per soli oggetti lato server che non vengono mai replicati al client. Ciò consente al server di influenzare il comportamento e lo stato del client senza esporre gli oggetti e la logica del Serveral client.
ServerScriptService
ServerScriptService contiene Script oggetti, ModuleScript oggetti che sono richiesti dagli script del server e altri oggetti correlati allo scripting che sono pensati solo per l'uso del server. Se i tuoi script richiedono altri oggetti non scripting, devi posizionarli in 0> Class
ServerStorage
ServerStorage contiene oggetti che sono pensati solo per l'uso del server. Puoi utilizzare questo container per memorizzare oggetti che vuoi clonare e genitori nell'area di lavoro o in altri container durante l'Tempo esecuzione. Ad esempio, puoi memorizzare grossi oggetti come le mappe in questo container fino a quando non sono necessari e spostarli nell'area di lavoro solo quando richiesto. Questo ti consente di ridurre il traffico di rete del client al join iniziale.
Client
I servizi del container client sono pensati per gli oggetti che vengono replicati su ogni client connesso. Questa categoria di container si replica su ogni client connesso e in genere contiene oggetti 3D e oggetti LocalScript associati. Tutti gli oggetti che memorizzi in questi container non sono persistenti tra le sessioni e vengono ripristinati ogni volta che un client si ricongiunge. Puoi inserire oggetti
Quando un client si connette a un Server, il servizio container 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'og
Modifica modello di dati | Modello di dati di runtime | Note |
---|---|---|
StarterPack | Player.Backpack | Script che impostano l'inventario del Giocatoree generalmente contengono Tool oggetti, ma spesso contengono anche script locali. |
StarterGui | Player.PlayerGui | Script che possono gestire la GUI or Intefaccia grafica utentelocale del Giocatore. Quando un giocatore respawna, i contenuti di PlayerGui sono vuoti. Il server copia gli oggetti all'interno di StarterGui nel PlayerGui. |
StarterPlayerScripts | Player.PlayerScripts | Script di uso generale per il client. Ad esempio, se vuoi creare effetti speciali sul client quando vengono soddisfatte certaini condizioni, puoi posizionare uno script locale in questo container per farlo. Il server non può accedere a questo container. |
StarterCharacterScripts | Player.Character | Script che vengono copiati sul client quando vengono Rigenerare. Questi script non persistono quando il giocatore respawna. |
ReplicatedFirst | I contenuti di questo container vengono replicati prima a tutti i client (ma non al Server), prima di qualsiasi altra cosa. |
Chat
TextChatService
TextChatService rappresenta il servizio che gestisce varie attività di chat di testo in-experience, come la gestione dei canali, la decorazione dei messaggi, il filtro del testo, la creazione di comandi e lo sviluppo di interfacce chat personalizzate.
For more information, see Sistema di chat di testo in-esperienza .
VoiceChatService
VoiceChatService rappresenta la funzione di chat vocale basata sulla vicinanza che simula una comunicazione realistica in base a quanto sei vicino agli altri utenti. Puoi utilizzare questo servizio per Offe disattivare la funzione.
For more information, see 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 gli 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.
- I 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.