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> .
Attrezzo | Scorciatoia | Descrizione |
---|---|---|
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>
Per combinare parti insieme in un'unione:
Seleziona tutte le parti per unirsi insieme.
Fai clic sul pulsante Unione . Tutte le parti combinano in una solida UnionOperation con il nome Unione .
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|
Per intersecare le parti sovrapponibili insieme:
Seleziona tutte le parti per intersecare.
Fai clic sul pulsante Intersect . Tutte le parti combinano in una solida IntersectOperation con il nome Intersection .
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.
Per sottrarre una parte da altre parti sovrapponibili:
Seleziona la parte che desideri negare da altre parti.
Fai clic su Negare . La parte diventa un NegateOperation con il nome NegativePart e diventa rosa e translucente per indicare lo stato.
Seleziona sia la parte negata che le parti che vuoi sottrarre.
Fai clic su Unione . La parte negata viene tagliata dalle parti sovrapponenti incluse.
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:
Seleziona un UnionOperation .
Fai clic su Separate . Le parti si separano di nuovo nella loro forma originale.
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 fotocamera | Fiducia di rendering |
---|---|
Menos di 250 caratteri | Più Alto |
250-500 studs | Medio |
500 o più studs | Il 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