根据玩家距离改变大小

我正在尝试制作墙壁,根据玩家躯干距离来改变大小(靠近时变大,远离时变小)。我对这种东西不是很擅长,所以我不知道该怎么做。

这是目前的代码:

for _, v in pairs(script.Parent:GetChildren()) do
    if string.sub(v.Name,1,4) == "Wall" then
        local walls = {}
        walls[v] = v.CFrame
        for x,y in pairs(walls) do
            print(x,y)
        end
        local startCFrame = v.CFrame
        game:GetService("RunService").RenderStepped:connect(function()
            v.Size = v.Size + Vector3.new(0,(workspace["Player"].Torso.Position-v.Position).magnitude,0)
            v.CFrame = walls[v] * CFrame.new(0,v.Size.Y/2-(script.Parent.Floor.Size.Y/2),0)
        end)
    end
end

如果你想知道为什么我改变了v的cframe,那是因为当玩家走在砖块上或进入砖墙的侧面时,它不会超过玩家,而是保持原来的位置不变。

点赞