Unity 2D - Как скорость и бодрый физический материал заставляют шар менять направление каждый раз, когда он ударяет что-то? - PullRequest
0 голосов
/ 04 января 2019

Итак, я следую учебному пособию по YouTube, как приготовить понг.Я понимаю и узнал много вещей, но есть момент, когда он сделал мяч и его движение, но он не объяснил это.Он использовал

void Start() 
{
    rb.velocty = new Vector2(speed, speed);
}

Мяч также прикреплен жестким телом 2d, круговым коллайдером с прикрепленным физическим материалом.Физический материал имеет коэффициент трения 0 и показатель отскока до 1. Это каким-то образом заставило шар отскочить от объекта.

Может кто-нибудь объяснить мне, как он работает?

Большое спасибо!

1 Ответ

0 голосов
/ 04 января 2019
  • Линия

    rb.velocity = new Vector2(speed, speed);
    

    просто устанавливает начальную скорость объекта в направлении x и y.

    Поскольку они используют x = y = speed в определении вектора, шар будет двигаться по диагонали под углом 45 °.

    Измените эти значения, чтобы получить другой угол или скорость.

См. Физические материалы :

  • friction = 0 означает, что объект не будет замедляться.Значение, большее 0, будет замедлять объект с течением времени.

  • bounciness 1 означает, что при столкновении объект не потеряет скорость, а вместо этого отскочит назад со 100%его скорость под соответствующим углом.-> Эта часть изменяет направление объекта в соответствии с углом его удара и т. Д.

Все это обрабатывается самой PhysicsEngine Unity, поэтому у вас нетбеспокоиться об этом.

...