使用身体移动器的网球物理

时间:2021-08-01 17:56:15

标签: roblox

嗨,我是 Roblox 开发的新手。我正在尝试制作一个有趣的网球游戏。我开始使用标准的游戏内物理将球从网的一侧击球到另一侧,但球移动得太快,其他人无法击球。

所以我需要更多地控制球的移动方式。当用户击中它时,我需要它稍微缓慢上升,然后下降到网另一侧的预设位置。我还需要球弹跳并继续移动。

我看过一些关于 BodyPosition、BodyForce 等内容的教程。但我不太明白要使用哪些。到目前为止,当球被击中时,我有一个 RemoteEvent,看起来像这样(如下)。我向球 (BallUnion) 添加了一个 BodyPosition 对象,其中 D = 1500,MaxForce = 1000,1000,1000 和 P=500。

它以正确的速度朝着我想要的方向移动,但它只是不断向天空移动而不会坠落。

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local remoteEvent = ReplicatedStorage:WaitForChild("HitBall")


remoteEvent.OnServerEvent:Connect(function(plr)

    local direction = plr.Character.Head.CFrame.lookVector * 5
    
    local newBall = script.Parent.BallUnion:Clone()
    newBall.Parent = game.Workspace
    newBall.Position = plr.Character.HumanoidRootPart.Position + plr.Character.Head.CFrame.lookVector * 2
    local bodyPosition = newBall:WaitForChild("BodyPosition")
    bodyPosition.Position = direction * 20 + Vector3.new(0,100,0)
    --script.Parent.Anchored = false
    --script.Parent:SetNetworkOwner(nil)
    --script.Parent.BodyVelocity = direction * 6 + Vector3.new(0,40,0)

end)

0 个答案:

没有答案