PartOperation

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Abstrakcyjna klasa, od której wszystkie części oparte na modelowaniu solidnym dziedziczą.

Podsumowanie

Właściwości

  • Zabezpieczenia dodatku plug-in
    Odczyt równoległy

    Poziom szczegółowości używany do renderowania części modelowej.

  • Zabezpieczenia dodatku plug-in
    Odczyt równoległy

    Kąt w stopniach, który wpływa na gładkie ukształtowanie części modelowej.

  • Tylko do odczytu
    Bez replikacji
    Odczyt równoległy

    Liczba poligonów w tej solnej modelu.

  • Odczyt równoległy

    Określa, czy PartOperation może być pokolorowany za pomocą własności koloru dziedziczonych.

Właściwości odziedziczeni z: TriangleMeshPart
  • Bez replikacji
    Zabezpieczenia dodatku plug-in
    Odczyt równoległy

    Określa poziom szczegółowości, do którego fizyka części będzie przywiązywała się do jej siatki.

  • Bez replikacji
    Zabezpieczenia dodatku plug-in
    Odczyt równoległy

    Określa geometryczną representację używanych do obliczania sił i momentów płynących.

  • Tylko do odczytu
    Bez replikacji
    Odczyt równoległy
Właściwości odziedziczeni z: BasePartWłaściwości odziedziczeni z: PVInstance
  • Bez replikacji
    Brak możliwości dodawania do skryptu
    Odczyt równoległy
  • Bez replikacji
    Brak możliwości dodawania do skryptu
    Odczyt równoległy

Metody

Metody odziedziczeni z: BasePartMetody odziedziczeni z: PVInstance

Zdarzenia

Zdarzenia odziedziczeni z: BasePart

Właściwości

RenderFidelity

Zabezpieczenia dodatku plug-in
Odczyt równoległy

To właściwość określa poziom szczegółowości, na który poziom solidnie zapisany model zostanie wyświetlony. Można ustawić go na możliwe wartości Enum.RenderFidelity zapisu.

Domyślną wartością jest Automatic, co oznacza, że szczegóły części oparte są na jej odległości od kamery, jak pokazano w następującym tabeli.


<tbody>
<tr>
<td>Mniej niż 250 jednostek</td>
<td>Najwyższy</td>
</tr>
<tr>
<td>250-500 jednostek</td>
<td>Średni</td>
</tr>
<tr>
<td>500 lub więcej jednostek</td>
<td>Najniższy</td>
</tr>
</tbody>
Odległość od kameryOdwzorowanie fidelity

SmoothingAngle

Zabezpieczenia dodatku plug-in
Odczyt równoległy

Ta właściwość представляет kąt w stopniach dla wartości próg pomiędzy normalnymi wartościami twarzy na zmodélowanej części. Jeśli różnica jest mniejsza niż wartość, normy zostaną dostosowane, aby zaostolić różnicę. Mientras wartość pomiędzy 30 i 70 stopniami zwykle produkuje dobry wynik, wartości pomiędzy

Uwaga, że gładzenie nie wpływa na normy między różnymi materiałami lub różnymi kolorami.

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

Tylko do odczytu
Bez replikacji
Odczyt równoległy

Liczba poligonów w tej solnej modelu.

UsePartColor

Odczyt równoległy

Ustawia, czy PartOperation może być pokolorowany za pomocą właściwości BasePart.Color lub BasePart.BrickColor. Gdy prawda, cała unia będzie pokolorowana zgodnie z 2>Class.BasePart.Color

Metody

SubstituteGeometry

void

Zastępuje geometrię tego PartOperation przez geometrię innego PartOperation . To ułatwia użycie geometrii solidnego modelowania operacji, takiego jak Class

Uwaga, jeśli wzywasz tę metodę na PartOperation z dzieckiem Attachments lub Constraints, powinieneś obliczyć dotknięte instancje z 1> Class.GeometryService:CalculateSecondsToPreserve()|CalculateSecondsToPreserve()1> , a następnie up

Parametry

source: Instance

Class.PartOperation , którego geometria zastąpi geometrię tego PartOperation .


Zwroty

void

Przykłady kodu

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

Zdarzenia