PartOperation
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Una classe astratta da cui tutte le parti basate su modellazione solida ereditano.
Sommario
Proprietà
Il livello di dettaglio utilizzato per rendere la parte modellata solida.
Un angolo in gradi che influisce sulla lussuosa ombreggiatura di una parte modellata solida.
Il numero di poligoni in questo modello solido.
Imposta se il PartOperation può essere ricolorato utilizzando le proprietà di colore ereditate.
Determina il livello di dettaglio a cui la fisica della parte aderirà alla sua Mesh, maglia.
Determina la rappresentazione geometrica utilizzata per calcolare le forze aerodinamiche e i momenti.
Determina se una parte è immovibile per la fisica.
La velocità angolare dell'assemblaggio della parte.
Il centro di massa dell'assemblaggio della parte nello Spaziomondiale.
La velocità lineare dell'assemblaggio della parte.
La massa totale dell'assemblaggio della parte.
Un riferimento alla parte radice dell'assemblaggio.
Determina se la parte interagirà fisicamente con la simulazione audio, simile a CastShadow per l'illuminazione.
Determina il tipo di superficie per il lato posteriore di una parte.
Determina il tipo di superficie per il lato inferiore di una parte.
Determina il colore di una parte.
Determina la posizione e l'orientamento del BasePart nel Mondo.
Determina se una parte può collisionare con altre parti.
Determina se la parte viene considerata durante le operazioni di query spaziali.
Determina se Touched e TouchEnded eventi di fuoco sulla parte.
Determina se una parte lancia o meno un'ombra.
Descrive la posizione mondiale in cui si trova il centro di massa di una parte.
Descrive il nome del Gruppodi collisione di una parte.
Determina il colore di una parte.
Indica le attuali proprietà fisiche della parte.
Determina diverse proprietà fisiche di una parte.
Utilizzato per abilitare o disabilitare le forze aerodinamiche su parti e assemblaggi.
La dimensione fisica reale del BasePart come considerata dall'engine della fisica.
Determina il tipo di superficie per la faccia anteriore di una parte.
Determina il tipo di superficie per il lato sinistro di una parte.
Determina un moltiplicatore per BasePart.Transparency che è visibile solo al client locale.
Determina se una parte è selezionabile in Studio.
Descrive la massa della parte, il prodotto della sua densità e volume.
Determina se la parte contribuisce alla massa totale o all'inerzia del suo corpo rigido.
Determina la texture e le proprietà fisiche predefinite di una parte.
Il nome di MaterialVariant .
Descrive la rotazione della parte nel Mondo.
Specifica l'offset del punto di rotazione della parte dal suo CFrame .
Descrive la posizione della parte nel Mondo.
Tempo trascorso dall'ultimo Aggiornarmentodella fisica registrata.
Determina quanto una parte rifletta la skybox.
Descrive il più piccolo cambiamento nelle dimensioni consentito dal metodo Resize().
Descrive i volti su cui una parte può essere ridimensionata.
Determina il tipo di superficie per il lato destro di una parte.
La regola principale nella determinazione della parte radice di un'assemblaggio.
La rotazione della parte in gradi per i tre assi.
Determina le dimensioni di una parte (lunghezza, larghezza, altezza).
Determina il tipo di superficie per la faccia superiore di una parte.
Determina quanto una parte può essere vista attraverso (l'inverso dell'opacità della parte).
Metodi
Sostituisce la geometria di questo PartOperation con la geometria di un altro PartOperation .
Applica un impulso angolare all'assemblaggio.
Applica un impulso all'assemblaggio all'assemblaggio di center of mass .
Applica un impulso all'assemblaggio in posizione specificata.
Restituisce se le parti possono scontrarsi tra loro.
Verifica se è possibile impostare la proprietà della rete di una parte.
Restituisce una tabella di parti connesse all'oggetto da qualsiasi tipo di Articolazionerigida.
Restituisci tutti i Giunti o Confinamenti che sono connessi a questa Parte.
Restituisce il valore della proprietà Mass Proprietà.
Restituisce il giocatore attuale che è il proprietario di rete di questa parte, o nil in caso del Server.
Restituisce vero se il motore di gioco decide automaticamente il proprietario della rete per questa parte.
Restituisce la parte di base di un'assemblaggio di parti.
Restituisce una tabella di tutte le BasePart.CanCollide parti vere che si intersecano con questa parte.
Restituisce la velocità lineare dell'assemblaggio della parte alla posizione data rispetto a questa parte.
Restituisce vero se l'oggetto è connesso a una parte che lo terrà in posizione (ad esempio una parte Anchored), altrimenti restituisce falso.
Cambia le dimensioni di un oggetto proprio come l'utilizzo dello strumento ridimensionamento di Studio.
Imposta il giocatore dato come proprietario della rete per questo e tutte le parti connesse.
Consente al motore di gioco di decidere dinamicamente chi gestirà la fisica della parte (uno dei client o del Server).
- IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Crea una nuova IntersectOperation dalla geometria sovrapposta della parte e delle altre parti nell'vettorefornito.
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Crea una nuova UnionOperation dalla parte, meno la geometria occupata dalle parti nell'vettorefornito.
- UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Crea una nuova UnionOperation dalla parte, più la geometria occupata dalle parti nell'vettorefornito.
Ottiene il punto focale di un PVInstance .
Trasforma il PVInstance insieme a tutti i suoi discendenti PVInstances in modo che il punto di rotazione sia ora situato all'interno del CFrame specificato.
Eventi
Eventi provenienti da BasePartSi accende quando una parte smette di toccare un'altra parte a causa di un movimento fisico.
Si accende quando una parte tocca un'altra parte a causa di un movimento fisico.
Proprietà
RenderFidelity
Questa proprietà determina il livello di dettaglio in cui verrà mostrata la parte modellata solida.Può essere impostato ai possibili valori dell'enum Enum.RenderFidelity .
Il valore predefinito è Automatic , il che significa che il dettaglio della parte è basato sulla sua distanza dalla fotocamera come descritto nella seguente tabella.
<th>Rendere la fedeltà</th></tr></thead><tbody><tr><td>Meno di 250 borchie</td><td>Più alto</td></tr><tr><td>250-500 metri</td><td>Mediamente</td></tr><tr><td>500 o più borchie</td><td>Minore</td></tr></tbody>
Distanza dalla telecamera |
---|
SmoothingAngle
Questa proprietà rappresenta un angolo in gradi per un valore di soglia tra le normali facciali su una parte modellata solida.Se la differenza normale è inferiore al valore, le normali verranno aggiustate per attenuare 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 "ombreggiamento" sui sindacati con bordi affilati.
Nota che la lisciatura non influisce sui normali tra diversi materiali o colori diversi.

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

<figcaption><code>Class.PartOperation.SmoothingAngle|SmoothingAngle</code> = 50</figcaption>
UsePartColor
Imposta se il PartOperation può essere ricolorato utilizzando le proprietà BasePart.Color o BasePart.BrickColor.Quando è vero, l'intera unione sarà colorata come per Color o BrickColor .Quando è falso, le parti nell'unione manterranno i loro colori originali prima che venisse eseguita l'operazione di cipolla.
Metodi
SubstituteGeometry
Sostituisce la geometria di questo PartOperation con la geometria di un altro PartOperation .Questo rende più facile utilizzare la geometria di un'operazione di modellazione solida come UnionAsync() , SubtractAsync() , o IntersectAsync() ma mantenere le proprietà, gli attributi, i tag e i figli della parte principale come Attachments , Constraints , ParticleEmitters , oggetti leggeri, decorazioni e altro ancora.Questo approccio evita anche il potenziale "flicker" di sostituire completamente l'originale PartOperation con un altro.
Nota che se stai chiamando questo metodo su un PartOperation con figlio Attachments o Constraints , dovresti calcolare le istanze interessate con CalculateConstraintsToPreserve() , quindi lasciare quelle il cui genitore raccomandato è nil .
Parametri
Il PartOperation la cui geometria sostituirà la geometria di questo PartOperation .
Restituzioni
Campioni di codice
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