PartOperation
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Une classe abstraite dont toutes les parties se basent sur modélisation solide.
Résumé
Propriétés
Le niveau de détail utilisé pour rendre la partie modélisée solide.
Un angle en degrés qui affecte le ombrage lisse d'une partie modélisée solide.
Le nombre de polygones dans ce modèlisationsolide.
Définit si le PartOperation peut être recoloré en utilisant des propriétés de couleur héritées.
Détermine le niveau de détail auquel la physique de la partie adhérera à son maillage.
Détermine la représentation géométrique utilisée pour calculer les forces et les couples aérodynamiques.
Détermine si une partie est immobile par la physique.
La vitesse angulaire de l'assemblage de la pièce.
Le centre de masse de l'assemblage de la partie dans l'espace mondial.
La vitesse linéaire de l'assemblage de la pièce.
La masse totale de l'assemblage de la partie.
Une référence à la partie racine de l'assemblage.
Détermine le type de surface pour le côté arrière d'une pièce (+Z direction).
Détermine le type de surface pour le côté inférieur d'une pièce (-Y direction).
Détermine la couleur d'une partie.
Détermine la position et l'orientation du BasePart dans le monde.
Détermine si une partie peut entrer en collision avec d'autres parties.
Détermine si la partie est prise en compte lors des opérations de requête spatiale.
Détermine si Touched et TouchEnded événements se déclenhent sur la partie.
Détermine si oui ou non une partie lance une ombre.
Décrit la position mondiale dans laquelle le centre de masse d'une partie est situé.
Détermine le nom du groupe de collision d'une partie.
Détermine la couleur d'une partie.
Indique les propriétés physiques actuelles de la pièce.
Détermine plusieurs propriétés physiques d'une partie.
Utilisé pour activer ou désactiver les forces aérodynamiques sur les parties et les assemblages.
La taille physique réelle du BasePart telle que perçue par le moteur de physique.
Détermine le type de surface pour le visage avant d'une pièce (-Z direction).
Détermine le type de surface pour le côté gauche d'une pièce (-X direction).
Détermine un multiplicateur pour BasePart.Transparency qui n'est visible que pour le client local.
Détermine si une partie est sélectionnable dans Studio.
Décrit la masse de la partie, le produit de sa densité et de son volume.
Détermine si la partie contribue à la masse totale ou à l'inertie de son corps rigide.
Détermine la texture et les propriétés physiques par défaut d'une pièce.
Le nom de MaterialVariant.
Décrit la rotation de la partie dans le monde.
Spécifie le décalage du pivot de la partie par rapport à son CFrame .
Décrit la position de la partie dans le monde.
Temps écoulé depuis la dernière mise à jour physique enregistrée.
Détermine à quel point une partie reflète la skybox.
Décrit le plus petit changement de taille autorisé par la méthode redimensionner.
Décrit les visages sur lesquels une partie peut être redimensionnée.
Détermine le type de surface pour le côté droit d'une pièce (+X direction).
La règle principale pour déterminer la partie racine d'une assemblée.
La rotation de la pièce en degrés pour les trois axes.
Détermine les dimensions d'une pièce (longueur, largeur, hauteur).
Détermine le type de surface pour le côté supérieur d'une pièce (+Y direction).
Détermine à quel point une partie peut être vue à travers (l'inverse de l'opacité de la partie).
Méthodes
Substitue la géométrie de cette PartOperation par la géométrie d'une autre PartOperation .
Appliquer un impulsion angulaire à l'assemblage.
Appliquez un impulsion à l'assemblage à l'assemblage de center of mass .
Appliquer un impulsion à l'assemblage à une position spécifiée.
Renvoie si les parties peuvent se heurter les unes aux autres.
Vérifie si vous pouvez définir la propriété réseau d'une partie.
Retourne une table de parties connectées à l'objet par tout type de articulationrigide.
Renvoie tous les jointures ou contraintes qui sont connectées à cette partie.
Renvoie la valeur de la propriété Mass.
Renvoie le joueur actuel qui est le propriétaire du réseau de cette partie, ou nil en cas du serveur.
Renvoie true si le moteur de jeu décide automatiquement du propriétaire du réseau pour cette partie.
Renvoie la partie de base d'une assemblage de parties.
Renvoie une table de toutes les BasePart.CanCollide parties vraies qui se chevauchent avec cette partie.
Renvoie la vitesse linéaire de l'assemblage de la pièce à la position donnée par rapport à cette pièce.
Renvoie true si l'objet est connecté à une partie qui le maintiendra en place (par exemple, une partie Anchored), sinon renvoie false.
Change la taille d'un objet tout comme l'utilisation de l'outil de redimensionnement de Studio.
Définit le joueur donné comme propriétaire du réseau pour ceci et toutes les parties connectées.
Permet au moteur de jeu de décider dynamiquement qui gérera la physique de la partie (l'un des clients ou le serveur).
- IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Crée une nouvelle IntersectOperation à partir de la géométrie chevauchante de la pièce et des autres parties dans l'matricedonné.
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Crée un nouveau UnionOperation à partir de la partie, moins la géométrie occupée par les parties dans l'matricedonné.
- UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Crée une nouvelle UnionOperation de la partie, plus la géométrie occupée par les parties dans l'matricedonné.
Obtient le pivot d'un PVInstance .
Transforme le PVInstance ainsi que tous ses descendants PVInstances de sorte que le pivot est désormais situé au point spécifié CFrame.
Évènements
Évènements hérités de BasePartS'enflamme lorsqu'une partie cesse de toucher une autre partie en raison d'un mouvement physique.
S'enflamme lorsqu'une partie touche une autre partie en raison d'un mouvement physique.
Propriétés
RenderFidelity
Cette propriété détermine le niveau de détail auquel la partie modélisée solide sera affichée.Il peut être défini aux valeurs possibles de l'enum Enum.RenderFidelity.
La valeur par défaut est Automatic , ce qui signifie que le détail de la partie est basé sur sa distance de la caméra comme indiqué dans le tableau suivant.
<th>Rendre la fidélité</th></tr></thead><tbody><tr><td>Moins de 250 studs</td><td>Plus élevé</td></tr><tr><td>250-500 pousses</td><td>Moyen</td></tr><tr><td>500 ou plus de studs</td><td>Plus bas</td></tr></tbody>
Distance de la caméra |
---|
SmoothingAngle
Cette propriété représente un angle en degrés pour une valeur seuil entre les normales du visage sur une partie modélisée en solide.Si la différence normale est inférieure à la valeur, les normaux seront ajustés pour atténuer la différence.Bien que une valeur comprise entre 30 et 70 degrés produise généralement un bon resultats, les valeurs entre 90 et 180 ne sont pas recommandées car elles peuvent provoquer un effet de « ombrage » sur les unions aux bords pointus.
Notez que le lissage n'affecte pas les normales entre différents matériaux ou différentes couleurs.

<figcaption><code>Class.PartOperation.SmoothingAngle|SmoothingAngle</code> = 0</figcaption>

<figcaption><code>Class.PartOperation.SmoothingAngle|SmoothingAngle</code> = 50</figcaption>
UsePartColor
Définit si le PartOperation peut être recoloré en utilisant les propriétés BasePart.Color ou BasePart.BrickColor.Lorsque c'est vrai, l'ensemble de l'union sera coloré comme indiqué dans Color ou BrickColor .Lorsque false, les parties de l'union conserveront leurs couleurs originales avant que l'opération d'oignon ne soit effectuée.
Méthodes
SubstituteGeometry
Substitue la géométrie de cette PartOperation par la géométrie d'une autre PartOperation .Cela facilite l'utilisation de la géométrie d'une opération de modélisation solide comme UnionAsync() , SubtractAsync() , ou IntersectAsync() mais en maintenant les propriétés, les attributs, les balises et les enfants de la partie principale tels que Attachments, Constraints, ParticleEmitters, les objets légers, les décalcomanies et plus encore.Cette approche évite également le potentiel "scintillement" de remplacer complètement l'original PartOperation par un autre.
Notez que si vous appelez cette méthode sur un PartOperation avec enfant Attachments ou Constraints , vous devez calculer les instances affectées avec CalculateConstraintsToPreserve() , puis abandonner celles dont le parent recommandé est nil .
Paramètres
La PartOperation dont la géométrie remplacera la géométrie de cette PartOperation .
Retours
Échantillons de code
The following example substitutes the geometry of one PartOperation with the geometry of another PartOperation, then drops constraints/attachments that should not be preserved after substitution.
local GeometryService = game:GetService("GeometryService")
local mainPart = workspace.PurpleBlock
local otherParts = { workspace.BlueBlock }
local options = {
CollisionFidelity = Enum.CollisionFidelity.Default,
RenderFidelity = Enum.RenderFidelity.Automatic,
SplitApart = false,
}
local constraintOptions = {
tolerance = 0.1,
weldConstraintPreserve = Enum.WeldConstraintPreserve.All,
}
-- Perform union operation in pcall() since it's asyncronous
local success, newParts = pcall(function()
return GeometryService:UnionAsync(mainPart, otherParts, options)
end)
if success and #newParts > 0 and mainPart:IsA("PartOperation") then
-- Set first part in resulting operation as part to use for substitution
-- First part is simply an option; this can be any PartOperation
local substitutePart = newParts[1]
-- Reposition part to the position of main part
substitutePart.CFrame = mainPart.CFrame
-- Calculate constraints/attachments to either preserve or drop
local recommendedTable = GeometryService:CalculateConstraintsToPreserve(mainPart, newParts, constraintOptions)
-- Substitute main part's geometry with substitution geometry
mainPart:SubstituteGeometry(substitutePart)
-- Drop constraints/attachments that are not automatically preserved with substitution
for _, item in pairs(recommendedTable) do
if item.Attachment then
if item.ConstraintParent == nil then
item.Constraint.Parent = nil
end
if item.AttachmentParent == nil then
item.Attachment.Parent = nil
end
elseif item.WeldConstraint then
if item.Parent == nil then
item.WeldConstraint.Parent = nil
end
end
end
-- Destroy other parts
for _, otherPart in pairs(otherParts) do
otherPart.Parent = nil
otherPart:Destroy()
end
end