I've been trying to do this for more than a month now and what I've noticed is that it's nothing but glitchy.
AngularVelo.AngularVelocity = Projectile.CFrame.lookVector * 200
is where I'm having trouble.While the part is moving forward from the Torso's lookVector The part spins for 2 seconds untill it stops spinning how it's suppose to. It fades out of it's axis(Z) to a mixture of the other two. I tried bodygyro to control it but I don't know how to control it when the AngularVelocity of part is the lookVector of it * 200. I did try lookVector of the BodyGyro's MaxTourqe to do that but it didnt work.
Please Help I've been trying to fix this for months. I will reward some nice Rep for whoever can find the solution first, thank you.
Try it yourself and see if you know the solution:
Projectile = Instance.new('Part',workspace)
Projectile.Size = Vector3.new(5,5,15)
projectilePosition = (Character.Torso.CFrame * CFrame.new(0,3,-20)
Projectile.CFrame = projectilePosition
BodyVelo = Instance.new('BodyVelocity', Projectile)
BodyVelo.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
BodyVelo.Velocity = Projectile.CFrame.lookVector * 200
AngularVelo = Instance.new('BodyAngularVelocity',Projectile)
AngularVelo.MaxTorque = Vector3.new(100000,100000,100000)
AngularVelo.AngularVelocity = Projectile.CFrame.lookVector * 2000

5 comments
if you do a bodygyro, set the CFrame of it to be the CFrame of the projectile, and only hold constraints on 2 of 3 axis, the only one you don't hold is the one it will be rotating on.
DUDE THANK YOU SO MUCH!!!!!!!!!!!!!!!!!!!!!!!!!!!!! I LOVE U MAKE A FAKE ANSWER SO I CAN GIVE U REP RIGHT NOW!
I recommend putting [Solved] in your title, so that SH marks the question as answered.
No, so that SH users know that it been answered.
mk