Я следую учебному пособию для основной игры 2d Unity.но даже когда у меня есть только 1 анимация для персонажа, когда я двигаю его, анимация становится шаткой, как будто один глаз становится больше, чем другой, или рука растет.Я связал некоторые изображения
Я не понимаю, почему это происходит, какя могу это исправить?Кроме того, мой персонаж чувствует, что он отвечает на мои команды движения поздно, а также останавливается позже, чем должен.Я пытаюсь заставить его двигаться с постоянной скоростью и мгновенно остановиться.Я не знаю, какие необходимые кодовые блоки я могу показать, но я попытался поместить то, что я нахожу необходимым ниже, и вот изображение моих настроек твердого тела:
.
public class PlayerController : MonoBehaviour
{
public Vector2 movementDirection;
public float movementSpeed;
public Rigidbody2D rb;
public float BASE_MOVE_SPEED = 1.0f;
public Animator animator;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
processInputs();
move();
animate();
}
void processInputs() {
movementDirection = new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical"));
movementSpeed = Mathf.Clamp(movementDirection.magnitude, 0.0f, 1.0f);
movementDirection.Normalize();
}
void move()
{
rb.velocity = movementDirection *BASE_MOVE_SPEED* movementSpeed * Time.deltaTime;
}
void animate()
{
animator.SetFloat("Horizontal", movementDirection.x);
animator.SetFloat("Vertical", movementDirection.y);
}
}
Мой SpriteRenderer и шейдер находятся ниже: