PartOperation

Visualizza obsoleti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Una classe抽a che tutti i pezzi basati su modellazione solida ereditano.

Sommario

Proprietà

  • Sicurezza Plugin
    Lettura Parallela

    Il livello di dettaglio utilizzato per rendere la parte modellata solida.

  • Sicurezza Plugin
    Lettura Parallela

    Un angolo in gradi che influenza la schermatura liscia di una parte modellata solida.

  • Sola Lettura
    Non Replicato
    Lettura Parallela

    Il numero di poligoni in questo modello solido.

  • Lettura Parallela

    Imposta se la PartOperation può essere colorata utilizzando le proprietà di colore ereditarie.

Proprietà provenienti da TriangleMeshPartProprietà provenienti da BasePartProprietà provenienti da PVInstance

Metodi

Metodi provenienti da BasePartMetodi provenienti da PVInstance

Eventi

Eventi provenienti da BasePart

Proprietà

RenderFidelity

Sicurezza Plugin
Lettura Parallela

Questa proprietà determina il livello di dettaglio che la parte modellata solida sarà mostrata. Può essere impostato sui possibili valori dell'Enum.RenderFidelity枚ame RenderFidelity .

Il valore predefinito è Automatic , il che significa che il dettaglio della parte è basato sulla sua distanza dalla fotocamera come descritti nella seguente tabella.


<tbody>
<tr>
<td>Menos di 250 caratteri</td>
<td>Più Alto</td>
</tr>
<tr>
<td>250-500 studs</td>
<td>Medio</td>
</tr>
<tr>
<td>500 o più studs</td>
<td>Il più basso</td>
</tr>
</tbody>
Distanza dalla fotocameraFiducia di rendering

SmoothingAngle

Sicurezza Plugin
Lettura Parallela

Questa proprietà rappresenta un angolo in gradi per un valore di soglia tra normali del viso tra un modello solido parte. Se la differenza è inferiore al valore, i normali verranno adattati per levigare la differenza. Mentre un valore tra 30 e 70 gradi di solito produce un buon Risultato, i valori tra 90 e 180 non sono raccomandati poiché possono causare un effetto di "ombreggiatura" su le

Nota che lo smoothing non influisce sui normali tra diversi materiali o colori diversi.

Solid modeled part with SmoothingAngle of 0

<figcaption><code>Class.PartOperation.SmoothingAngle|SmoothingAngle</code> = 0</figcaption>
Solid modeled part with SmoothingAngle of 50

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

TriangleCount

Sola Lettura
Non Replicato
Lettura Parallela

Il numero di poligoni in questo modello solido.

UsePartColor

Lettura Parallela

Imposta se il PartOperation può essere colorato utilizzando le proprietà BasePart.Color o BasePart.BrickColor. Quando è vero, l'intera unione sarà colorata come per 2>Class.BasePart.Color|Color2> o 5>

Metodi

SubstituteGeometry

void

Sostituisce la geometria di questo PartOperation con la geometria di un altro PartOperation . Ciò rende più facile utilizzare la geometria

Nota che se chiami questo metodo su un PartOperation con figlio Attachments o Constraints, dovresti calcolare le istanze interessate con 1> Class.GeometryService:CalculateConstraintsToPreserve()|CalculateConstraintsToPreserve()1> , quindi eliminare quelle il cui padre

Parametri

source: Instance

Il PartOperation la cui geometria sostituirà la geometria di questo PartOperation .


Restituzioni

void

Campioni di codice

Substitute Geometry and Drop Constraints

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

Eventi