tool.GripPos alternatives?

Hi there!
Currently, I use GripPos(GripPosition) property of the tool to change the tool position relative to the player even when welded. The problem with this is that it’s not as smooth as i need it to be! Especially for a basketball dribble style game.

What are alternatives to this? Is there a way to do the exact same using mover constraints, lerping, or tweening?

Here’s the code I’m using:

Tool.GripPos = Vector3.new(0.5, -1, 2)
wait(0.02)
Tool.GripPos = Vector3.new(1, -0.5, 2.5)
wait(0.02)
Tool.GripPos = Vector3.new(1.5, 0, 3)
wait(0.02)
Tool.GripPos = Vector3.new(2, 0.5, 3)
wait(0.02)
Tool.GripPos = Vector3.new(2.5, 1, 3)
wait(0.02)
1 Like

You could try animating the tool, here’s a helpful tutorial: Tool 6D | Tool Animation Compatibility Layer!

2 Likes

If you still want to use GripPos, then just use TweenService to tween it.

2 Likes

Is there anyway to use real physics to move a tool?

1 Like

What is your use case for this?

1 Like

I want to dribble a basketball realistically and you can steal the ball if you touch it. Animations make this wacky and unreliable.

1 Like

Don’t use tools for this. Trying to rip the tools of their default behavior for a single built-in feature they provide (equip on touch) is not worth the trouble and the headache.

Actually, you can use Tools for this behaviour. If you connect a Motor6D to the Tool Part (Basketball) and the HumanoidRootPart, you can achieve this result without needing to use any ToolGrip values. The reason this should work is because the HumanoidRootPart always faces upwards as it’s mainly used for controlling physics, and cannot be influenced by Animation. This doesn’t count towards Parts connected too it however. The Tool could be used as a simple Equip system without much work. However, for your case, you may not want the ball to disappear so it’s probably more efficient to use the tool either as an Equip framework or make a dedicated system not bound by Tools.