Ошибка в Unity3d

Привет! Есть проблема: на сцене имеем объект(овечка), которая двигается, но не плавно, хочу это исправить с помощью Time.deltaTime, но объект начинает двигаться очень медленно.ВОЗМОЖНО Я ЕГО НАПИСАЛ НЕ ТАМ, где нужно. Подскажите. При использовании FixedUpdate объект начинает скакать как сумасшедший. Код внизу.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SheepMoving : MonoBehaviour
{
void Start()
{
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space)){
transform.Translate(new Vector3(4.5f,4f,0));
}
else{
Vector3 position = gameObject.GetComponent<Transform>().position;
Vector3 statPosition = new Vector3(position.x, position.y=-2f, position.z);
gameObject.GetComponent<Transform>().position=statPosition;
}
if (gameObject.GetComponent<Transform>().position.x>26f){
Vector3 position = gameObject.GetComponent<Transform>().position;
Vector3 startPosition = new Vector3(position.x=8f, position.y=-2f, position.z);
gameObject.GetComponent<Transform>().position=startPosition;
}
}
}