Workspace
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Il Renderizzare
Capire questo comportamento è importante, poiché significa che gli oggetti possono essere rimossi dal Workspace quando non sono necessari. Ad esempio, la mappa Models può essere rimossa dal Workspace quando viene giocata un'altra mappa. Gli oggetti che non sono immediatamente necessari nel mondo 3
Nel suo ruolo come持有者 di oggetti 3D attivi, Workspace include una serie di funzioni utili legate alle parti, alle loro posizioni e alle articolazioni tra di loro.
Accedere all'area di lavoro
Workspace può essere accessato in diversi modi, tutti dei quali sono validi.
- workspace
- game.Workspace
- game:GetService("Workspace")
Note
- Gli oggetti che richiedono l'ornamento, come ParticleEmitters e BillboardGuis, saranno alla posizione 0, 0, 0 quando sono parented a Workspace senza adornee in caso contrario essere Impostare.
- I metodi Class.Model:MakeJoints() e Class.Model:BreakJoints() ereditati dalla classe Class.Model sono sovrascritti da 1>Class.Area di lavoro:MakeJoints() e 4>Class.Area di lavoro:BreakJoints() , che possono essere utilizzati solo nei plugin.
- È impossibile eliminare Workspace .
- L'attuale oggetto Camera di un client può essere accessato utilizzando la ProprietàWorkspace.CurrentCamera.
- L'oggetto Terrain può essere accessato utilizzando la ProprietàWorkspace.Terrain.
Sommario
Proprietà
La densità dell'aria a Livellodel pavimento, utilizzata nel modello di forza aerodinamica.
Determina se le risorse create da altri utenti possono essere vendute nel Gioco.
Specifica la modalità di riduzione dell'animazione per il client locale.
L'oggetto Camera utilizzato dal Giocatorelocale.
Il tempo in secondi che il gioco ha in esecuzione.
Determina l'altezza in cui cadono BaseParts e il loro antenato Models vengono rimossi da Workspace .
Determina se il motore fisico calcola le forze aerodinarie su BaseParts il cui proprietario è EnableFluidForces .
Specifica il globale vettore del vento per il terreno animato, le nuvole dinamiche e le parti.
Determina l'accelerazione dovuta alla gravità applicata alla caduta BaseParts .
Abilita il supporto per le limitazioni per IKControls. Se disabilitato, IKControls ignorano le limitazioni fisiche.
Imposta se i personaggi Head e gli accessori dovrebbero essere scaricati come MeshPart.
Controlla la logica utilizzata per selezionare la parte della radice di montaggio quando si utilizzano qualsiasi uno dei vincoli del mover.
Imposta in modo che il solver avanzare la simulazione fisica in avanti nel tempo.
Configura quando il motore riprende i gestori degli eventi.
Configura il modo in cui il motore decide quando streamare il contenuto dai giocatori.
Se il flusso di contenuti è abilitato per il Posto.
Determina se StreamingIntegrityMode è attivo.
Distanza minima che il contenuto verrà distribuito ai giocatori con priorità elevata.
Distanza massima che il contenuto verrà trasmesso ai giocatori.
Un riferimento all'oggetto Terrain che è stato padre dell'oggetto Workspace .
Determina se parts in diverse gruppi impostati per non collidere ignorerà le collisioni e gli eventi di tocco.
Imposta il livello di dettaglio sul modello per le esperienze con la funzione di streaming in sessione abilitata.
Controlla il comportamento di streaming del modello su Models quando è abilitato lo streaming delle istanze.
La parte principale del Model, o nil se non è esplicitamente Impostare.
Proprietà utilizzata solo dall'editor per scalare il modello intorno al suo pivot. Impostando questa proprietà sposterà lo scala come se Model/ScaleTo fosse stata chiamata su di esso.
Determina dove si trova il punto di rotazione di un Model che non ha non un set Model.PrimaryPart è posizionato.
Metodi
Restituisce il numero di BaseParts che sono considerate fisicamente attive, a causa dell'influenza di fisica di recente.
Restituisce un Integro, tra 0 e 100, che rappresenta la percentuale di simulazione in tempo reale che la fisica sta attualmente riducendo.
Restituisce il numero di frame per secondo che la fisica è attualmente in simulazione.
Restituisce l'epoca del server in secondi.
Crea articolazioni tra il Parts specificato e qualsiasi parte toccante a seconda delle superfici delle parti e della modalità di creazione delle articolazioni specificata.
Restituisce vero se il gioco ha l'aggiungitore PGS Physics abilitato.
Rompe tutti i legami tra il BaseParts specificato e altri BaseParts .
Posiziona e ingrandisce il Workspace.CurrentCamera per mostrare l'estensione di BaseParts attualmente nel Workspace .
Restituisce vero se qualsiasi parte dei BasePart tocca qualsiasi altra parte.
Genera una forma di blocco in una direzione specificata e restituisce un RaycastResult se la forma colpisce una BasePart o Terrain cell.
Restituisce un' array of parts whose bounding boxes sovrappongono una determinata Quadro di selezione.
Restituisce un' array of parts whose bounding boxes sovrappongono una determinata sfera.
Restituisce un array di parti le cui risorse occupate sono condivise con la parte specificata.
- IKMoveTo(part : BasePart,target : CFrame,translateStiffness : number,rotateStiffness : number,collisionsMode : Enum.IKCollisionsMode):void
Muove la parte specificata nella posizione specificata tramite kinematica inversa piuttosto che spostarla direttamente, per garantire che eventuali articolazioni, vincoli o collisioni che partecipa rimangano fisicamente soddisfatte.
Genera un raggio utilizzando una fonte, una direzione e un opzionale RaycastParams , poi restituisce un RaycastResult se un oggetto o un terreno idoneo interessa il raggio.
- Spherecast(position : Vector3,radius : number,direction : Vector3,params : RaycastParams):RaycastResult?
Casts a spherical shape in a given direction and returns a RaycastResult if the shape hits a BasePart or Terrain cell.
Avanzamento della simulazione per le parti nel mondo in base a un incremento di tempo specificato e a un insieme opzionale di BaseParts .
Imposta questo modello per essere persistente per il Giocatorespecificato. Model.ModelStreamingMode deve essere impostato su PersistentPerPlayer per il comportamento di modifica come risultato dell'aggiungimento.
Restituisce una descrizione di un volume che contiene tutte le parti di un modello.
Restituisce il valore della più piccola scatola di confezione che contiene tutti i BaseParts in the Model , allineato con il Model.PrimaryPart se è Impostare.
Restituisce tutti gli oggetti Player che questo oggetto modello è persistente. Il comportamento varia in base a se questo metodo viene chiamato da un Script o da un LocalScript .
Restituisce la scala di canone del modello, che predefinito è 1 per i nuovi modelli creati e cambierà man mano che viene scala via Model/ScaleTo .
Sposta il PrimaryPart alla posizione specificata. Se una parte primaria non è stata specificata, la parte di base del modello sarà utilizzata.
Questo modello non è più persistente per il Giocatorespecificato. Model.ModelStreamingMode deve essere impostato su PersistentPerPlayer per il comportamento di modifica come risultato della rimozione.
Imposta il fattore di escala del modello, regolando la dimensione e la posizione di tutte le istanze discendenti in modo che abbiano quel fattore di escala rispetto alle loro dimensioni e posizione iniziali quando il fattore di escala era 1.
Sposta un Model da un dato Vector3 OFFSET, preservando l'orientamento del modello. Se un altro BasePart o 1> Class.Terrain1> esiste già nella nuova posizione, allora il 4> Class.Model4> si sovrappone all'oggetto dichiarato.
Ottiene il pivot di un PVInstance .
Transforms the PVInstance along with all of its descendant PVInstances such that the pivot is now located at the specified CFrame .
Eventi
Si attiva quando i modelli persistenti sono stati inviati al Giocatorespecificato.
Proprietà
AirDensity
Il livello del suolo ( Y di 0) densità dell'aria in RMU/stud³ unità (vedi Roblox Units ) , usato per calcolare la
AllowThirdPartySales
Questa proprietà Workspace determina se le risorse create da altri utilizzi possono essere vendute nel Gioco.
Cosa sono le vendite di terze parti?
Quando questo valore è falso, come è per impostazione predefinita, solo le risorse create dal creatore del luogo (che sia un giocatore o un Gruppo) e Roblox possono essere vendute utilizzando MarketplaceService .
In mosti casi, i giochi non devono vendere risorse di terze parti. Tuttavia, alcuni giochi come le chat di trading richiedono questa funzione e quindi esiste come opzione opt-in.
Quali prodotti di terze parti posso vendere?
Nota, prodotti sviluppatori possono essere venduti solo nel gioco in cui sono associati, indipendentemente da ciò che è impostato su Game Passes e clothing. Questa proprietà influisce su 1> Game Pass1> e 4> abbigliamento4>.
AvatarUnificationMode
CSGAsyncDynamicCollision
ClientAnimatorThrottling
Specifica il Enum.ClientAnimatorThrottlingMode da utilizzare per il client locale.
Quando è abilitato, le animazioni sui singoli Model istemi inizieranno a diminuire. Il limitatore calcola l'intensità di diminuzione usando:
- FPS in gioco
- Numero di animazioni attive
CurrentCamera
L'oggetto Camera utilizzato dal Giocatorelocale.
Come usare la telecamera attuale
Quando si cerca l'oggetto Camera di un client, usa questa proprietà invece di cercare un figlio di Workspace chiamato "Camera".
Quando impostate questa Proprietà, tutti gli altri oggetti Camera nella Workspace vengono distrutti, tra cui il precedente CurrentCamera . Se impostate questa proprietà su nullo o su una telecamera che non è un discendente del Workspace (o il 1> CurrentCamera1> è altrimenti
For more information, see Scripting the Camera .
DistributedGameTime
Il tempo in secondi che il gioco ha in esecuzione.
Nonostante il titolo, questo valore non è attualmente 'Distributo' tra il client e il Server. Invece, sul server rappresenta quanto tempo il server ha in esecuzione. Sul client rappresenta quanto tempo il client ha in esecuzione con il Server.
Gli sviluppatori non dovrebbero basarsi sul comportamento sopra elencato e è possibile che questa proprietà venga sincronizzata sui client e sul server in futuro.
Coloro che stanno cercando il tempo dal momento che il programma è in esecuzione dovrebbero utilizzare la funzione 'time' invece. Vedi sotto per una comparazione tra DistributedGameTime e le sue alternative.
print(workspace.DistributedGameTime) --> Time the game started runningprint(os.time()) --> Time since epoch (1 January 1970, 00:00:00) UTCprint(tick()) --> Time since epoch (1 January 1970, 00:00:00) system timeprint(time()) --> Time the game started runningprint(elapsedTime()) --> Time since Roblox started running
FallenPartsDestroyHeight
Questa proprietà determina l'altezza in cui il motore Roblox rimuove automaticamente BaseParts e il loro antenato Models da Workspace tramite la parentesi di loro 1> nil1> . Ciò per impedire che le parti che sono cadute dalla mappa continuino a cadere per sempre.
Se una parte rimossa a causa di questo comportamento è l'ultima parte in un Model, quel modello sarà anche rimosso. Questo si applica a tutti gli antenati del modello.
Questa proprietà è fissata tra -50,000 e 50,000 poiché BaseParts non simula o rende correttamente a una grande distanza dall'origine a causa di fluttuazioni di punti inesatti.
Questa proprietà può essere letta dagli script, ma può essere impostata solo dai plugin, dalla barra dei comandi o dalla finestra delle proprietà in Studio.
FluidForces
Con questa proprietà abilitata, il motore fisico calcola le forze aerodinarie su BaseParts il cui EnableFluidForces proprietà è vera. Il valore predefinito, Default, disabilita le forze aerodinarie. Nota che questa proprietà non può essere impostata tramite
GlobalWind
Questa proprietà specifica la direzione e la forza che il vento soffia attraverso l'esperienza, influenzando l'erba del terreno, le nuvole dinamiche e le parti. Vedi l'articolo Vento globale per i dettagli.
Gravity
Determina l'accelerazione dovuta alla gravità applicata al cadere BaseParts . Questo valore viene misurato in studs per secondo quadrato e per impostazione predefinita è impostato su 196.2 studs/second 2 . Modificando questo valore, gli sviluppatori possono simulare gli effetti della gravità inferiore o superiore nel Gioco.
Campioni di codice
local MOON_GRAVITY_RATIO = 1.62 / 9.81
local DEFAULT_GRAVITY = 196.2
local MOON_GRAVITY = DEFAULT_GRAVITY * MOON_GRAVITY_RATIO
-- Create a touch pad
local pad = Instance.new("Part")
pad.Size = Vector3.new(5, 1, 5)
pad.Position = Vector3.new(0, 0.5, 0)
pad.Anchored = true
pad.BrickColor = BrickColor.new("Bright green")
pad.Parent = workspace
-- Listen for pad touch
local enabled = false
local debounce = false
local function onPadTouched(_hit)
if not debounce then
debounce = true
enabled = not enabled
workspace.Gravity = enabled and MOON_GRAVITY or DEFAULT_GRAVITY
pad.BrickColor = enabled and BrickColor.new("Bright red") or BrickColor.new("Bright green")
task.wait(1)
debounce = false
end
end
pad.Touched:Connect(onPadTouched)
IKControlConstraintSupport
Abilita il supporto per le limitazioni per IKControls. Il valore Default è lo stesso di Enabled . Se disabilitato, IKControls ignorano le limitazioni fisiche. Vedi IKControl per ulteriori dettagli.
InsertPoint
MeshPartHeadsAndAccessories
Imposta se i caratteri e gli accessori dei personaggi dovrebbero essere scaricati come MeshParts . Il valore Default è lo stesso di Enabled . Se questa funzione è abilitata, gli avatar incorporati useranno 1> Class.MeshPart|MeshParts1> per la testa e gli accessori del personaggio.
ModelStreamingBehavior
MoverConstraintRootBehavior
Controlla la logica utilizzata per selezionare la parte della radice di montaggio per i meccanismi che utilizzano uno qualsiasi dei seguenti vincoli:
Quando questa proprietà è impostata su Enum.MoverConstraintRootBehaviorMode.Enabled , queste restrizioni saranno ignorate quando si seleziona la parte della radice dell'assemblaggio se la restrizione non trasmette forze tra due
Quando questa proprietà è impostata su Enum.MoverConstraintRootBehaviorMode.Disabled, queste restrizioni possono essere erroneamente considerate quando si seleziona la parte della radice di assemblaggio, il che può comportare ritardi e proprietà di rete non coerenti quando si aggiungono queste restrizioni a un meccanismo.
PathfindingUseImprovedSearch
PhysicsSteppingMethod
Imposta in modo che il solvente avanzi la simulazione fisica in avanti nel tempo. Questa opzione non è scriptabile e deve essere impostata dalla proprietà PhysicsStepping Method di Workspace all'interno di Studio. Vedi Adaptive Timestepping per i dettagli.
<tbody><tr><td><b>Adattivo</b></td><td>Il motore tenta di assegnare tassi di simulazione ottimali per singoli assemblaggi di 240 Hz, 120 Hz o 60 Hz. Questa impostazione è ottimizzata per le Prestazione.</td></tr><tr><td><b>Fisso</b></td><td>Tutte le simulate assemblies all'interno dello workspace avranno avanti 240 Hz. Questa opzione è la migliore per la stabilità ottimale e la accuratezza di simulazione.</td></tr><tr><td><b>Predefinito</b></td><td>Il valore predefinito attuale è <b>Fixed</b> .</td></tr></tbody>
Opzione | Descrizione |
---|
Nota che quando le assemblate di diverse simulazioni vengono connesse tramite Constraints o collisioni, il meccanismo combinato predefinerà il tasso di simulazione più elevato per la stabilità.
PlayerCharacterDestroyBehavior
PrimalPhysicsSolver
RejectCharacterDeletions
RenderingCacheOptimizations
ReplicateInstanceDestroySetting
Retargeting
SandboxedInstanceMode
SignalBehavior
Questa proprietà determina se i gestori degli eventi saranno ripresi immediatamente quando si attiva l'evento, o differiti e poi ripresi a un punto di riassunzione più tardi. I punti di riassunzione attualmente includono:
- Elaborazione dell'input (si riprende una volta per l'input per essere elaborato, vedi UserInputService )
- Script di avvio della legacy come wait() , spawn() e delay()
For more information, see Eventi in ritardo .
StreamOutBehavior
I controlli StreamOutBehavior controllano dove il contenuto verrà scaricato dalla ReplicationFocus in base alle condizioni della memoria del dispositivo, o basate sul raggio di streaming.
Vedi anche:
- Workspace.StreamingEnabled che controlla se la riproduzione del contenuto è abilitata
StreamingEnabled
La proprietà StreamingEnabled determina se il flusso di contenuti di gioco è abilitato per il Posto. Questa proprietà non è scriptabile e quindi deve essere impostata sull'oggetto Workspace in Studio.
Vedi anche:
StreamingIntegrityMode
Se l'istanza streaming è abilitata, un'esperienza potrebbe comportarsi in modi non intenzionali se il personaggio di un Giocatoresi muove in una regione del mondo che non è stata streamed al loro client. La funzione di integrità di streaming offre un modo per evitare queste situazioni potenzialmente problematiche.
StreamingMinRadius
La proprietà StreamingMinRadius indica il raggio attorno al personaggio del Giocatoreo il ReplicationFocus corrente in cui il contenuto sarà streamed in alta priorità. Le predefiniture sono 64 studs.
La cura dovrebbe essere presa quando si aumenta il raggio minimo predefinito poiché aumentando il raggio minimo predefinito richiederà più memoria e più band larghezza al costo di altri componenti.
Vedi anche:
- Workspace.StreamingEnabled che controlla se la riproduzione del contenuto è abilitata
StreamingTargetRadius
La proprietà StreamingTargetRadius controlla la distanza massima dal personaggio del Giocatoreo dal Class.Player.ReplicationFocus|ReplicationFocus attuale in cui verrà streamed in. Le predefinizioni sono 1024 studs.
Nota che il motore è autorizzato a conservare il contenuto precedentemente caricato oltre il raggio di destinazione, autorizzazione alla memoria.
Vedi anche:
- Workspace.StreamingEnabled che controlla se la riproduzione del contenuto è abilitata
Terrain
Questa proprietà è un riferimento all'oggetto Terrain che è padre di Workspace.
Vedi Terreno ambientale per ulteriori informazioni.
TouchEventsUseCollisionGroups
TouchesUseCollisionGroups
Questa proprietà determina se parts in diverse gruppi impostati per non collidere ignoreranno le collisioni e gli eventi di tocco. Per impostazione predefinita, il valore di questa proprietà è impostato su false .
Quando questa proprietà è abilitata, le parti in differenti gruppi impostate per non collidere ignoreranno anche la ProprietàCanTouch, simile alla maniera in cui BasePart.CanCollide viene ignorata. Per ulteriori informazioni sul comportamento di CanTouch, visita la sua pagina proprietà.
Metodi
GetNumAwakeParts
Restituisce il numero di BaseParts che sono considerate fisicamente attive, a causa dell'influenza di fisica di recente.
Questa funzione fornisce una misura di quanti BaseParts sono influenzati o sono stati recentemente sotto l'influenza di forze fisiche.
print(workspace:GetNumAwakeParts()) -- prints the number of 'awake' parts
Parti addormentate vs Awake
Per garantire le Prestazione, Roblox imposta BaseParts</
Restituzioni
Il numero di parti sveglie.
GetPhysicsThrottling
Restituisce un Integro, tra 0 e 100, che rappresenta la percentuale di simulazione in tempo reale che la fisica sta attualmente riducendo.
Questa funzione può essere utilizzata per determinare se, e in che misura, la fisica sta accelerando.
Cos'è la fisica che limita?
L'accelerazione delle fisiche avviene quando il motore fisico rileva che non può mantenere il passo con il gioco in tempo reale. Quando l'accelerazione delle fisiche è in corso, verrà aggiornato meno frequentemente causando BaseParts a apparire più lento.
Senza limitare, la simulazione fisica cadrebbe ulteriormente indietro in ritardo rispetto al Gioco. Ciò può comportare un calo delle prestazioni e un comportamento non desiderato.
Gli oggetti associati a Humanoids sono esentati dalla limitazione della fisica.
Vedi anche Workspace:SetPhysicsThrottleEnabled() .
Dimostrare il laglio della fisica
Gli sviluppatori dovrebbero sempre evitare di creare luoghi che sovraccaricano il motore fisico, poiché conduce a un'esperienza sub-par per i giocatori. Coloro che desiderano simulare il ridimensionamento della fisica per scopi di ricerca, tuttavia, devono creare solo molte Parts molto rapidamente.
local i = 0while true doi += 1if i % 5 == 0 thentask.wait()endlocal part = Instance.new("Part", workspace)end
Restituzioni
La percentuale di simulazione del tempo reale che la fisica sta attualmente riducendo.
GetRealPhysicsFPS
Restituisce il numero di frame per secondo che la fisica è attualmente in simulazione.
Uso di GetRealPhysicsFPS per combattere gli exploiter
Un uso comune di questa funzione è quello di rilevare se gli exploiter stanno aumentando la loro frequenza di frame di fisica locale per muoversi più velocemente. Questo viene generalmente fatto confrontando il risultato restituito da un client's GetRealPhysicsFPS con un massimo che non verrà violato in
Restituzioni
Restituisce il numero di frame per secondo che la fisica è attualmente in simulazione.
Campioni di codice
local Players = game:GetService("Players")
local player = Players.LocalPlayer
while task.wait(1) do
if workspace:GetRealPhysicsFPS() > 65 then
player:Kick()
end
end
GetServerTimeNow
GetServerTimeNow restituisce l'ora dell'epoca sul server con una precisione di microsecondi. Il tempo viene regolato per il drift e la levitazione e viene levitato monotonamente (è garantito non essere in calo). Il clock del server non progredisce più velocemente di 1.006× velocità e non più lento di 0.994× velocità.
Restituisce un timestamp Unix che può essere utilizzato con os.date() o con DateTime.fromUnixTimestamp() .
Questa funzione è utile per creare esperienze sincronizzate, poiché ha tre proprietà necessarie per farlo: è un orologio del mondo reale, è monotonico e ha una precisione decente.
Questa funzione si basa sul Server, quindi chiamandola da un client che non è connesso verrà visualizzato un errore.
Vedi anche:
- DistributedGameTime , un'ora del gioco
Restituzioni
Il tempo stimato dell'epoca sul Server.
JoinToOutsiders
Questa funzione crea articolazioni tra il Parts specificato e qualsiasi parte toccante a seconda delle superfici delle parti e della modalità di creazione delle articolazioni specificata.
Questa funzione crea articolazioni tra le parti specificate e qualsiasi superficie di tocco planare, a seconda delle superfici delle parti e della modalità di creazione delle articolazioni specificata.
- Glue, Studs, Inlets, Universal, Weld e Smooth surface creeranno tutte le istanze di saldatura.
- Le sfere non si saldano a nulla. Le pareti lisce dei cilindri non si saldano, ma le pareti lisce dei lati piatti si saldano.
Il primo parametro è un' array di BaseParts . Le jointe verranno create solo tra le parti nell' array e non nell' vettore. Le jointe non verranno create tra le parti nell' vettore.
Il secondo parametro è un Enum.JointCreationMode che determina il modo in cui vengono create le joint. Passando in uno qualsiasi valore dell'enum, Enum.JointCreationMode.All o Enum.JointCreationMode.Surface, ha lo stesso comportamento che corrisponde a Join Always
Questa funzione viene utilizzata dallo strumento Roblox Studio Move quando l'utente finisce di spostare una selezione. In conjunction con Plugin:GetJoinMode() e Workspace:UnjoinFromOutsiders() può essere utilizzata per mantenere la funzione di join quando si sviluppa strumenti di costruzione personalizzati. Vedi gli script seguenti per un esempio.
-- finito di spostare una selezione, crea joint
local function finishedMovingParts(parts)
local joinMode = Plugin:GetJoinMode()
workspace:JoinToOutsiders(parts, joinMode)
end
-- iniziato a spostare una selezione, interruzione delle connessioni
local function startMovingParts(parts)
workspace:UnjoinFromOutsiders(parts)
end
Parametri
Un array di BaseParts per chi si unisce.
Il Enum.JointCreationMode da utilizzare. Passando in Enum.JointCreationMode.All o Enum.JointCreationMode.Surface ha lo stesso comportamento che corrisponde a Join Always.
Restituzioni
PGSIsEnabled
Restituisce vero se il gioco ha l'aggiungitore PGS Physics abilitato.
Come Workspace.PGSPhysicsSolverEnabled non può essere accessato dagli script, la funzione PGSIsEnabled consente ai sviluppatori di dire quale soluzione fisica il gioco sta utilizzando.
print(workspace:PGSIsEnabled()) -- true = PGS solver enabledprint(workspace:PGSIsEnabled()) -- false = Legacy solver enabled
Restituzioni
Vero se il solvente PGS è abilitato.
UnjoinFromOutsiders
Rompe tutti i legami tra il BaseParts specificato e altri BaseParts .
Questa funzione richiede un array di BaseParts . Nota, le connessioni non saranno interrotte tra questi BaseParts (tra gli altri), solo tra questi BaseParts e altri 1> Class.BasePart|BaseParts1> non nell' vettore.
Questa funzione viene utilizzata dallo strumento Roblox Studio Move quando l'utente inizia a spostare una selezione. In conjunction with Plugin:GetJoinMode() e Workspace:JoinToOutsiders() può essere utilizzata per mantenere la funzione di join quando si sviluppa strumenti di costruzione personalizzati. Vedi gli snippet seguenti per un esempio.
-- finished moving a selection, make joints
local function finishedMovingParts(parts)
local joinMode = Plugin:GetJoinMode()
workspace:JoinToOutsiders(parts, joinMode)
end
-- started moving a selection, break joints
local function startMovingParts(parts)
workspace:UnjoinFromOutsiders(parts)
end
Parametri
Un array di BaseParts per chi vengono infranti gli join.
Restituzioni
ZoomToExtents
Posiziona e ingrandisce il Workspace.CurrentCamera per mostrare l'estensione di BaseParts attualmente nel Workspace .
Questa funzione è stata utilizzata nel, ora rimosso, pulsante 'Zoom To Extents' in Roblox Studio. Esibisce un comportamento simile alla Proprietà'Zoom To' (F Scorciatoia), tuttavia mostra gli estremi del Workspace piuttosto che l'oggetto attualmente selezionato.
Questa funzione non può essere utilizzata negli script, ma funzionerà nella barra dei comandi o nei plugin.
Restituzioni
Eventi
PersistentLoaded
Questo evento attiva ogni volta che un giocatore viene inviato tutti i modelli persistenti attuali e modelli atomici senza parte. Il player parametro indica quale giocatore ha ricevuto tutte le istanze applicabili.
Nota che il caricamento dell'esperienza avviene prima del caricamento persistente, e il funzionamento dell'evento DataModel.Loaded non indica che tutti i modelli persistenti sono presenti.