固體模組 是一種加固 零件 以特殊方式組合在一起以形成更複雜的形狀,例如 聯絡器 或 0> 交叉點0> 。您可以使用 3> 模型 3> 標籤中的工具執行四項固體模組操作。
工具 | 快捷方式 | 說明 |
---|---|---|
聯合元素 | Shift Ctrl G (Windows) Shift 1> ⌘1> 3> G3> (Mac) | 加入兩個或更多零件以形成單一的固體聯聯集。 |
交叉點 | Shift Ctrl I (Windows) Shift 1> ⌘1> 3> I3> (Mac) | 將交錯的零件交錯成一個整體。 |
否定 | Shift Ctrl N (Windows) Shift 1> ⌘1> 3> N3> (Mac) | 負零件,用於製作孔和凹陷。 |
分離 | Shift Ctrl U (Windows) Shift 1> ⌘1> 3> U3> (Mac) | 將聯合或交叉的項目重新整合為個別項目。 |
將零件結合
聯合 工具會將兩個或多個零件結合成為單個固體 UnionOperation 。 預設情況下,新的聯合會尊重每個零件的 Color 屬性,雖然您可以啟用其 1> Class.PartOperation.UsePartColor|UsePart
要將零件結合成團聯集:
選擇所有零件以結合在一起。
點擊 聯合 按鈕。所有零件都結合成一個名為UnionOperation的固體 Class.Union 。
交叉零件
交叉工具 將交叉的零件結合成單一的固體 IntersectOperation 。 預設情況下,結果的交叉部分的面色是從原始零件的 Color 屬性借鑑的,雖然您可以啟用其 1> Class.PartOperation
要將相互擋道的零件結合起來:
選擇所有零件以交叉。
按一下 交叉點 按鈕。所有零件結合成一個固體 IntersectOperation 以名稱 交叉點 。
正向零件
負擊 工具負擊零件,因此當它與另一個零件結合時,零件的形狀會從其他零件中減去。
要從其他交繆的零件中減去零件:
選擇您想從其他零件中減少的零件。
單擊 否定 。零件變成 NegateOperation ,以零件名稱 NegativePart 變成粉紅色和半透明以表示狀態。
選擇 both the negated part 和你想要 subtract 的零件。
單擊 聯合 。該負載的方塊是從包含的交疊方塊中切開的。
分離聯合或交叉
分離 工具將 UnionOperation 分為個別零件,其中一個基本上作為「還原」工具提供給聯盟和交叉點。
要將交叉或聯合返回為個別零件:
選擇一個 UnionOperation 。
按一下 分離 。零件會重新分離為原始狀態。
渲染�idelity
為預設,新的固體模型操作將在 Automatic 渲染�idelity中顯示,這表示零件的詳細資料基於其與相機的距離,如在下表中所示。
鏡頭距離 | 渲染�idelity |
---|---|
少於 250 個單位 | 最高 |
250-500 格 | 中等 |
500 或以上 | 最低 |
平滑角度
一個堅固的模型零件的 SmoothingAngle 屬性平滑角度之間的角度之間的角度之間的角度之間的角度之間的角度之間的角度之間的角度之間的角度之間的角度之間的角度之間的角度之間的角度之間的角度之間的角度之間的角度之間的角度之間的角度之間的角度之間的角度之間的角度之間的角度之間的角度之間的角度之間
雖然 30 至 70 度之間的值通常會產生良好的結果,但 90 至 180 度之間的值通常不建議,因為它們可能會在鋼鐵和鋼鐵之間產生 "陰影" 效果。
在體驗中使用固體模型
除了 聯合 、 交叉 和 負極 工具在 Studio 中外,您可以允許玩
並列取消()
要示示 UnionAsync() , Script 使用 部分1 、 1> 部分
local mainPart = workspace.Part1
local otherParts = {workspace.Part2, workspace.Part3, workspace.Part4}
-- 執行聯合操作
local success, newUnion = pcall(function()
return mainPart:UnionAsync(otherParts)
end)
-- 如果操作成功,請將它放置在同一個位置,並將其作為工作區的父級
if success and newUnion then
newUnion.Position = mainPart.Position
newUnion.Parent = workspace
end
-- 摧毀原始零件,在運行後保持完整
mainPart:Destroy()
for _, part in otherParts do
part:Destroy()
end
IntersectAsync()
要示示 IntersectAsync() , Script 使用 零件1 從工作區接入它,然後與 1> 零
local mainPart = workspace.Part1
local otherParts = {workspace.Part2, workspace.Part3}
-- 執行交叉運算
local success, newIntersect = pcall(function()
return mainPart:IntersectAsync(otherParts)
end)
-- 如果操作成功,請將它放置在同一個位置,並將其作為工作區的父級
if success and newIntersect then
newIntersect.Position = mainPart.Position
newIntersect.Parent = workspace
end
-- 摧毀原始零件,在運行後保持完整
mainPart:Destroy()
for _, part in otherParts do
part:Destroy()
end
子同步()
要示示 SubtractAsync() , Script 使用 零件1 1> 零
local mainPart = workspace.Part1
local otherParts = {workspace.Part2, workspace.Part3, workspace.Part4}
-- 執行減法運算
local success, newSubtract = pcall(function()
return mainPart:SubtractAsync(otherParts)
end)
-- 如果操作成功,請將它放置在同一個位置,並將其作為工作區的父級
if success and newSubtract then
newSubtract.Position = mainPart.Position
newSubtract.Parent = workspace
end
-- 摧毀原始零件,在運行後保持完整
mainPart:Destroy()
for _, part in otherParts do
part:Destroy()
end