Modellazione solida

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Modellazione solida è il processo di unire parti insieme in modi unici per formare forme più complesse conosciute come unioni o 0> intersezioni0> . Puoi eseguire quattro operazioni di modellazione solida utilizzando gli strumenti nella scheda 3> Modello 3> .

Studio's Model tab with the Solid Modeling tools highlighted.
AttrezzoScorciatoiaDescrizione
Unione Shift CtrlG (Windows) Shift 1> ⌘1> 3> G3> (Mac)Uniscere a due o più parti insieme per formare un'unione solida unica.
Intersezione Shift CtrlI (Windows) Shift 1> ⌘ 1> 3> I3> (Mac)Interseca parti sovrapponibili in un'unica intersezione solida.
Negare Shift CtrlN (Windows) Shift 1> ⌘1> 3> N3> (Mac)Negare parti, utile per fare buche e intestazioni.
Separate Shift CtrlU (Windows) Shift 1> ⌘ 1> 3> U3> (Mac)Separate l'unione o l'intersezione dei suoi singoli parti.

Unire parti

Lo strumento Unione unisce due o più parti insieme per formare un singolo solido UnionOperation . Per impostazione predefinita, una nuova unione rispetta la proprietà Color di ciascuna delle sue parti, anche se puoi abilitare la sua proprietà 1> Class.PartOperation.UsePartColor|UsePartColor1>

Block and cylinder parts overlapping

Per combinare parti insieme in un'unione:

  1. Seleziona tutte le parti per unirsi insieme.

  2. Fai clic sul pulsante Unione . Tutte le parti combinano in una solida UnionOperation con il nome Unione .

    Union tool indicated in Model tab

Parti Intersezione

Lo strumento Intersect interseca parti sovrapponenti in un singolo solido IntersectOperation . Per impostazione predefinita, i colori della faccia della parte risultante sono presi dalla proprietà Color delle parti originali, anche se puoi abilitare la sua proprietà 1> Class.PartOperation.UsePartColor|

Block and cylinder parts overlapping

Per intersecare le parti sovrapponibili insieme:

  1. Seleziona tutte le parti per intersecare.

  2. Fai clic sul pulsante Intersect . Tutte le parti combinano in una solida IntersectOperation con il nome Intersection .

    Intersect tool indicated in Model tab

Parti negative

Lo strumento Negare nega una parte in modo che quando è unita ad un'altra parte , la forma della parte negata è sottratta dall'altra parte.

Negated block overlapping a cylinder

Per sottrarre una parte da altre parti sovrapponibili:

  1. Seleziona la parte che desideri negare da altre parti.

  2. Fai clic su Negare . La parte diventa un NegateOperation con il nome NegativePart e diventa rosa e translucente per indicare lo stato.

    Negate tool indicated in Model tab
  3. Seleziona sia la parte negata che le parti che vuoi sottrarre.

  4. Fai clic su Unione . La parte negata viene tagliata dalle parti sovrapponenti incluse.

    Union tool indicated in Model tab

Separazione delle unioni o intersezioni

Lo strumento Separate separa un UnionOperation tornando nelle sue parti individuali, essenzialmente servendo come uno strumento "undo" per le unioni e gli intersezioni.

Per separare un'unione o un intersezione di nuovo in parti individuali:

  1. Seleziona un UnionOperation .

  2. Fai clic su Separate . Le parti si separano di nuovo nella loro forma originale.

    Separate tool indicated in Model tab

Fiducia di rendering

Per impostazione predefinita, le nuove operazioni modellate in solido saranno sempre visualizzate in Automatic render fidelity, il che significa che il dettaglio della parte è basato sulla sua distanza dalla fotocamera come descritti nella seguente tabella.

Distanza dalla fotocameraFiducia di rendering
Menos di 250 caratteriPiù Alto
250-500 studsMedio
500 o più studsIl più basso

Angolo di levigatura

La proprietà Class.PartOperation.SmoothingAngle|SmoothingAngle di una parte modellata solida rende gli angoli tra le superfici adiacenti dello stesso colore o materiale. Un valore più elevato produce un aspetto più levigato mentre un valore più basso produce un aspetto più ruvido con bordi più affilati.

Mentre un valore tra 30 e 70 gradi di solito produce un buon Risultato, i valori tra 90 e 180 non sono raccomandati poiché potrebbero causare un effetto "ombreggiato" sugli unioni e gli intersezioni con bordi affilati.

Modellazione solida in-experience

Oltre alle Unione , Intersezione e Negazione strumenti in Studio, puoi consentire ai giocatori di utilizzare operazioni di mod

UnioneAsync()

Per dimostrare UnionAsync() , il seguente Script utilizza il Part1 1> Class.BasePart


local mainPart = workspace.Part1
local otherParts = {workspace.Part2, workspace.Part3, workspace.Part4}
-- Esegui l'operazione di unione
local success, newUnion = pcall(function()
return mainPart:UnionAsync(otherParts)
end)
-- Se l'operazione ha successo, posizionatela nello stesso punto e affidatela allo workspace
if success and newUnion then
newUnion.Position = mainPart.Position
newUnion.Parent = workspace
end
-- Distruggi le parti originali che rimangono intatte dopo l'operazione
mainPart:Destroy()
for _, part in otherParts do
part:Destroy()
end

IntersectAsync()

Per dimostrare IntersectAsync() , il seguente Script usa il Part1 1> Class.BasePart1> dallo workspace


local mainPart = workspace.Part1
local otherParts = {workspace.Part2, workspace.Part3}
-- Eseguire l'operazione di intersezione
local success, newIntersect = pcall(function()
return mainPart:IntersectAsync(otherParts)
end)
-- Se l'operazione ha successo, posizionatela nello stesso punto e affidatela allo workspace
if success and newIntersect then
newIntersect.Position = mainPart.Position
newIntersect.Parent = workspace
end
-- Distruggi le parti originali che rimangono intatte dopo l'operazione
mainPart:Destroy()
for _, part in otherParts do
part:Destroy()
end

SubtractAsync()

Per dimostrare SubtractAsync() , il seguente Script usa il Part1 1> Class


local mainPart = workspace.Part1
local otherParts = {workspace.Part2, workspace.Part3, workspace.Part4}
-- Esegui l'operazione di sottrazione
local success, newSubtract = pcall(function()
return mainPart:SubtractAsync(otherParts)
end)
-- Se l'operazione ha successo, posizionatela nello stesso punto e affidatela allo workspace
if success and newSubtract then
newSubtract.Position = mainPart.Position
newSubtract.Parent = workspace
end
-- Distruggi le parti originali che rimangono intatte dopo l'operazione
mainPart:Destroy()
for _, part in otherParts do
part:Destroy()
end