「Weld/接合」は WeldConstraint に該当します。これはRobloxの制約の一種で、2つのアタッチメント(または2つのパーツ)の相対位置と相対向きを固定します。つまり、この制約は2つのパーツを一緒に「溶接」するような効果を作り出します。それぞれのアタッチメント(またはパーツ)の位置と向きは、制約が最初に設定されたときのものが保持されます。
以下に WeldConstraint のプログラム例を示します。このプログラムは単独で動作しますので、Workspace もしくは ServerScriptService に入れて実行してください。
-- パーツを作成
local part1 = Instance.new("Part", workspace)
part1.Anchored = false
part1.Size = Vector3.new(1, 1, 1)
part1.Position = Vector3.new(0, part1.Size.Y / 2, 0)
part1.Name = "Part1"
local part2 = Instance.new("Part", workspace)
part2.Anchored = false
part2.Size = Vector3.new(1, 1, 1)
part2.Position = Vector3.new(0, part2.Size.Y / 2 + 5, 0) -- part1から上方向に5スペース
part2.Name = "Part2"
-- WeldConstraintを作成
local weld = Instance.new("WeldConstraint")
weld.Part0 = part1
weld.Part1 = part2
weld.Parent = workspace
RigidConstraint との違い
RigidConstraintとWeldConstraintは、どちらもRobloxで物体を一緒に固定するために使用されますが、振る舞いと用途にはいくつかの違いがあります。
- RigidConstraint は、2つのパーツの間の相対位置と向きを保持します。この制約を使用すると、パーツは一緒に移動し、一方が回転するともう一方も同じ回転を追従します。しかし、RigidConstraint はリアルタイムでパーツ間の距離や向きを調節する機能はありません。つまり、制約が設定された時点での相対位置と向きがその後も保持されます。
- 一方、WeldConstraint も同様に2つのパーツの間の相対位置と向きを保持しますが、パーツが一緒に「溶接」されるため、パーツ間の相対位置と向きは制約が最初に設定された時点のものが保持されます。
結論として、これらの制約は同様の目的(2つのパーツを一緒に固定する)のために使用されますが、それぞれがパーツ間の相対的な位置と向きをどのように取り扱うかに違いがあります。どちらの制約を使用するかは、具体的なユースケースとどのような振る舞いを必要とするかによります。