PartOperation
*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 solidów dziedziczą.
Podsumowanie
Właściwości
Poziom szczegółowości używany do renderowania solidnej części modelowanej.
Kąt w stopniach, który wpływa na gładkie zacienienie części modelowanej.
Liczba pól w tym modelu solidu.
Ustawia, czy PartOperation może zostać ponownie skolorowane za pomocą dziedziczonej właściwości koloru.
Określa poziom szczegółowości, do którego fizyka części będzie przestrzegać jej siatki.
Określa reprezentację geometryczną używaną do obliczania sił i momentów aerodynamicznych.
Określa, czy część jest nieruchoma z fizyki.
Prędkość kątowa montażu części.
Centrum masy złożenia części w przestrzeni świata.
Liniowa prędkość montażu części.
Całkowita masa montażu części.
Odwołanie do części korzeniowej zbioru.
Określa rodzaj powierzchni dla tylnej strony części (+ kierunek Z).
Określa rodzaj powierzchni dla dolnej strony części (-Y kierunek).
Określa kolor części.
Określa pozycję i orientację BasePart w świecie.
Określa, czy część może zderzyć się z innymi częściami.
Określa, czy część jest rozważana podczas operacji zapytania przestrzennego.
Określa, czy zdarzenia Touched i TouchEnded wystrzelają z części.
Określa, czy część rzuca cień, czy nie.
Opisuje pozycję świata, w której znajduje się centrum masy części.
Opisuje nazwę grupakolizji części.
Określa kolor części.
Wskazuje aktualne właściwości fizyczne części.
Określa kilka fizycznych właściwości części.
Używany do włączania lub wyłączania sił aerodynamicznych na częściach i zespołach.
Rzeczywisty rozmiar fizyczny BasePart zgodnie z silnikiem fizycznym.
Określa rodzaj powierzchni dla przodu części (-Z kierunek).
Określa rodzaj powierzchni dla lewej strony części (-X kierunek).
Określa mnożnik dla BasePart.Transparency, który jest widoczny tylko dla lokalnego klienta.
Określa, czy część jest wybieralna w Studio.
Opisuje masę części, produkt jej gęstości i objętości.
Określa, czy część przyczynia się do całkowitej masy lub bezwładności jej twardego ciało.
Określa teksturę i domyślne właściwości fizyczne części.
Nazwa MaterialVariant.
Opisuje rotację części w świecie.
Określa przesunięcie osi części od jej CFrame.
Opisuje pozycję części w świecie.
Czas od ostatniej rejestrowanej aktualizacjafizyki.
Określa, ile część odzwierciedla niebo.
Opisuje najmniejszą zmianę rozmiaru dozwoloną przez metodę Skalowanie.
Opisuje twarze, na których można zmienić rozmiar części.
Określa rodzaj powierzchni dla prawej strony części (+X kierunek).
Główna zasada określania głównej części złożenia.
Rotacja części w stopniach dla trzech osi.
Określa wymiary części (długość, szerokość, wysokość).
Określa rodzaj powierzchni dla górnej części części (+ kierunek Y).
Określa, jak dużo część może być widoczna poprzez (odwrotność przeźroczystości części).
Metody
Zastępuje geometrię tej PartOperation geometrią innej PartOperation .
Zastosuj impuls kątowy do złożenia.
Zastosuj impuls do zgromadzenia na zgromadzeniu center of mass .
Zastosuj impuls do złożenia w określonej pozycji.
Zwraca, czy części mogą się ze sobą zderzać.
Sprawdza, czy możesz ustawić własność sieci części.
Zwraca tabelę części połączonych z obiektem za pomocą dowolnego rodzaju sztywnego stawu.
Zwróć wszystkie stawy lub ograniczenia, które są połączone z tą częścią.
Zwraca wartość właściwości Mass .
Zwraca obecnego gracza, który jest właścicielem sieci tej części lub nil w przypadku serwera.
Zwraca prawdę, jeśli silnik gry automatycznie decyduje o właścicielu sieci dla tej części.
Zwraca podstawową część zespołu części.
Zwraca tabelę wszystkich BasePart.CanCollide prawdziwych części, które się z tym częścią pokrywają.
Zwraca liniową prędkość montażu części w danym położeniu względem tej części.
Wyświetla prawdę, jeśli obiekt jest połączony z częścią, która go utrzyma w miejscu (np. częścią Anchored), w przeciwnym razie wyświetla fałsz.
Zmienia rozmiar obiektu tak jak za pomocą narzędzia przesuwania rozmiaru Studio.
Ustawia danego gracza jako właściciela sieci dla tej i wszystkich połączonych części.
Pozwala silnikowi gry dynamicznie decydować, kto będzie zajmował się fizyką części (jeden z klientów lub serwer).
- IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Tworzy nową IntersectOperation z pokrywającej się geometrii części i innych części w danym obszarze.
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Tworzy nowy UnionOperation z części, odejmując geometrię zajętą przez części w danym array.
- UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Tworzy nowy UnionOperation z części, plus geometrię zajętą przez części w danym array.
Otrzymuje pivot z PVInstance .
Przekształca PVInstance wraz z całym jego potomkiem PVInstances tak, że osie zostaną teraz umieszczone w określonym CFrame .
Zdarzenia
Zdarzenia odziedziczeni z: BasePartWypala się, gdy część przestaje dotykać innej części w wyniku ruchu fizycznego.
Wypala się, gdy część dotyka innej części w wyniku ruchu fizycznego.
Właściwości
RenderFidelity
Właściwość ta określa poziom szczegółowości, na którym zostanie wyświetlona modelowana część.Można go ustawić na możliwe wartości enum Enum.RenderFidelity.
Domyślną wartością jest Automatic , co oznacza, że szczegóły części są oparte na jej odległości od kamery, jak opisano w następującej tabeli.
<th>Wierność renderowania</th></tr></thead><tbody><tr><td>Mniej niż 250 kołków</td><td>Najwyższy</td></tr><tr><td>250-500 szpilki</td><td>Średni</td></tr><tr><td>500 lub więcej szpil</td><td>Najniższy</td></tr></tbody>
Odległość od kamery |
---|
SmoothingAngle
Właściwość ta reprezentuje kąt w stopniach dla wartości progu między płaszczyznami normalnymi na części modelowanej w całości.Jeśli różnica normalna jest mniejsza niż wartość, normy zostaną dostosowane, aby wygładzić różnicę.Podczas gdy wartość pomiędzy 30 a 70 stopniami zwykle daje dobry wynik, wartości pomiędzy 90 a 180 nie są zalecane, ponieważ mogą powodować efekt "obserwacji" na związkach z ostrymi krawędziami.
Zauważ, że wygładzanie nie wpływa na normalne między różnymi materiałami lub różnymi kolorami.

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

<figcaption><code>Klasa.PartOperation.SmoothingAngle|SmoothingAngle</code> = 50</figcaption>
UsePartColor
Ustawia, czy PartOperation może zostać ponownie skolorowane za pomocą właściwości BasePart.Color lub BasePart.BrickColor.Gdy prawda, cała unia będzie kolorowana zgodnie z Color lub BrickColor.Gdy jest fałszywy, części w unii zachowają swoje oryginalne kolory przed wykonaniem operacji cebuli.
Metody
SubstituteGeometry
Zastępuje geometrię tej PartOperation geometrią innej PartOperation .Ułatwia to wykorzystanie geometrii operacji modelowania solidów, takich jak UnionAsync() , SubtractAsync() lub IntersectAsync() , ale zachowanie właściwości, atrybutów, tagów i dzieci głównej części, takich jak Attachments , Constraints , ParticleEmitters , lekkie obiekty, nadruki i więcej.Ta metoda unika również potencjalnego "flickera" całkowitego zastąpienia oryginalnego PartOperation innym.
Zauważ, że jeśli wzywasz tę metodę na PartOperation z dzieckiem Attachments lub Constraints , powinieneś obliczyć dotknięte instancje za pomocą CalculateConstraintsToPreserve() , a następnie upuścić te, których zalecany rodzic jest nil .
Parametry
The PartOperation którego geometria zastąpi geometrię tego PartOperation .
Zwroty
Przykłady kodu
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