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 que toutes les parties basées sur modélisation solide héritent de.
Résumé
Propriétés
Le niveau de détail utilisé pour rendre la pièce modélisée solide.
Un angle en degrés qui affecte la ombrage uniforme d'une pièce modélisée solide.
Le nombre de polygones dans ce modèlisationsolide.
Définit si la PartOperation peut être recolorée en utilisant les propriétés de couleur héritées.
Détermine le niveau de détail que 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 de forces aéroynamiques.
Détermine si une partie est immovable physiquement.
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 vélocité 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 dos d'une pièce (+Z direction).
Détermine le type de surface pour le visage inférieur d'une partie (-Y direction).
Détermine la couleur d'une partie.
Détermine la position et l'orientation de la BasePart dans le monde.
Détermine si une partie peut se heurter à d'autres parties.
Détermine si la partie est envisagée pendant les opérations de requête spatiale.
Détermine si les événements Touched et TouchEnded se déclenchent sur la partie.
Détermine si oui ou non une partie lance une ombre.
Décrivez la position dans le monde dans laquelle se trouve le centre de masse d'une partie.
Décrivez le nom d'un groupe de collision de pièce.
Détermine la couleur d'une partie.
Indique les propriétés physiques actuelles de la partie.
Détermine plusieurs propriétés physiques d'une partie.
Utilisé pour activer ou désactiver les forces aéroynamiques sur les parties et les assemblages.
La taille physique réelle de la BasePart comme indiqué par le moteur de physique.
Détermine le type de surface pour la face avant d'une pièce (-Z direction).
Détermine le type de surface pour le visage 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 peut être sélectionnée dans Studio.
Décrivez la masse de la pièce, 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écrivez la rotation de la pièce dans le monde.
Spécifie l'Offset de la pivot de la partie de son CFrame.
Décrivez la position de la partie dans le monde.
Temps depuis la dernière mise à jour de la physique.
Détermine la quantité de lumière reflétée par une pièce.
Décrivez la plus petite modification de taille autorisée par la méthode Redimensionner.
Décrivez 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 dans le détermination de la partie racine d'une assemblage.
La rotation de la pièce en degrés pour les trois axes.
Détermine les dimensions d'une partie (Longueur, largeur, hauteur).
Détermine le type de surface pour la face supérieure d'une pièce (+ Y direction).
Détermine la quantité de partie qui peut être vue à travers (l'inverse de l'opacité de la partie).
Méthodes
Substitue la géométrie de ce PartOperation par la géométrie d'un autre PartOperation.
Appliquez une impulsion angulaire à l'assemblage.
Appliquez un impulsion à l'assemblage à l'assemblage de center of mass .
Appliquez un impulsion à l'assemblage à la position spécifiée.
Retourne si les parties peuvent se heurter l'une à l'autre.
Vérifie si vous pouvez configurer la propriété du réseau d'une partie.
Renvoie une table de pièces connectées à l'objet par n'importe quel type de articulationrigide.
Retournez toutes les Jointures ou Contraintes qui sont connectées à cette partie.
Retourne la valeur de la propriété Mass.
Renvoie le joueur actuel qui est le propriétaire du réseau de cette partie, ou zéro dans le cas du serveur.
Retourne vrai si le moteur de jeu décide automatiquement le propriétaire du réseau pour cette partie.
Renvoie la partie de base d'une assemblage de pièces.
Renvoie une table de toutes les parties BasePart.CanCollide vraies qui intersectent avec cette partie.
Renvoie la vitesse linéaire de l'assemblage de la partie à la position donnée par rapport à cette partie.
Renvoie vrai si l'objet est connecté à une partie qui le retiendra (par exemple, une partie Anchored )), sinon renvoie faux.
Change la taille d'un objet juste comme utiliser l'outil de redimensionnement 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 (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 superposée des parties et des autres parties dans l'matricedonné.
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Crée une nouvelle UnionOperation à partir de la partie, en minusant 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 à partir 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 afin que le pivot soit maintenant situé dans le CFrame spécifié.
Évènements
Évènements hérités de BasePartSe déclenche lorsqu'une partie arrête de toucher une autre partie en résultant d'un mouvement physique.
Feu quand une partie touche une autre partie en résultant d'un mouvement physique.
Propriétés
RenderFidelity
Cette propriété détermine le niveau de détail que la pièce modélisée en solide sera affichée. Il peut être réglé sur les valeurs possibles de l'index Enum.RenderFidelity.
La valeur par défaut est Automatic, ce qui signifie que le détail de la pièce est basé sur sa distance de la caméra comme indiqué dans la table suivante.
<tbody><tr><td>Moins de 250 caractères</td><td>Le plus élevé</td></tr><tr><td>250-500 goujons</td><td>Moyen</td></tr><tr><td>500 ou plus de mètres</td><td>Le plus bas</td></tr></tbody>
Distance de la caméra | Rendu de fidélité |
---|
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. Si la différence est inférieure à la valeur, les normales seront ajustées pour lisser la différence. Bien qu'une valeur entre 30 et 70 degrés soit généralement un bon resultats, les valeurs entre 90 et 180 ne sont pas recommandées car elles peuvent provoquer un effet d'ombrage sur les union avec des
Remarquez que le lissage n'affecte pas les normales entre différents matériaux ou couleurs différentes.
UsePartColor
Définit si le PartOperation peut être recoloré à l'aide des propriétés BasePart.Color ou BasePart.BrickColor. Lorsque c'est vrai, l'ensemble de l'union sera recoloré comme prévu par 2>Class.Base
Méthodes
SubstituteGeometry
Substitue la géométrie de ce PartOperation par la géométrie d'une autre PartOperation . Cela facilite l'utilisation de la géométrie d'une op
Notez que si vous appelez cette méthode sur un PartOperation avec un enfant Attachments ou Constraints, vous devez calculer les instances affectées avec 1> Class.GeometryService:CalculateSecondsToPreserve()|CalculateSecondsToPreserve()1> , puis déposer celles dont le parent recommandé est 4>
Paramètres
La PartOperation dont la géométrie remplacera la géométrie de cette PartOperation.
Retours
Échantillons de code
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