「Line Force(力線)」は LineForce に該当します。これはRobloxで用いられるコンストレイント(制約)の一つです。特定の方向(一直線)に力を適用しますが、その力はパーツの位置によって変化します。
具体的には、Line Force を使用すると、パーツに対して指定した向きと大きさの力が適用されます。これは MaxForce プロパティを使って指定します。しかし、この力は制約に設定されたライン(アタッチメント間の直線)に対してパーツがどれだけ離れているかによって変化します。つまり、パーツがラインから離れるほど、その力は大きくなります。
Line Force は、パーツを特定のラインに沿わせたい場合や、パーツがそのラインから離れると強く引き戻されるような挙動を必要とする場合に使用されます。例えば、ばねのような動きを再現したり、オブジェクトが特定の範囲内に収まるようにしたりするのに役立ちます。

以下に LineForceのプログラム例を示します。このプログラムは単独で動作しますので、Workspace もしくは ServerScriptService に入れて実行してください。

-- Workspace内に新しいパーツを作成します
local part1 = Instance.new("Part", workspace)
part1.Size = Vector3.new(4, 1, 2)
part1.Position = Vector3.new(0,11,0)
part1.Anchored = false

local part2 = Instance.new("Part", workspace)
part2.Size = Vector3.new(4, 1, 2)
part2.Position = Vector3.new(0,23,0)
part2.CanCollide = false
part2.Anchored = true

-- パーツに新しいAttachmentを作成します
local attachment0 = Instance.new("Attachment", part1)
attachment0.Axis = Vector3.new(0,1,0)
local attachment1 = Instance.new("Attachment", part2)
attachment1.Axis = Vector3.new(1,0,0)

-- LineForceを作成し、Attachmentを設定します
local lineForce = Instance.new("LineForce", part1)
lineForce.Attachment0 = attachment0
lineForce.Attachment1 = attachment1
lineForce.Magnitude = 1000  -- 力の大きさ

part2のCanCollideをtrueにすると、ピタッと張り付くと思います。

By schilverberch

ROBLOXでゲームを作ろう! 一緒にプログラミングを学びましょう。

コメントを残す