PartOperation

Mostrar obsoleto

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Una clase abstracta que hereda de todos los partes basadas en modelado sólido .

Resumo

Propriedades

Propriedades herdados de TriangleMeshPartPropriedades herdados de BasePartPropriedades herdados de PVInstance

Métodos

Métodos herdados de BasePartMétodos herdados de PVInstance

Eventos

Eventos herdados de BasePart

Propriedades

RenderFidelity

Ler Parallel
Segurança do plugin

Esta propiedad determina el nivel de detalle que se mostrará en el modelo sólido. Se puede establecer para los valores posibles del Enum.RenderFidelity enum.

El valor predeterminado es Automatic, lo que significa que el detalle de la parte se basa en su distancia de la cámara como se indica en la siguiente tabla.


<tbody>
<tr>
<td>Menos de 250 pies</td>
<td>Más alto</td>
</tr>
<tr>
<td>250-500 pies</td>
<td>Medio</td>
</tr>
<tr>
<td>500 o más studs</td>
<td>Más bajo</td>
</tr>
</tbody>
Distancia de la cámaraRenderizado de fidelidad

SmoothingAngle

Ler Parallel
Segurança do plugin

Esta propiedad representa un ángulo en grados para un valor de umbral entre normales de cara en una parte modelada con solidez. Si la diferencia es menor que el valor, los normales se ajustarán para suavizar la diferencia. Mientras que un valor entre 30 y 70 grados generalmente produce un buen resultado, los valores entre 90 y 180 no se recomiendan como pueden producir un efecto de "sombreado" en las uniones con bordes a

Tenga en cuenta que la suavización no afecta a los valores entre diferentes materiales o colores.

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

Somente leitura
Não replicado
Ler Parallel

El número de polígonos en este aplicación de modeladosólido.

UsePartColor

Ler Parallel

Establece si el PartOperation se puede recolorar con las propiedades BasePart.Color o BasePart.BrickColor. Cuando eso es así, toda la unión se coloreará según 2>Class.BasePart.Color|Color2> o

Métodos

SubstituteGeometry

void

Sustit

Nota que si estás llamando este método en un PartOperation con hijos Attachments o Constraints, deberías calcular las instancias afectadas con 1> Class.GeometryService:CalculateSecondsToPreserve()|CalcularSecondsToPreserve()1> , luego soltar aquellos cuyo padre recomendado

Parâmetros

source: Instance

El PartOperation cuya geometría sustituirá la geometría de este PartOperation.


Devolução

void

Amostras de código

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

Eventos