Придать мгновенное ускорение 2D объекту unity в нужном направлении, в зависимости от угла поворота
Вот код, который у меня получился. Проблемная зона внизу, в функции AddForce(). Скажите нужна ли она или можно сделать что-нибудь по-другому?
private ArrowRotation zRotateArrow;
private Rigidbody2D rb2D;
private Vector3 vcMove;
public float speed;
public GameObject ArrowObj;
void Awake()
{
zRotateArrow = ArrowObj.GetComponent<ArrowRotation>();
rb2D = GetComponent<Rigidbody2D>();
speed = 28f;
}
void FixedUpdate()
{
if (Input.GetKeyDown(KeyCode.A))
{
transform.Rotate(0f, 0f, zRotateArrow.rotateZ);
rb2D.AddForce(this.transform.up, ForceMode2D.Impulse);
}
}
Ответы (1 шт):
Автор решения: Andrew
→ Ссылка
Что бы придать мгновенное ускорение необходимо использовать не AddForce, а задать velocity на необходимое значение.