PartOperation
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Eine abstrakte Klasse, von der alle Teile, die auf Solidenmodellierung basieren, erben.
Zusammenfassung
Eigenschaften
Das Detailgrad, mit dem das solid modellierte Teil gerendert wird.
Ein Winkel in Grad, der die glatte Beschattung eines modellierten Solids beeinflusst.
Die Anzahl der Polygone in diesem Modell.
Legt fest, ob die PartOperation mit erbten Farb属性 neu gefärbt werden kann.
Bestimmt das Detaillierungsgrad, an dem die Physik des Teils sich an sein Meshhält.
Bestimmt die geometrische Darstellung, die verwendet wird, um aerodynamische Kräfte und Momente zu berechnen.
Bestimmt, ob ein Teil durch die Physik unbewegbar ist.
Die anguläre Geschwindigkeit der Montagemaschine des Teils.
Das Zentrum der Masse der Montagemaschine des Teils im Platz.
Die lineare Geschwindigkeit der Montagemaschine des Teils.
Die Gesamtmenge der Montagemaske des Teils.
Eine Referenz auf den Wurzelteil der Montagemaschine.
Bestimmt die Art der Oberfläche für die Rückseite eines Teils (+Z-Richtung).
Bestimmt die Art der Oberfläche für das untere Gesicht eines Teils (-Y-Richtung).
Bestimmt die Farbe eines Teils.
Bestimmt die Position und Ausrichtung des BasePart in der Welt.
Bestimmt, ob ein Teil mit anderen Teilen kollidieren kann.
Bestimmt, ob das Teil während räumlicher Abfrageoperationen berücksichtigt wird.
Bestimmt, ob Touched und TouchEnded Ereignisse auf der Seite abgefeuert werden.
Bestimmt, ob ein Teil einen Schatten wirft oder nicht.
Beschreibt die Weltposition, in der sich das Zentrum der Masse eines Teils befindet.
Beschreibt den Namen der Gruppeeines Teils.
Bestimmt die Farbe eines Teils.
Zeigt die aktuellen physischen Eigenschaften des Teils an.
Bestimmt mehrere physische Eigenschaften eines Teils.
Wird verwendet, um aerodynamische Kräfte auf Teilen und Montagemaschinen zu aktivieren oder zu deaktivieren.
Die tatsächliche physische Größe des BasePart als von der Physik-Engine betrachtet.
Bestimmt die Art der Oberfläche für die Vorderseite eines Teils (-Z-Richtung).
Bestimmt die Art der Oberfläche für das linke Gesicht eines Teils (-X-Richtung).
Legt einen Multiplikator für BasePart.Transparency fest, der nur für den lokalen Client sichtbar ist.
Bestimmt, ob ein Teil in Studio auswählbar ist.
Beschreibt die Masse des Teils, das Produkt seiner Dichte und Größe.
Bestimmt, ob das Teil zur Gesamtmenge oder zur Inertie seines steifen Körpers beiträgt.
Bestimmt die Textur und die Standardphysikalischen Eigenschaften eines Teils.
Der Name von MaterialVariant.
Beschreibt die Rotation des Teils in der Welt.
Gibt den Versatz des Drehpunkts des Teils von seinem CFrame an.
Beschreibt die Position des Teils in der Welt.
Zeit seit dem letzten aufgezeichneten Physik-Update.
Bestimmt, wie viel ein Teil die Skybox widerspiegelt.
Beschreibt die kleinste Änderung in der Größe, die durch die Größenänderungs方法 zulässig ist.
Beschreibt die Gesichter, auf denen ein Teil skaliert werden kann.
Bestimmt die Art der Oberfläche für die rechte Seite eines Teils (+X-Richtung).
Die Hauptregel bei der Bestimmung des Wurzelteils einer Montagemaschine.
Die Rotation des Teils in Grad für die drei Achsen.
Bestimmt die Dimensionen eines Teils (Länge, Breite, Höhe).
Bestimmt die Art der Oberfläche für die Vorderseite eines Teils (+Y-Richtung).
Bestimmt, wie viel ein Teil durchgesehen werden kann (das Gegenteil der Part-Opazität).
Methoden
Substituiert die Geometrie dieser PartOperation mit der Geometrie eines anderen PartOperation.
Wenden Sie einen angulären Impuls auf die Montagemaschine an.
Wenden Sie einen Impuls auf die Montagemaschine im Montagemodus center of mass an.
Wenden Sie einen Impuls auf die Montagemaschine an an der angegebenen Position.
Gibt zurück, ob die Teile miteinander kollidieren können.
Überprüft, ob Sie das Netzwerkbesitz eines Teils festlegen können.
Gibt eine Tabelle von Teilen zurück, die mit dem Objekt durch eine starre Verbindung verbunden sind.
Gib alle Gelenke oder Einschränkungen zurück, die mit diesem Teil verbunden sind.
Gibt den Wert der Mass Eigenschaftenzurück.
Gibt den aktuellen Spieler zurück, der der Netzwerkbesitzer dieses Teils ist, oder nil im Falle des Servers.
Gibt wahr zurück, wenn die SpielEngine das Netzwerkbesitzer automatisch für diesen Teil entscheidet.
Gibt das Basisteil einer Montagemaschine von Teilen zurück.
Gibt eine Tabelle aller BasePart.CanCollide Teile zurück, die sich mit diesem Teil überlappen.
Gibt die lineare Geschwindigkeit der Montagemaschine des Teils an der angegebenen Position in Bezug auf dieses Teil zurück.
Gibt wahr zurück, wenn das Objekt mit einem Teil verbunden ist, das es an einer Stelle hält (z. B. ein Anchored Teil), sonst gibt es false zurück.
Ändert die Größe eines Objekts genau wie mit dem Tool.
Setzt den angegebenen Spieler als Netzwerkbesitzer für dieses und alle verbundenen Teile.
Lässt die SpielEngine dynamisch entscheiden, wer die Physik des Teils handhabt (einer der Clients oder der Server).
- IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Erstellt eine neue IntersectOperation aus der überlappenden Geometrie des Teils und der anderen Teile in dem angegebenen Array.
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Erstellt ein neues UnionOperation vom Teil, minus die Geometrie, die von den Teilen im angegebenen Array besetzt wird.
- UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Erstellt ein neues UnionOperation vom Teil plus die Geometrie, die von den Teilen im angegebenen Array besetzt wird.
Holt den Pivot eines PVInstance .
Verwandelt die PVInstance zusammen mit all ihren Nachkommen PVInstances, so dass der Pivot jetzt an der angegebenen CFrame position ist.
Ereignisse
Ereignisse von BasePart übernommenFeuert, wenn ein Teil aufgrund einer physischen Bewegung aufhört, ein anderes Teil zu berühren.
Feuert, wenn ein Teil aufgrund einer physischen Bewegung einen anderen Teil berührt.
Eigenschaften
RenderFidelity
Diese Eigenschaft legt fest, auf welchem Detailgrad das solid modellierte Teil angezeigt wird.Es kann auf die möglichen Werte des Enum.RenderFidelity Enum festgelegt werden.
Der Standardwert ist Automatic , was bedeutet, dass sich die Details des Teils auf seine Entfernung von der Kamera beziehen, wie im folgenden Tabelle beschrieben.
<th>Rendergenauigkeit</th></tr></thead><tbody><tr><td>Weniger als 250 Stollen</td><td>Höchste</td></tr><tr><td>250-500 klötze</td><td>Mittel</td></tr><tr><td>500 oder mehr stollen</td><td>Niedrigste</td></tr></tbody>
Entfernung von der Kamera |
---|
SmoothingAngle
Diese Eigenschaft repräsentiert einen Winkel in Grad für einen Schwellenwert zwischen Gesichtsnormalen auf einem modellierten Festteil.Wenn der normale Unterschied weniger als der Wert ist, werden Normale angepasst, um den Unterschied zu glätten.Während ein Wert zwischen 30 und 70 Grad in der Regel ein gutes Ergebnis erzielt, werden Werte zwischen 90 und 180 nicht empfohlen, da sie einen "Schatteneffekt" auf Gewerkschaften mit scharfen Kanten verursachen können.
Beachte, dass die Glättung die Normale zwischen verschiedenen Materialien oder verschiedenen Farben nicht beeinflusst.

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

<figcaption><code>Class.PartOperation.SmoothingAngle|SmoothingAngle</code> = 50</figcaption>
UsePartColor
Legt fest, ob die PartOperation mit den BasePart.Color oder BasePart.BrickColor Eigenschaften neu gefärbt werden kann.Wenn wahr, wird die gesamte Union wie per Color oder BrickColor gefärbt.Wenn falsch, behalten die Teile in der Union ihre ursprünglichen Farben vor der Ausführung der Zwiebeloperation.
Methoden
SubstituteGeometry
Substituiert die Geometrie dieser PartOperation mit der Geometrie eines anderen PartOperation.Dies erleichtert es, die Geometrie einer soliden Modellierungsoperation wie UnionAsync() , SubtractAsync() oder IntersectAsync() zu nutzen, aber Eigenschaften, Attribute, Attribute und Kinder der Hauptteile wie Attachments , Constraints oder ParticleEmitters zu erhalten, aber leichte Objekte, Aufkleber und mehr.Dieser Ansatz umgeht auch das mögliche "Flimmern", das bestehende Original PartOperation durch ein anderes zu ersetzen.
Beachte, dass, wenn du diese Methode auf einem PartOperation mit Kind Attachments oder Constraints aufrufst, du die betroffenen Instanzen mit CalculateConstraintsToPreserve() berechnen solltest, dann diejenigen, deren empfohlener Elternteil nil ist.
Parameter
Die PartOperation, deren Geometrie die Geometrie dieser PartOperation ersetzen wird.
Rückgaben
Code-Beispiele
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