Solide Modellierung

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Festmodellierung ist der Prozess, bei dem Teile auf einzigartige Weise zusammengefügt werden, um komplexere Formen zu bilden, die als Vereinigungen oder Kreuzungen bekannt sind.Du kannst vier solide Modellierungsoperationen mit den Werkzeugen innerhalb der Registerkarte Modell der Toolleiste ausführen.

Studio's Model tab with the Solid Modeling tools highlighted.
WerkzeugTastenkürzelBeschreibung
VerbindungShiftCtrlG  (Fenster) ShiftG (Mac)Schließe zwei oder mehr Teile zusammen, um eine einzige feste Union zu bilden.
IntersektionShiftCtrlI  (Fenster) ShiftI (Mac)Schneide überlappende Teile in eine einzige solide Überschneidung.
AblehnenShiftCtrlN  (Fenster) ShiftN (Mac)Teile verneinen, nützlich für die Herstellung von Löchern und Vertiefungen.
TrennenShiftCtrlU  (Fenster) ShiftU (Mac)Trenne die Union oder die Intersektion in ihre einzelnen Teile zurück.

Unionsteile

Das Union -Werkzeug schließt zwei oder mehr Teile zusammen, um eine einzige feste UnionOperation zu bilden.Standardmäßig respektiert eine neue Union die Eigenschaft Color jedes ihrer Teile, obwohl Sie seine UsePartColor Eigenschaft aktivieren können, um die gesamte Union in eine bestimmte Farbe zu ändern.

Block and cylinder parts overlapping

Um Teile zusammen in einer Union zu kombinieren:

  1. Wähle alle Teile aus, die du zusammenführen möchtest.
  2. Klicken Sie auf die Schaltfläche Union . Alle Teile kombinieren sich in eine solide UnionOperation mit dem Namen Union .

Teile übertreffen

Das Überschneidungs-Werkzeug überschneidet überlappende Teile in einen einzigen Festkörper IntersectOperation.Standardmäßig werden die Gesichtsfarben der resultierenden Intersektion aus der Color Eigenschaft der ursprünglichen Teile entnommen, obwohl du seine UsePartColor Eigenschaft aktivieren kannst, um die gesamte Intersektion in eine bestimmte Farbe zu ändern.

Block and cylinder parts overlapping

Um überlappende Teile zusammen zu überkreuzen:

  1. Wählen Sie alle Teile aus, die Sie überschneiden möchten.
  2. Klicken Sie auf die Schaltfläche Überschneiden . Alle Teile kombinieren sich zu einem soliden IntersectOperation mit dem Namen Überschneidung .

Teile verneinen

Das Negieren -Werkzeug negiert einen Teil, so dass, wenn er mit einem anderen Teil verbandelt wird, die Form des negierten Teils abgezogen wird vom anderen Teil.

Negated block overlapping a cylinder

Um ein Teil von anderen überlappenden Teilen abzuziehen:

  1. Wähle das Teil aus, das du von anderen Teilen negieren möchtest.
  2. Klicken Sie auf Ablehnen . Das Teil wird zu einem NegateOperation mit dem Namen NegativePart und wird pink und transluzent, um seinen Zustand anzugeben.
  3. Wählen Sie sowohl das verneinte Teil als auch die Teile, von denen Sie es subtrahieren möchten.
  4. Klicke auf Union . Das verneinte Teil wird aus den enthaltenen überlappenden Teilen herausgeschnitten.

Trennungen oder Kreuzungen separieren

Das separate -Werkzeug trennt einen UnionOperation-Zurück in seine einzelnen Teile, dient im Wesentlichen als "Rückgängig"-Werkzeug für Gewerkschaften und Kreuzungen.

Um eine Union oder Intersection in einzelne Teile zurückzutrennen:

  1. Wählen Sie die Union oder den Übergang.
  2. Klicken Sie auf Trennen . Die Teile trennen sich wieder in ihre ursprüngliche Form zurück.

Rendergenauigkeit

Standardmäßig werden neue modellierte Operationen immer in Automatic dargestellt, was bedeutet, dass die Details des Teils auf seine Entfernung von der Kamera basieren, wie im folgenden Tabel ausgeführt.

Entfernung von der KameraRendergenauigkeit
Weniger als 250 StollenHöchste
250-500 klötzeMittel
500 oder mehr stollenNiedrigste

Glättungsgrad

Die SmoothingAngle eines soliden modellierten Teils glättet die Winkel zwischen den angrenzenden Oberflächen derselben Farbe oder Materials.Ein höherer Wert erzeugt ein glatteres Aussehen, während ein niedriger Wert ein raueres Aussehen mit mehr scharfen Kanten erzeugt.

Während ein Wert zwischen 30 und 70 Grad in der Regel ein gutes Ergebnis erzielt, werden Werte zwischen 90 und 180 nicht empfohlen, da sie einen "Schatteneffekt" auf Gewerkschaften und Kreuzungen mit scharfen Kanten verursachen können.

Solide Modellierung in der Erfahrung

Zusätzlich zu den Werkzeugen Union , Überschneiden und Ablehnen in Studio können Sie den Spielern erlauben, solide Modellierungsoperationen während einer Erfahrung durch UnionAsync() , IntersectAsync() und SubtractAsync() zu verwenden.Alle diese Methoden müssen auf einer BasePart aufgerufen werden, und sie alle benötigen ein Array aus einem oder mehreren Teilen, die sich mit, überschneiden oder von der zu rufenden Seite abziehen.

UnionAsync()

Um UnionAsync() zu demonstrieren, verwendet die folgende Script die Teil1 BasePart aus dem Arbeitsbereich, vereint sie mit der Teil2 , Teil3 und Teil4 BaseParts , dann überlässt der resultierende UnionOperation den Arbeitsbereich an der ursprünglichen Position von Teil1 .


local Workspace = game:GetService("Workspace")
local mainPart = Workspace.Part1
local otherParts = {Workspace.Part2, Workspace.Part3, Workspace.Part4}
-- Union-Operation durchführen
local success, newUnion = pcall(function()
return mainPart:UnionAsync(otherParts)
end)
-- Wenn die Operation erfolgreich ist, stelle sie an derselben Stelle bereit und überlass sie dem Arbeitsbereich
if success and newUnion then
newUnion.Position = mainPart.Position
newUnion.Parent = Workspace
end
-- Zerstöre ursprüngliche Teile, die nach der Operation intakt bleiben
mainPart:Destroy()
for _, part in otherParts do
part:Destroy()
end

ÜberschneidenAsync()

Um IntersectAsync() zu demonstrieren, verwendet das folgende Script die Teil1 BasePart aus dem Arbeitsbereich, kreuzt es mit dem Teil2 und Teil3 BaseParts und überlässt die daraus resultierende IntersectOperation dem Arbeitsbereich an der ursprünglichen Position von Teil1 .


local Workspace = game:GetService("Workspace")
local mainPart = Workspace.Part1
local otherParts = {Workspace.Part2, Workspace.Part3}
-- Intersektionsoperation durchführen
local success, newIntersect = pcall(function()
return mainPart:IntersectAsync(otherParts)
end)
-- Wenn die Operation erfolgreich ist, stelle sie an derselben Stelle bereit und überlass sie dem Arbeitsbereich
if success and newIntersect then
newIntersect.Position = mainPart.Position
newIntersect.Parent = Workspace
end
-- Zerstöre ursprüngliche Teile, die nach der Operation intakt bleiben
mainPart:Destroy()
for _, part in otherParts do
part:Destroy()
end

SubtrahierenAsync()

Um zu demonstrieren, verwendet das folgende die Teil1 aus dem Arbeitsbereich, negiert die Teil2 , Teil3 und Teil4 von ihm, und überlässt das daraus resultierende dem Arbeitsbereich an der ursprünglichen Position von Teil1 .


local Workspace = game:GetService("Workspace")
local mainPart = Workspace.Part1
local otherParts = {Workspace.Part2, Workspace.Part3, Workspace.Part4}
-- Subtraktionsoperation durchführen
local success, newSubtract = pcall(function()
return mainPart:SubtractAsync(otherParts)
end)
-- Wenn die Operation erfolgreich ist, stelle sie an derselben Stelle bereit und überlass sie dem Arbeitsbereich
if success and newSubtract then
newSubtract.Position = mainPart.Position
newSubtract.Parent = Workspace
end
-- Zerstöre ursprüngliche Teile, die nach der Operation intakt bleiben
mainPart:Destroy()
for _, part in otherParts do
part:Destroy()
end