Застревание 2д персонажа в unity
При прыжке (не всегда), персонаж сначала застревает, вот код: using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MovePlayer : MonoBehaviour
{
private bool canJump;
public Rigidbody2D rb;
public float jumpForce = 210f;
private bool jumpControl;
private float jumpIteration = 0;
public float jumpValueIteration = 60;
void Start()
{
canJump = true;
}
void Update()
{
Jump();
}
void Jump()
{
if (Input.GetKey(KeyCode.Space))
{
if (canJump) { jumpControl = true;}
else {
jumpControl = false;
}
}
else { jumpControl = false; }
if (jumpControl)
{
if (jumpIteration++ < jumpValueIteration)
{
rb.AddForce(Vector2.up * jumpForce / jumpIteration);
jumpIteration++;
}
else { jumpIteration = 0; canJump = false;}
}
}
private void OnCollisionStay2D(Collision2D other) {
if(other.gameObject.CompareTag("Platform")) {
canJump = true;
}
}
}
Концепт-арт и немного скульпта
Персонаж - девочка Софи, у которой, очевидно, не самая лёгкая жизнь.
Видео совершенно не по-человечески сделано, не кидайте тапками, плз.