固体モデリング

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

ソリッドモデリング は、パーツ を独創的な方法で結合して、より複雑な形状である 連合 または 交差 として形成するプロセスです。ツールバーの モデル タブ内のツールを使用して、4つのソリッドモデリング操作を実行できます。

Studio's Model tab with the Solid Modeling tools highlighted.
ツールショートカット説明
ユニオンShift Ctrl G  (Windows) Shift G (Mac)2つ以上のパーツを結合して、単一の固体連合を形成します。
交差Shift Ctrl I  (Windows) Shift I (Mac)重複するパーツを単一のソリッド交差点に交差させます。
否定Shift Ctrl N  (Windows) Shift N (Mac)パーツを否定し、穴とインデントを作るのに便利。
別々Shift Ctrl U  (Windows) Shift U (Mac)ユニオンまたは交差を個々のパーツに分離する。

連合パーツ

ユニオン ツールは、2つ以上のパーツを結合して単一の固体を形成します 。デフォルトでは、新しいユニオンはそれぞれのパーツの Color プロパティを尊重しますが、全体のユニオンを特定の色に変更するための UsePartColor プロパティを有効にすることができます。

Block and cylinder parts overlapping

パーツを結合して連合にするには:

  1. 一緒に参加したいすべてのパーツを選択します。
  2. クリックする ユニオン ボタン。すべてのパーツが名前 UnionOperation で 1つのソリッド **** に結合。

部品を交差させる

交差ツールは、重複するパーツを単一のソリッドに交差させます。デフォルトでは、結果の交差点の顔色は、元のパーツの Color プロパティから借用されますが、全体の交差点を特定の色に変更するための UsePartColor プロパティを有効にすることができます。

Block and cylinder parts overlapping

重複するパーツを一緒に交差させるには:

  1. 交差したいすべてのパーツを選択します。
  2. クリックする 交差 ボタン。すべてのパーツが名前 IntersectOperation で 1つのソリッド **** に結合します。

パーツを否定する

否定 ツールは、パーツを否定して、他のパーツと結合 されたとき、否定されたパーツの形状が 差し引かれ 他のパーツから削除されます。

Negated block overlapping a cylinder

他の重複部分からパーツを控除するには:

  1. 他のパーツから否定したいパーツを選択します。
  2. クリック 否定 。パーツは、名前 否定パーツ となり、ピンクと透明になり、状態を示します。
  3. 否定されたパーツと、それを控除したいパーツの両方を選択します。
  4. クリックして ユニオン 。否定された部分は、含まれる重複部分から切り取られます。

別のユニオンまたは交差点

分離 ツールは、UnionOperation をその個々のパーツに分離し、基本的に労働組合と交差点の「戻る」ツールとして機能します。

ユニオンまたは交差を個々のパーツに分離するには:

  1. ユニオンまたは交差を選択します。
  2. クリックして 別々に 。パーツは元の形に戻ります。

レンダリングの忠実度

デフォルトでは、新しいソリッドモデリング操作は常にAutomaticで表示され、パーツの詳細は次の表に示すように、カメラからの距離に基づいています。

カメラからの距離レンダリングの忠実度
250スタッド未満最高
250-500スタッド中くらい
500以上のスタッド最低

スムージング角

ソリッドモデルのパーツの SmoothingAngle プロパティは、同じ色や素材の隣接面の角を滑らかにします。より高い値は、より滑らかな外観を生成し、より低い値は、より鋭い端を持つより粗い外観を生成します。

30から70度の間の値は、通常、良い結果を生成しますが、90から180度の間の値は、鋭い端に接する連合や交差に「シャドーイング」効果を引き起こす可能性があるため、推奨されません。

経験中のソリッドモデリング

スタジオの ユニオン交差 、および 否定 ツールに加えて、UnionAsync()IntersectAsync() 、および SubtractAsync() 内でプレイヤーがソリッドモデリング操作を使用できるようにすることができます。これらすべてのメソッドは、BasePart で呼び出されなければならず、すべてが呼び出されたパーツの 1つまたは複数のアレイを結合したり、交差したり、削除したりする必要があります。

ユニオンAsync()

To demonstrate , the following はワークスペースから次の を使用し、それを と結合し、 パーツ2 , パーツ3 、そして パーツ4 を親にして、結果の をワークスペースの元の位置に移動します。


local Workspace = game:GetService("Workspace")
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

インターセクトAsync()

To demonstrate , the following はワークスペースから パート1 を使用し、それを パート2 と パート3 で交差させ、結果の を原始位置の パート1 に親として展開します。


local Workspace = game:GetService("Workspace")
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

サブトラクトAsync()

To demonstrate , the following はワークスペースから次の を使用し、 を否定し、 パーツ2 、 パーツ3 、そして パーツ4 を否定し、結果の を原래の位置の パーツ1 に親として移動します。


local Workspace = game:GetService("Workspace")
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