Mocna Modeling

*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.

Solid modelowanie to proces łączenia części razem w wyjątkowy sposób, aby tworzyć bardziej złożone kształty znane jako związania lub 0>intersekcje0>. Możesz wykonać cztery operacje solidnego modelowania używając narzędzi w zakładce 3>Model 3>.

Studio's Model tab with the Solid Modeling tools highlighted.
NarzędzieSkrótOpis
Unia Shift CtrlG (Windows) Shift 1> ⌘1> 3> G3> (Mac)Połącz dwa lub więcej części razem, aby tworzyć jedną, spójną unię.
Interweniuj Shift CtrlI (Windows) Shift 1> ⌘1> 3> I3> (Mac)Połącz otaczające się części w jedną spójną wiąзę.
Odrzuć Shift CtrlN (Windows) Shift 1> ⌘1> 3> N3> (Mac)Odrzucaj części, przydatne do tworzenia dziur i zaznaczeń.
Oddzielny Shift CtrlU (Windows) Shift 1> ⌘1> 3> U3> (Mac)Rozdziel lub zespoł połączeń ponownie w jego poszczególnych części.

Łączenie części

Narzędzie Unia łączy dwa lub więcej części w jedną spadającą całość UnionOperation . Domyślnie nowa unia szanuje właściwość Color każdej z jej części, choć możesz włączyć jego właściwość 1> Class.PartOperation.UsePartColor|UsePart

Block and cylinder parts overlapping

Aby połączyć części w jedną unię:

  1. Wybierz wszystkie części, aby dołączyć razem.

  2. Kliknij przycisk Unia . Wszystkie części połączone są w jedną spójną UnionOperation z imieniem Unia .

    Union tool indicated in Model tab

Połączające części

Narzędzie Intersect łączy różne części w jedną spójną IntersectOperation . Domyślnie kolory twarzy wynikającego interesji są pożyczone z właściwości Color z oryginalnych części, chociaż możesz włączyć jego 1> Class.PartOperation

Block and cylinder parts overlapping

Aby połączyć części, które się wzajemnie przenikają:

  1. Wybierz wszystkie części do połączenia.

  2. Kliknij przycisk Intersect . Wszystkie części połączone są w jedną spójną IntersectOperation z imieniem Intersect .

    Intersect tool indicated in Model tab

Negowanie części

Narzędzie Odrzuć odrzuca część, aby u łączyć z inną częścią , kształt negatywnej części jest odrzucony od innej części.

Negated block overlapping a cylinder

Aby odejść część z innych pokrewnych części:

  1. Wybierz część, którą chcesz negować z innych części.

  2. Kliknij Odrzuć . Część staje się NegateOperation z imieniem NegativePart i staje się różowa i przejrzysta, aby określić jej stan.

    Negate tool indicated in Model tab
  3. Wybierz zarówno negowaną część, jak i części, które chcesz z niej odebrać.

  4. Kliknij Unię . Część negowana jest wycięta z włączonych pokrywających się części.

    Union tool indicated in Model tab

Rozdzielanie Związków lub Intersekcji

Narzędzie Separate oddziela Class.UnionOperation ponownie w jego pojedyncze części, służąc w zasadzie jako narzędzie "cofnięcia" dla związków i intersekcji.

Aby oddzielić unię lub krzyżowanie z powrotem w poszczególne części:

  1. Wybierz UnionOperation.

  2. Kliknij oddzielne . Części oddzielne powrót do ich oryginalnej formy.

    Separate tool indicated in Model tab

Odwzorowanie fidelity

Domyślnie nowe solidnie modelowane operacje zawsze będą wyświetlane w Automatic render fidelity, co oznacza, że szczegół części opiera się na jej odległości od kamery, jak opisano w następującej tabeli.

Odległość od kameryOdwzorowanie fidelity
Mniej niż 250 jednostekNajwyższy
250-500 jednostekŚredni
500 lub więcej jednostekNajniższy

Zmiękczenie kąta

A solidnie zapisany model części SmoothingAngle zmootuje kąty między sąsiadującymi powierzchniami tego samego koloru lub materiału. Wyższa wartość wytwarza gładki wygląd, a niższa wartość wytwarza gładki wygląd z bardziejostrymi krawędźmi.

Podczas gdy wartość pomiędzy 30 i 70 stopni zwykle generuje dobry wynik, wartości pomiędzy 90 i 180 nie są rekomendowane, ponieważ mogą powodować efekt "ciemienia" na związkach i węzłach ostrych krawędzi.

W modelowaniu solidnym

Oprócz narzędzi Związek, Intersect i Negate w Studio możesz pozwolić graczom używać solidnych

Zwój trybunał

Aby pokazać UnionAsync() , następujące Script używa Part1 1> Class.BasePart


local mainPart = workspace.Part1
local otherParts = {workspace.Part2, workspace.Part3, workspace.Part4}
-- Wykonaj operację połączenia
local success, newUnion = pcall(function()
return mainPart:UnionAsync(otherParts)
end)
-- Jeśli operacja się powoduje, pozycjonuj ją w tym samym miejscu i załóż ją na poziomie przestrzeni roboczej
if success and newUnion then
newUnion.Position = mainPart.Position
newUnion.Parent = workspace
end
-- Niszcz oryginalne części, które pozostają nienaruszone po operacji
mainPart:Destroy()
for _, part in otherParts do
part:Destroy()
end

InterceptAsync()

Aby pokazać IntersectAsync() , następujące Script używa część1 1> Class.BasePart1> z prz


local mainPart = workspace.Part1
local otherParts = {workspace.Part2, workspace.Part3}
-- Wykonaj operację intersekcji
local success, newIntersect = pcall(function()
return mainPart:IntersectAsync(otherParts)
end)
-- Jeśli operacja się powoduje, pozycjonuj ją w tym samym miejscu i załóż ją na poziomie przestrzeni roboczej
if success and newIntersect then
newIntersect.Position = mainPart.Position
newIntersect.Parent = workspace
end
-- Niszcz oryginalne części, które pozostają nienaruszone po operacji
mainPart:Destroy()
for _, part in otherParts do
part:Destroy()
end

SubtrybujAsync()

Aby pokazać SubtractAsync() , następujące Script używa część1 1>


local mainPart = workspace.Part1
local otherParts = {workspace.Part2, workspace.Part3, workspace.Part4}
-- Wykonaj operację odejmowania
local success, newSubtract = pcall(function()
return mainPart:SubtractAsync(otherParts)
end)
-- Jeśli operacja się powoduje, pozycjonuj ją w tym samym miejscu i załóż ją na poziomie przestrzeni roboczej
if success and newSubtract then
newSubtract.Position = mainPart.Position
newSubtract.Parent = workspace
end
-- Niszcz oryginalne części, które pozostają nienaruszone po operacji
mainPart:Destroy()
for _, part in otherParts do
part:Destroy()
end