Unity: используйте перетаскивание Rigidbody2D, чтобы замедлить летающего персонажа - PullRequest
1 голос
/ 29 мая 2020

У меня есть персонаж, который запускается в воздух с помощью
rb.AddForce(direction * punch_strength_value * punch_strength_total);

Я хочу, чтобы этот персонаж замедлялся, чем выше он находится в воздухе, создавая "мягкий лимит", поэтому персонаж не go слишком высоко. Я понял, что это можно сделать, изменив сопротивление Rigidbody в соответствии с ростом персонажа, но я ошибся:

 public float height_slowdown = 1;
 void Update()
 {
     heigth = transform.position.y;
     rb.drag = height * height_slowdown;
 }

Используя это, персонаж взлетает в воздух и затем очень резко замедляется, как будто была невидимая стена (это означает, что значение X больше не меняется). Затем он очень медленно падает на землю.

Персонаж начинает с X: 0 Y: 0, если это может помочь.

Как мне заставить персонажа замедлить рост чем он выше?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...