Добрый день. Недавно начал работать с Unity. Решил делать небольшой платформер.
Проблема вот в чём:
Есть персонаж, ровный квадрат, через AddForce на него горизонтально воздействует сила. Дело в том, что даже если никакая сила не воздействует (проверял через отображение в консоли
movement) то квадрат сам по себе движется вправо. Движется тело по такой же ровной поверхности. Никаких углов ни у персонажа, ни у пола нету.
Скрипт передвижения:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class playerMovement : MonoBehaviour {
public Rigidbody2D rb;
public float speed;
// Use this for initialization
void Start () {
rb = GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void FixedUpdate () {
float moveHorizontal = Input.GetAxis ("Horizontal");
Vector2 movement = new Vector2 (moveHorizontal, 0);
rb.AddForce (movement * speed);
Debug.Log (movement);
}
}
И вторая проблема заключается в разной скорости передвижения влево и вправо (влево медленнее, чем вправо)
Что подскажете, чтобы исправить?
====== UPDATE =======
Путём опытов, пришёл к выводу, что скрипты не виноваты (полностью отключил их, проблема осталась). Если поднимать игрока по Y вверх через Editor, то он всё равно продолжает движение вправо.
Привожу скриншот инспектора на игрока