ソリッドモデリング は、パーツ をユニークな方法で組み合わせて、より複雑な形状を形成するために、 パーツ を結合するプロセスです。0>パーツ0> を結合するための 4つのソリッドモデリングオペレーションを、 3>モデル 3> タブ内のツールを使
ツール | ショートカット | 説明 |
---|---|---|
ユニオン | Shift CtrlG (Windows) Shift 1> ⌘1> 3> G3> (Mac) | 2つ以上のパーツを組み合わせて、単一のソリッドユニオンを形成します。 |
交差点 | Shift CtrlI (Windows) Shift 1> ⌘1> 3> I3> (Mac) | 重複するパーツを単一のソリッドな交差点にインターセクトします。 |
ネガティブ | Shift CtrlN (Windows) Shift 1> ⌘1> 3> N3> (Mac) | パーツをネガティブにすると、穴やインデントを作成できます。 |
別々です。 | Shift CtrlU (Windows) Shift 1> ⌘1> 3> U3> (Mac) | ユニオンまたは交差点を個々のパーツに戻す。 |
パーツのユニオン
ツールは、 ユニオン ツールは、2つ以上のパーツを組み合わせて、単一のソリッドな UnionOperation を形成します。デフォルトでは、新しいユニオンは各パーツの Color プロパティを尊重しますが、
パーツをユニオンに組み合わせるには:
すべてのパーツを選択して一緒に参加します。
クリックしてください ユニオン ボタン。すべてのパーツが UnionOperation に統合され、名前 ユニオン です。
部品を交差させる
ツールは、交差点 ツールは、結合するパーツを単一のソリッドな Class.IntersectOperation によって接続します。デフォルトでは、結合するパーツの顔色は、原始のパーツの Class.BasePart.Color|Color プロパティから借りられま
重複するパーツをインターセクトするには:
交差するすべてのパーツを選択します。
クリックする インターセクト ボタン。すべてのパーツが IntersectOperation に名前を付けて インターセクト になります。
パーツを拒否する
ネガティブ ツールは、他のパートとユーンされると、ネガティブパートの形状が他のパートから 控除される ようになります。
他の重複するパーツからパーツを控除するには:
あなたが他のパーツから否定したいパーツを選択します。
クリックします ネガティブパーツ 。パーツは NegateOperation という名前の ネガティブパーツ になり、ピンクと透明になって状態を表示します。
ネガティブなパーツと、それを控除したいパーツの両方を選択します。
クリックします ユニオン 。含まれる交差部分からカットされます。
ユニオンまたはインターセクションを分離する
ツールは、Class.UnionOperation を個々のパーツに分割し、基本的にユニオンと交差点の "やり直す" ツールとして機能します。
ユニオンまたは交差点を個々のパーツに戻すには:
Select a UnionOperation 。
クリックして 分離する 。パーツは元の形に戻ります。
レンダリングの忠実度
デフォルトでは、新しい固定モデルオペレーションは常に Automatic のレンダリングフィデル度で表示され、パーツの詳細はカメラからの距離に基づいています。
カメラからの距離 | レンダリングの忠実度 |
---|---|
250未満のスタッド | 最高 |
250-500スタッド | ミディアム |
500以上のスタッド | 最小 |
スムーズな角度
ソリッドモデル化されたパーツの SmoothingAngle プロパティは、同じ色または素材の隣接する表面間の角度をスムーズにします。高値は、スムーザーの外観を生成し、低値は、より鋭いエッジを持つより強い表面を生成します。
30から70度の値は通常良好な結果を生成しますが、90から180度の値は、接触面で鋭いエッジがあるため、「シャドーイング」効果を引き起こす可能性があります。
インエクスペリエンスソリッドモデリング
Studio の ユニオン、インターセクト、および ネガティブ ツールを除き、<
ユニオンアセンシンクロ()
Class.BasePart:UnionAsync()|UnionAsync() を示すには、次の Script は、ワークスペースから Part1 を使用
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()
Class.BasePart:IntersectAsync()|IntersectAsync() を示すには、次の Script は、ワークスペースから Part1 を使用して、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()
Class.BasePart:SubtractAsync()|SubtractAsync() を示すには、次の Script はワークスペースから Part1 <
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