ReActivate object with null movement ??

I have this interesting problem here.
So there are 10 gameobject which are Initialised with the script and then i ACTIVATE them one by one and shoot them ( apply transform.up thats all ).

Now after the roll of that activated Gameobject is done ( i.e. to shoot the target ) i DEACTIVATE it and then ACTIVATE IT AGAIN

** BUT THE PROBLEM IS **
after activating the gameobject again, the gameobject remembers his motion, and after reactivation behaves like he did before deactivation

SO HOW CAN I RE-ACTIVATE OBJECT WITH CONTROLLED MOVEMENTS ??

When using pooling you need to restore state. Assuming this is 3D, you want to do:

 obj.rigidbody.velocity = Vector3.zero;
 obj.rigidbody.angularVelocity = Vector3.zero;

…right before you activate the object. Depending on your game, it is sometimes easiest to have individual game objects restore their own state either when told to do so or using OnEnabled().

GameObjects don’t move on their own. There has to be something that moves it. Either a script or like in your case probably a Rigidbody component. That Rigidbody has a velocity and an angularVelocity vector. There is no reason why they should turn themself back to 0,0,0 when you deactivate / reactivate the GameObject. So you have to set them to 0 manually:

obj.rigidbody.velocity = Vector3.zero;
obj.rigidbody.angularVelocity = Vector3.zero;