title: Unity 3D Move object over specific time on GetButtonDown
body: <p>I've got an empty game object filled with all my player components, within it is a model which animates itself when the controls are pressed which are instantiated by GetButtonDown. Currently everything in the player game object moves instantly to the next point (basically teleports there with no transition). Is there a way I can get it all to move over say 1 second rather than going there instantly? Here's what happens on GetButtonDown</p>
  
  <pre><code>    if (Input.GetButtonDown ("VerticalFwd"))
      {
  
          amountToMove.y = 1f;
          transform.Translate (amountToMove);
      }
  </code></pre>
  
  <p>I've tried transform.Translate (amountToMove * Time.deltaTime * randomint);
  and all sorts of ways to use Time
  however that doesn't seem to work even though it seems the most logical way. I'm guessing because the GetButtonDown only "runs" when it is pressed and has no update function to "time" the move every frame? Any ideas?
  amountToMove is saved as a Vector3 aswell. </p>