I’m very new to Unity, and wanted to know how to add movement time to this simple script instead of it being jerky.
public class Rotation : MonoBehaviour {
public float rotatespeed;
void Update () {
//rotate on d press
if (Input.GetKeyDown("d"))
{
transform.Rotate(Vector3.back * rotatespeed);
}
//rotate on d retract
if (Input.GetKeyUp("d"))
{
transform.Rotate(Vector3.forward * rotatespeed);
}
I would first make your rotation frame rate independent by multiplying the speed by deltaTime.
transform.Rotate(Vector3.back * rotatespeed * Time.deltaTime);
If you are testing in the editor, I would try to run some tests with Maxiimize On Play enabled. A lot of stuttering happens just because of the editor overhead.
Food for thought, a lot of stuttering people see is the editor. It’s a weird beast. If you make an actual build of your app and run it on device, more than likely this type of stuttering goes away - with something as simple as this.