Here is a good resource about creating throwable objects with proper motion:
Also as a sidenote I recommend not using RemoteFunctions OnClientInvoke. This can be abused to never trigger causing some shaky behaviors. I much more recommend on the localscript make Tool.Activated that uses RemoteEvent to fire the mouse hit position and activates the throwing. Much safer