Отразить персонажа в другую сторону Unity 2D
Работаю в Unity с 2D персонажем.
При отзеркаливании в другую сторону тело персонажа смещается в другую сторону по оси X.
public class PlayerController : MonoBehaviour
{
public float speed;
private Rigidbody2D rb;
private Vector2 moveVelocity;
private Animator anim;
private float moveInp;
private bool facingRight = true;
void Start()
{
anim = GetComponent<Animator>();
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
moveInp = Input.GetAxis("Horizontal");
Vector2 moveInput = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"));
moveVelocity = moveInput.normalized * speed;
}
void FixedUpdate()
{
rb.MovePosition(rb.position + moveVelocity * Time.fixedDeltaTime);
if(moveInp == 0)
{
anim.SetBool("isRunning", false);
}
else
{
anim.SetBool("isRunning", true);
}
if (facingRight == false && moveInp > 0)
{
Flip();
}
else if (facingRight == true && moveInp < 0)
{
Flip();
}
}
void Flip()
{
facingRight = !facingRight;
Vector2 Scaler = transform.localScale;
Scaler.x *= -1;
transform.localScale = Scaler;
}
}
Скриншоты:
Ответы (1 шт):
Автор решения: ВАЛЕРА ФОНКЕР
→ Ссылка
Проблема решена, дело было в положении, оно должно быть установлено на 0 по оси X, у меня же было отрицательное значение.

