LinearVelocity is very inconsistent

All I want is for the part to face where the humanoidrootpart is facing then thrust it forward on same direction.

(function()     
	local Part = Storm:Clone()    
	Part.CFrame = Character.Head.CFrame * CFrame.new(0, 0, -5)   -- Spawn part in front of player. (Head so it doesn't clip below)
	Part.CanCollide = false    
	Part.Anchored = false    
	Part.Parent = workspace     
	Part:SetNetworkOwner(nil)
	local AP = Instance.new("LinearVelocity") 
	AP.MaxForce = math.huge  
	AP.RelativeTo = Enum.ActuatorRelativeTo.Attachment0     
	AP.Attachment0 = Part.Attachment 
	AP.VectorVelocity = Vector3.new(0, 0, 100) * Character.Head.CFrame.LookVector -- Go forward in a medium speed 
	AP.Parent = Part  
	game:GetService("Debris"):AddItem(Part, 4) 
end)()

Instead of adding Vector3.new(0, 0, 100) which will always make it go in the same direction, try:
AP.VectorVelocity = Character.HumanoidRootPart.CFrame.LookVector * 100

Make sure not to use the Head’s LookVector instead of HumanoidRootPart’s as it may make the projectile go down on the Y axis depending on your walk animation.

1 Like

This fixes it but I have another concern, in the video, there’s a slight delay before LinearVelocity takes effect, why? I thought network ownership fixes it but it does not.

That is because you set the network ownership to nil. Set it to the player instead.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.