Modelado sólido es el proceso de unir piezas de manera única para formar formas más complejas conocidas como uniones o intersecciones .Puedes realizar cuatro operaciones de modelado sólido usando las herramientas dentro de la pestaña Modelo de la barra de herramientas.

Herramienta | Atajo | Descripción |
---|---|---|
Unión | ShiftCtrlG (Windows) Shift⌘G (Mac) | Únete a dos o más partes para formar una sola unión sólida. |
Intersección | ShiftCtrlI (Windows) Shift⌘I (Mac) | Intersecciona partes superpuestas en una sola intersección sólida. |
Negar | ShiftCtrlN (Windows) Shift⌘N (Mac) | Negar partes, útil para hacer agujeros e indenteraciones. |
Separado | ShiftCtrlU (Windows) Shift⌘U (Mac) | Separa la unión o intersección en sus partes individuales. |
Partes de unión
La herramienta Unión junta dos o más piezas para formar un sólido único UnionOperation.Por defecto, una nueva unión respeta la propiedad Color de cada una de sus partes, aunque puedes habilitar su propiedad UsePartColor para cambiar toda la unión a un color específico.

Para combinar partes juntas en una unión:
- Seleccione todas las partes que desea unir.
- Haga clic en el botón Unión . Todas las partes se combinan en una sola sólida UnionOperation con el nombre Unión .
Interseccionar partes
La herramienta Intersección intersecciona piezas superpuestas en un solo sólido IntersectOperation .Por defecto, los colores de la cara de la intersección resultante se toman prestados de la propiedad Color de las piezas originales, aunque puedes habilitar su propiedad UsePartColor para cambiar toda la intersección a un color específico.

Para intersectar piezas superpuestas juntas:
- Seleccione todas las partes que desea intersectar.
- Haga clic en el botón Intersección . Todas las piezas se combinan en un sólido IntersectOperation con el nombre Intersección .
Negar partes
La herramienta Negar niega una parte para que cuando esté unida con otra parte , la forma de la parte negada se resta del otro lado>.

Para restar una parte de otras partes superpuestas:
- Seleccione la parte que desea negar de otras partes.
- Haga clic en Rechazar . La parte se convierte en una NegateOperation con el nombre Parte negativa y se vuelve rosa y translúcido para indicar su estado.
- Seleccione tanto la parte negada como las partes que desea restarle.
- Haga clic en Unión . La parte negada se corta de las partes superpuestas incluidas.
Uniones o intersecciones separadas
La herramienta Separar separa un UnionOperation de vuelta en sus partes individuales, esencialmente sirviendo como una herramienta de "deshacer" para uniones e intersecciones.
Para separar una unión o intersección en partes individuales:
- Seleccione la unión o intersección.
- Haga clic en Separar . Las piezas se separan de nuevo en su forma original.
Fidelidad de renderizado
Por defecto, las nuevas operaciones modeladas sólidas siempre se mostrarán en la fidelidad de renderizado Automatic, lo que significa que el detalle de la pieza se basa en su distancia de la cámara como se describe en la siguiente tabla.
Distancia desde la cámara | Fidelidad de renderizado |
---|---|
Menos de 250 tacos | Más alto |
250-500 tacos | Medio |
500 o más tacos | Más bajo |
Angulo de suavización
La propiedad de una pieza modelada sólida SmoothingAngle suaviza los ángulos entre las superficies adyacentes del mismo color o material.Un valor más alto produce una apariencia más suave mientras que un valor más bajo produce una apariencia más áspera con más bordes afilados.
Si bien un valor entre 30 y 70 grados generalmente produce un buen resultado, los valores entre 90 y 180 no se recomiendan ya que pueden causar un efecto de "sombreamiento" en uniones e intersecciones con bordes afilados.


modeladosólido en experiencia
Además de las herramientas Unión , Intersección y Negación en Studio, puedes permitir que los jugadores usen operaciones de modelado sólido mientras están dentro de una experiencia a través de UnionAsync(), IntersectAsync() y SubtractAsync().Todos estos métodos deben llamarse en un BasePart y todos requieren un array de una o más partes para unirse, intersectar o restar de la parte llamada.
UniónAsync()
Para demostrar UnionAsync() , el siguiente Script utiliza el Parte1 BasePart desde el espacio de trabajo, lo une con la Parte2 , Parte3 , y Parte4 BaseParts , luego padres el resultante UnionOperation al espacio de trabajo en la posición original de Parte1 .
local Workspace = game:GetService("Workspace")
local mainPart = Workspace.Part1
local otherParts = {Workspace.Part2, Workspace.Part3, Workspace.Part4}
-- Realizar operación de unión
local success, newUnion = pcall(function()
return mainPart:UnionAsync(otherParts)
end)
-- Si la operación tiene éxito, posiciónela en la misma ubicación y asignársela al espacio de trabajo
if success and newUnion then
newUnion.Position = mainPart.Position
newUnion.Parent = Workspace
end
-- Destruir piezas originales que se mantienen intactas después de la operación
mainPart:Destroy()
for _, part in otherParts do
part:Destroy()
end
IntersectAsync()
Para demostrar IntersectAsync() , el siguiente Script utiliza el Parte1 BasePart desde el espacio de trabajo, lo intersecta con la Parte2 y Parte3 BaseParts , luego padres el resultante IntersectOperation al espacio de trabajo en la posición original de Parte1 .
local Workspace = game:GetService("Workspace")
local mainPart = Workspace.Part1
local otherParts = {Workspace.Part2, Workspace.Part3}
-- Realizar operación de intersección
local success, newIntersect = pcall(function()
return mainPart:IntersectAsync(otherParts)
end)
-- Si la operación tiene éxito, posiciónela en la misma ubicación y asignársela al espacio de trabajo
if success and newIntersect then
newIntersect.Position = mainPart.Position
newIntersect.Parent = Workspace
end
-- Destruir piezas originales que se mantienen intactas después de la operación
mainPart:Destroy()
for _, part in otherParts do
part:Destroy()
end
Subtracción async()
Para demostrar SubtractAsync() , el siguiente Script utiliza el Parte1 BasePart desde el espacio de trabajo, anula el Parte2 , Parte3 , y Parte4 BaseParts desde él, luego padre el resultante UnionOperation al espacio de trabajo en la posición original de Parte1 .
local Workspace = game:GetService("Workspace")
local mainPart = Workspace.Part1
local otherParts = {Workspace.Part2, Workspace.Part3, Workspace.Part4}
-- Realizar operación de resta
local success, newSubtract = pcall(function()
return mainPart:SubtractAsync(otherParts)
end)
-- Si la operación tiene éxito, posiciónela en la misma ubicación y asignársela al espacio de trabajo
if success and newSubtract then
newSubtract.Position = mainPart.Position
newSubtract.Parent = Workspace
end
-- Destruir piezas originales que se mantienen intactas después de la operación
mainPart:Destroy()
for _, part in otherParts do
part:Destroy()
end