Help with BodyVelocity

I want to create a projectile weapon using BodyVelocity.

This works to an extent; the projectile moves in the intended direction, ONLY if facing directly on the X or Z axis (they don’t move on Y). Otherwise, it will kinda go sideways for a bit until straightening its path.

Obviously the projectile needs to go only straightwards relative to the orientation of where it’s being fired from.

There’s not much documentation for BodyVelocity, so I don’t know where else to get help.

Code:

local Shell = game.ServerStorage.WeaponProjectiles.Shell:Clone()
Shell.CFrame = Origin.CFrame
Shell.BodyVelocity.Velocity = Shell.CFrame.LookVector*500
Shell.BodyGyro.CFrame = Origin.CFrame