Workspace
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Le travail principal de
Comprendre ce comportement est important, car il signifie que les objets peuvent être supprimés de l'espace de travail lorsqu'ils ne sont pas nécessaires. Par exemple, Models peut être supprimé de l'espace de travail lorsqu'une autre carte est jouée. Les objets qui ne sont pas immédiatement nécessaires dans
Dans son rôle de détenteur d'objets 3D actifs, Workspace inclut un certain nombre de fonctions utiles liées aux parties, leur position et leurs jointures entre elles.
Accéder à l'espace de travail
Workspace peut être accédé de plusieurs façons, toutes d'une validité.
- workspace
- game.Workspace
- game:GetService("Workspace")
Notes
- Les objets qui nécessitent une décoration, tels que ParticleEmitters et BillboardGuis, seront à la position 0,0,0 lorsque les décorations ne sont pas configurer.
- Les méthodes Class.Model:MakeJoints() et Class.Model:BreakJoints() héritées de la classe Class.Model sont remplacées par 1>Class.Workspace:MakeJoints() et 4>Class.Workspace:BreakJoints() qui ne peuvent être utilisées que dans les plugins.
- Il est impossible de supprimer Workspace .
- L'objet actuel de Camera d'un client peut être accédé à l'aide de la propriété Workspace.CurrentCamera.
- L'objet Terrain peut être accédé à l'aide de la propriété Workspace.Terrain.
Résumé
Propriétés
La densité de l'air au niveau du sol, utilisée dans le modèlisationde force aéroportique.
Détermine si les ressources créées par d'autres utilisateurs peuvent être vendues dans le jeu.
Spécifie le mode de ralentissement de l'animation pour le client local.
L'objet Camera utilisé par le joueur local.
Le temps qu'il reste, en secondes, que le jeu s'exécute.
Détermine la hauteur à laquelle BaseParts et leur ancêtre Models sont retirés de Workspace .
Détermine si le moteur physique calcule les forces aéroynamiques sur BaseParts dont la propriété EnableFluidForces est vraie.
Spécifie le vécteur de vent global pour le terrain herbeux animé, les nuages dynamiques et les particules.
Détermine l'accélération due à la gravité appliquée au chute BaseParts .
Permet d'activer le support des contraintes pour IKControls. Si désactivé, IKControls ignore les contraintes physiques.
Définit si les têtes de personnages et les accessoires devraient être téléchargés en tant que MeshParts.
Contrôle la logique utilisée pour sélectionner la partie de racine de l'assemblage lors de l'utilisation de l'une des contraintes de mover.
Définit comment le solvant avancera la simulation de physique à l'avenir dans le temps.
Configure quand le moteur reprend les gestionnaires d'événements.
Configure la façon dont le moteur décide quand il faut Stream du contenu des joueurs.
Whether le flux de contenu est activé pour l'emplacement.
Détermine si le mode de confidentialité des diffusions est actif.
Distance minimale que le contenu sera diffusé aux joueurs avec une priorité élevée.
Distance maximale que le contenu sera diffusé aux joueurs.
Une référence à l'objet Terrain auquel est associé l'objet Workspace.
Détermine si parts dans différents groupes sont configurés pour ne pas se coller ignorent les collisions et les événements de touche.
Définit le niveau de détail sur le modèle pour les expériences avec le streaming d'instance activé.
Contrôle le comportement de génération du modèle sur Models lorsque le mode d'instantiation est activé.
La partie principale du Model , ou nil si elle n'est pas explicitement configurer.
Propriété seulement utilisée pour escalader le modèle autour de son pivot. En configurant cette propriété, l'échelle sera déplacée comme si Model/ScaleTo était appelée dessus.
Détermine l'endroit où le pivot d'un Model qui fait ne a pas de set Model.PrimaryPart est situé.
Méthodes
Renvoie le nombre de BaseParts qui sont jugés physiquement actifs, en raison de leur influence récente de la physique.
Renvoie un nombre entier, entre 0 et 100, représentant la proportion de la simulation de physique qui est actuellement ralentie.
Renvoie le nombre de cadres par seconde que la physique est actuellement simulée.
Renvoie l'heure d'expiration du serveur en secondes.
Crée des jointures entre le Parts spécifié et n'importe quelle pièce touchant la pièce d'ancrage ou le mode de création d'ancrage spécifié.
Retourne vrai si le jeu a le solvant PGS Physics activé.
Brise tous les joints entre le BaseParts spécifié et d'autres BaseParts.
Les positions et les zoomes de la Workspace.CurrentCamera pour montrer l'étendu de BaseParts actuellement dans le Workspace.
Retourne vrai si l'un des BasePart est en train de toucher n'importe quelle autre partie.
Définit une forme de bloc dans une direction donnée et renvoie un RaycastResult si la forme touche une cellule BasePart ou Terrain.
Renvoie un tableau de parties dont les bordures se chevauchent sur une donnée de boîte de modélisation.
Renvoie un tableau de parties dont les bordures se chevauchent sur une sphère donnée.
Renvoie un tableau de parties dont l'espace occupé est partagé avec la partie donnée.
- IKMoveTo(part : BasePart,target : CFrame,translateStiffness : number,rotateStiffness : number,collisionsMode : Enum.IKCollisionsMode):void
Déplace la partie spécifiée vers l'emplacement spécifié via la kinésie inverse plutôt que de la déplacer directement, afin de garantir que les jointures, les contraintes ou les collisions que la partie participante est en train de participer sont physiquement satisfaites.
Lance une fusée en utilisant une origine, une direction et un RaycastParams, puis renvoie un RaycastResult si un objet ou un terrain éligible intercepte la fusée.
- Spherecast(position : Vector3,radius : number,direction : Vector3,params : RaycastParams):RaycastResult?
Lance une forme sphérique dans une direction donnée et renvoie un RaycastResult si la forme touche une cellule BasePart ou Terrain.
Avance la simulation pour les parties dans le monde en fonction d'un augmentation de temps spécifiée et d'un ensemble facultatif de BaseParts .
Définit ce modèle pour être persistant pour le joueur spécifié. Model.ModelStreamingMode doit être défini sur PersistentPerPlayer pour que le comportement soit modifié en tant que résultat de l'ajout.
Retourne une description d'un volume qui contient toutes les parties d'un modèle.
Renvoie la taille de la plus petite boîte de définition qui contient tous les BaseParts dans le Model, avec le Model.PrimaryPart si c'est configurer.
Renvoie tous les objets Player que ce modèle d'objet persiste pour. Le comportement varie en fonction de si cet objet de modèle est appelé à partir d'un Script ou d'un LocalScript.
Renvoie l'échelle de canon du modèlisation, qui est par défaut 1 pour les nouveaux modèles créés et changera lorsqu'elle sera mise à l'échelle via Model/ScaleTo .
Déplace le PrimaryPart à l'endroit donné. Si une partie principale n'a pas été spécifiée, la partie racine du modèle sera utilisée.
Ce modèle n'est plus persistant pour le joueur spécifié. Model.ModelStreamingMode doit être réglé sur PersistentPerPlayer pour que le comportement soit modifié en tant que résultat de la suppression.
Définit le facteur de mise à l'échelle du modèlisation, ajustant la taille et l'emplacement de toutes les instances descendantes afin qu'elles aient ce facteur de mise à l'échelle par rapport à leurs tailles et emplacements d'origine lorsque le facteur de mise à l'échelle était 1.
Déplace un Model par l'écart donné Vector3, en conservant l'orientation du modèlisation. Si un autre BasePart ou 2>Class.Terrain2> existe déjà à la nouvelle position, le 5>Class.Model5> dépassera l'objet.
Obtient le pivot d'un PVInstance.
Transforme le PVInstance ainsi que tous ses descendants PVInstances afin que le pivot soit maintenant situé dans le CFrame spécifié.
Évènements
Tire quand des modèles persistants ont été envoyés au joueur spécifié.
Propriétés
AirDensity
La densité de l'air ( Y de 0) dans les unités RMU/stud³ (voir Unités Roblox ) utilisées pour calculer la force aérodyynamique si
AllowThirdPartySales
Cette propriété Workspace détermine si les ressources créées par d'autres utilisations peuvent être vendues dans le jeu.
Qu'est-ce que les ventes tiers ?
Lorsque cette valeur est fausse, comme par défaut, seuls les ressources créées par le créateur du lieu (soit un joueur, soit un groupe) et Roblox peuvent être vendues à l'aide de MarketplaceService .
Dans la plupart des cas, les jeux n'ont pas besoin de vendre les ressources tiers. Cependant, certains jeux tels que les échanges de hangouts nécessitent cette fonctionnalité et donc il existe comme une option d'opt-in.
Quels produits tiers puis-je vendre ?
Remarquez, les produits développeur ne peuvent être vendus que dans le jeu auquel ils sont associés, indépendamment de ce que le AllowThirdPartySales est réglé. Cette propriété affecte les passes de jeu et 1> les vêtements1>.
AvatarUnificationMode
CSGAsyncDynamicCollision
ClientAnimatorThrottling
Spécifie le Enum.ClientAnimatorThrottlingMode à utiliser pour le client local.
Lorsqu'elle est activée, les animations sur les instances Model à distance simulées commenceront à être accélérées. Le accélérateur calcule l'intensité d'accélération en utilisant :
- FPS en jeu
- Nombre d'animations actives
CurrentCamera
L'objet Camera utilisé par le joueur local.
Comment utiliser la caméra actuelle
Lorsque vous recherchez l'objet Camera d'un client, utilisez cette propriété plutôt que de rechercher un enfant de Workspace nommé « Camera ».
Lorsque vous avez configuré cette propriété, tous les autres objets Camera dans le Workspace sont détruits, y compris le précédent CurrentCamera. Si vous avez configuré cette propriété à zéro ou à une caméra qui n'est pas un descendant de l'espace de travail (ou que la caméra n'est pas
Pour plus d'informations, voir Scripting la caméra .
DistributedGameTime
Le temps qu'il reste, en secondes, que le jeu s'exécute.
Malgré le titre, cette valeur n'est actuellement pas « distribuée » sur le client et le serveur. Au lieu de cela, sur le serveur, il représente la durée de l'exécution du serveur. Sur le client, il représente la durée de la connexion du client au serveur.
Les développeurs ne devraient pas faire confiance au comportement ci-dessus, et il est possible que cette propriété soit synchronisée à travers les clients et le serveur dans le futur.
Ceux qui cherchent le temps depuis le début de l'exécution du programme devraient utiliser la fonction « temps » à la place. Voir ci-dessous pour un comparaison entre DistributedGameTime et ses alternatives.
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
Cette propriété détermine la hauteur à laquelle le moteur Roblox supprime automatiquement les BaseParts et leur ancêtre Models du Workspace en les associant à 2>nil2> . Cela empêche les parties qui sont tombées de la carte de continuer à tomber pendant que elles sont toujours en jeu.
Si une partie supprimée en raison de ce comportement est la dernière partie dans un Model, ce modèle sera également supprimé. Cela s'applique à tous les ancêtres de modèle de la partie.
Cette propriété est calquée entre -50,000 et 50,000 car BaseParts ne simule pas ou ne rend pas correctement à une grande distance de l'origine en raison de la flottabilité des inexactitudes de point.
Cette propriété peut être lue par des scripts, mais ne peut être définie que par des plugins, la barre de commande ou la fenêtre des propriétés dans Studio.
FluidForces
Avec cette propriété activée, le moteur physique calcule les forces aéroynamiques sur BaseParts dont la propriété EnableFluidForces est vraie. Le par défaut, Default, désactive les forces aéroynamiques. Notez que cette propriété ne peut pas être définie via le scripting et doit plut
GlobalWind
Cette propriété spécifie la direction et la force que le vent souffle dans l'expérience, affectant l'herbe de terrain, les nuages dynamiques et les particules. Voir l'article Vent global pour plus de détails.
Gravity
Détermine l'accélération due à la gravité appliquée à la chute BaseParts . Ce value est mesuré en studs par seconde carré et par défaut est réglé à 196.2 studs/seconde 2 . En changeant ce value, les développeurs peuvent simuler les effets de la gravité inférieure ou supérieure dans le jeu.
Échantillons de code
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
Permet le support des contraintes pour IKControls. La valeur par défaut est la même que Default. Si désactivé, IKControls ignore les contraintes physiques. Voir Enabled pour plus de détails.
InsertPoint
MeshPartHeadsAndAccessories
Définit si les têtes de personnages et les accessoires devraient être téléchargés en tant que MeshParts . La valeur Default est la même que Enabled. Si cette fonctionnalité est activée, les avatars intégrés utiliseront 1> Class.MeshPart|MeshParts1> pour la tête et les accessoires du personnage.
ModelStreamingBehavior
MoverConstraintRootBehavior
Contrôle la logique utilisée pour sélectionner la partie racine de l'assemblage pour les mécanismes qui utilisent l'une des contraintes suivantes :
Lorsque cette propriété est réglée sur Enum.MoverConstraintRootBehaviorMode.Enabled, ces contraintes seront ignorées lors de la sélection de la partie racine de l'assemblage si la contrainte ne transmet pas de forces entre deux parties (
Lorsque cette propriété est réglée sur Enum.MoverConstraintRootBehaviorMode.Disabled, ces contraintes peuvent être mal interprétées lors de la sélection de la partie racine de l'assemblage, ce qui peut entraîner une propriété de réseau incorrecte et des décalages de réseau lors de l'ajout de ces contraintes à un mécanisme.
PathfindingUseImprovedSearch
PhysicsSteppingMethod
Définit comment le solvant avancera la simulation de physique en temps réel. Cette option n'est pas scriptable et doit être définie à partir de la propriété PhysicsSteppingMethod de Workspace dans Studio. Voir Adaptive Timestepping pour plus de détails.
<tbody><tr><td><b>Adaptif</b></td><td>Le moteur essaie d'assigner des taux de simulation optimaux pour chaque assemblage individuel de 240 Hz, 120 Hz ou 60 Hz. Ce paramètre est optimisé pour les performances.</td></tr><tr><td><b>Corrigé</b></td><td>Toutes les assemblages simulés à l'intérieur de l'espace de travail avanceront à 240 Hz. Cette option est la meilleure pour la stabilité et la précision de simulation optimale.</td></tr><tr><td><b>Par défaut</b></td><td>Le défaut actuel est <b>Fixed</b> .</td></tr></tbody>
Option | Description |
---|
Notez que lorsque des assemblages de différents taux de simulation sont connectés via Constraints ou les collisions, le mécanisme combiné par défaut sera le taux de simulation le plus élevé pour la stabilité.
PlayerCharacterDestroyBehavior
PrimalPhysicsSolver
RejectCharacterDeletions
RenderingCacheOptimizations
ReplicateInstanceDestroySetting
Retargeting
SandboxedInstanceMode
SignalBehavior
Cette propriété détermine si les gestionnaires d'événements reprendront immédiatement lorsque l'événement se déclenche, ou seront différés et reprendront à un point de résumé plus tard. Les points de résumé incluent actuellement :
- Entrée en cours (s'arrête une fois par entrée pour être traitée, voir UserInputService )
- Legacy waiting script resumption comme wait() , spawn() et delay()
Pour plus d'informations, voir événements différés.
StreamOutBehavior
Le StreamOutBehavior contrôle l'endroit où le contenu sera déchargé à partir du ReplicationFocus basé sur les conditions de mémoire du dispositif, ou basé sur le rayon de la capture.
Voir aussi :
- Workspace.StreamingEnabled qui contrôle si le flux de contenu est activé
StreamingEnabled
La propriété StreamingEnabled détermine si le contenu du jeu est diffusé pour le emplacement. Cette propriété n'est pas scriptable et doit donc être définie sur l'objet Espace de travail dans Studio.
Voir aussi :
StreamingIntegrityMode
Si la fonctionnalité diffuser est activée, une expérience peut se comporter de manières inintentionnelles si le personnage d'un joueur se déplace dans une région du monde qui n'a pas été diffusée sur leur client. La fonctionnalité de confidentialité des diffusions offre une façon d'éviter ces situations potentiellement problématiques.
StreamingMinRadius
La propriété StreamingMinRadius indique le rayon autour du personnage du joueur ou le ReplicationFocus actuel dans lequel le contenu sera diffusé en priorité. Par défaut, 64 studs.
La carence doit être prise lors de l'augmentation du rayon minimum par défaut, car cela nécessitera plus de mémoire et plus de bande de serveur au détriment des autres composants.
Voir aussi :
- Workspace.StreamingEnabled qui contrôle si le flux de contenu est activé
StreamingTargetRadius
La propriété StreamingTargetRadius contrôle la distance maximale à partir du personnage du joueur ou du ReplicationFocus actuel dans lequel le contenu sera diffusé. Par défaut, 1024 studs.
Remarquez que le moteur est autorisé à conserver le contenu précédemment chargé au-delà du rayon cible, autorisation de la mémoire.
Voir aussi :
- Workspace.StreamingEnabled qui contrôle si le flux de contenu est activé
Terrain
Cette propriété fait référence à l'objet Terrain qui est parent de l'objet Workspace.
Voir terrain environnemental pour plus d'informations.
TouchEventsUseCollisionGroups
TouchesUseCollisionGroups
Cette propriété détermine si parts dans différents groupes sont configurés pour ne pas se collerignerigneront ignorent les collisions et les événements de touche. Par défaut, la valeur de cette propriété est réglée sur false.
Lorsque cette propriété est activée, les parties dans différents groupes définies pour ne pas se heurter ignorent également la propriété Class.BasePart.CanTouch|CanTouch », similaire à la façon dont Class.BasePart.CanCollide est ignoré. Pour plus d'informations sur le comportement de CanTouch, veuillez consulter sa page de propriété.
Méthodes
GetNumAwakeParts
Renvoie le nombre de BaseParts qui sont jugés physiquement actifs, en raison de leur influence récente de la physique.
Cette fonction fournit une mesure du nombre de BaseParts qui sont affectés par des forces physiques.
print(workspace:GetNumAwakeParts()) -- prints the number of 'awake' parts
Endormis vs Réveillé Pièces
Pour garantir des performances optimales, Roblox définit BaseParts</
Retours
Le nombre de parties actives.
GetPhysicsThrottling
Renvoie un nombre entier, entre 0 et 100, représentant la proportion de la simulation de physique qui est actuellement ralentie.
Cette fonction peut être utilisée pour déterminer si, et dans quelle mesure, la physique est ralentie.
Qu'est-ce que la physique de ralentissement?
La physique d'accélération se produit lorsque le moteur de physique détecte qu'il ne peut pas suivre le jeu en temps réel. Lorsque la physique est accélérée, il met à jour moins souvent, ce qui fait en sorte que BaseParts apparaît pour se déplacer plus lentement.
Sans accélérer, la simulation de physique tomberait plus loin de l'actualisation avec le jeu. Cela peut entraîner des taux de cadence plus lents et d'autres comportements indésirables.
Les objets associés avec Humanoids sont exemptés du ralentissement physique.
Voir également Workspace:SetPhysicsThrottleEnabled() .
Démonstration de l'accélération physique
Les développeurs doivent toujours éviter de créer des endroits qui surchargent le moteur de physique, car cela entraîne une expérience sub-par pour les joueurs. Ceux qui souhaitent simuler une surcharge de la physique pour des besoins de recherche, cependant, doivent créer beaucoup de Parts très rapidement.
local i = 0while true doi += 1if i % 5 == 0 thentask.wait()endlocal part = Instance.new("Part", workspace)end
Retours
La part de la simulation physique qui est actuellement ralentie.
GetRealPhysicsFPS
Renvoie le nombre de cadres par seconde que la physique est actuellement simulée.
Utiliser GetRealPhysicsFPS pour combattre les exploiteurs
Une utilisation courante de cette fonction est de détecter si les exploiteurs augmentent leur cadence de physique locale pour se déplacer plus rapidement. Cela est généralement fait en comparant la valeur renvoyée par le client's GetRealPhysicsFPS à un maximum qui ne sera pas brisé dans les conditions normales (généralement
Retours
Renvoie le nombre de cadres par seconde que la physique est actuellement simulée.
Échantillons de code
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 renvoie l'heure d'épocalypse sur le serveur avec une précision de microseconde. Le temps est ajusté pour la dérive et lisse monotoniquement (il est garanti de ne pas diminuer). Le serveur clock progresse pas plus de 1,006 × vitesse et pas plus de 0,994 × vitesse.
Retourne une marque de temps Unix qui peut être utilisée avec os.date() ou avec DateTime.fromUnixTimestamp() .
Cette fonction est utile pour créer des expériences synchronisées, car il a trois propriétés nécessaires pour le faire : il s'agit d'une horloge du monde réel, il est monotonique et il a une précision décente.
Cette fonctionnalité dépend du serveur, donc l'appeler depuis un client qui n'est pas connecté lancerra une erreur.
Voir aussi :
- DistributedGameTime , une horloge de jeu
Retours
Temps d'épée estimé sur le serveur.
JoinToOutsiders
Cette fonction crée des jointures entre le Parts spécifié et n'importe quelle pièce touchant la surface des pièces et le mode de création de jointure spécifié.
Cette fonction crée des jointures entre les parties spécifiées et n'importe quelle surface de contact plane, en fonction des parties et du mode de création de jointure spécifié.
- La colle, les torsions, les entrées, les universels, les soudures et les surfaces lisses créeront toutes des instances de soudures.
- Les sphères ne seront pas souderées à quoi que ce soit. Les bords arrondis des cylindres ne seront pas souderés, mais les bords plats seront souderés.
Le premier argument est un tableau de BaseParts . Les jointures ne seront créées que entre les parties dans le tableau et non dans le matrice. Les jointures ne seront pas créées entre les parties dans le matrice.
Le deuxième paramètre est un Enum.JointCreationMode qui détermine comment les jointures seront créées. En passant dans l'un des valeurs d'enum, Enum.JointCreationMode.All ou Enum.JointCreationMode.Surface, vous avez le même comportement qui équivaut à Rejoindre toujours
Cette fonction est utilisée par l'outil Roblox Studio Move lorsque l'utilisateur termine de déplacer une sélection. En conjonction avec Plugin:GetJoinMode() et Workspace:UnjoinFromOutsiders() , il peut être utilisé pour conserver la fonctionnalité de jointure lors du développement des outils de construction personnalisés. Voir les scripts ci-dessous pour un exemple.
-- fin de déplacer une sélection, créer des jointures
local function finishedMovingParts(parts)
local joinMode = Plugin:GetJoinMode()
workspace:JoinToOutsiders(parts, joinMode)
end
-- a commencé à déplacer une sélection, briser les jointures
local function startMovingParts(parts)
workspace:UnjoinFromOutsiders(parts)
end
Paramètres
Un tableau de BaseParts pour lesquels des jointures doivent être faites.
Le Enum.JointCreationMode à utiliser. En passant en Enum.JointCreationMode.All ou Enum.JointCreationMode.Surface, vous avez le même comportement qui équivaut à Rejoindre toujours.
Retours
PGSIsEnabled
Retourne vrai si le jeu a le solvant PGS Physics activé.
Comme Workspace.PGSPhysicsSolverEnabled ne peut pas être accédé par des scripts, la fonction PGSIsEnabled permet aux développeurs de savoir quel solvant physique le jeu utilise.
print(workspace:PGSIsEnabled()) -- true = PGS solver enabledprint(workspace:PGSIsEnabled()) -- false = Legacy solver enabled
Retours
Vrai si le solveur PGS est activé.
UnjoinFromOutsiders
Brise tous les joints entre le BaseParts spécifié et d'autres BaseParts.
Cette fonction nécessite un tableau de BaseParts . Notez que les jointures ne seront pas brisées entre ces BaseParts (l'un l'autre), seulement entre ces BaseParts et d'autres 1> Class.BasePart|BaseParts1> non dans le matrice.
Cette fonction est utilisée par l'outil Roblox Studio Move lorsque l'utilisateur commence à déplacer une sélection. En conjonction avec Plugin:GetJoinMode() et Workspace:JoinToOutsiders() , il peut être utilisé pour conserver la fonctionnalité d'ajout lors du développement des outils de construction personnalisés. Voir les scripts ci-dessous pour un exemple.
-- 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
Paramètres
Un tableau de BaseParts pour lesquels les jointures sont à être brisées.
Retours
ZoomToExtents
Les positions et les zoomes de la Workspace.CurrentCamera pour montrer l'étendu de BaseParts actuellement dans le Workspace.
Cette fonction a été utilisée dans le bouton, maintenant supprimé, 'Zoom To Extents' dans Roblox Studio. Il montre un comportement similaire à la fonctionalité'Zoom To' (F raccourci), mais il montre les extents du Workspace plutôt que l'objet actuellement sélectionné.
Cette fonction ne peut pas être utilisée dans les scripts, mais elle fonctionnera dans la barre de commandes ou dans les plugins.
Retours
Évènements
PersistentLoaded
Cet événement déclenche chaque fois qu'un joueur a reçu tous les modèles persistants actuels et modèles atomiques partiellement non répliquables. Le player paramètre indique que quel joueur a reçu toutes les instances applicables.
Notez que le chargement d'expérience se produit avant le chargement persistant, et le tirage de l'événement DataModel.Loaded ne montre pas que tous les modèles persistants sont présents.