Товарищи, такой вопрос. Пишу контроллер персонажа и все в принципе

нормально, местами отлично, но есть как всегда но. Делаю всё перемещение через AddReForce, казалось бы, правильно перемещаю физический объект как надо, но у этого всего есть лично для меня не приятное ускорение и торможение от которого бы хотелось избавиться и управлять этими параметрами самой. Иначе:
1) velocity - я бы с удовольствием бы работала через установку скорости, но есть опять нюанс, NVidia Physics отличается от Box2D и каждый вызов перезаписывает скорость по новой и получается так, что это просто напросто...бесполезно, когда в контроллере и прыжки и гравитация своя и так далее. Я пробовала объединять вектора, но все это даёт шизофрению на экране
2) MovePosition - если вы знаток в написании собственных детекторов коллизий, это не ко мне, на это надо тратить время
3) Менять в разных состояниях drag. Казалось бы - решение, но не так. Выглядит это коряво и не красиво.

По итогу я хочу сделать умное и элегантное решение, которое бы это дело исправляла, я пробовала при торможении прилагать обратную силу и не смогла это сделать работающим полностью, только на половину, почему-то не смогла сделать это с учётом направления движения

Есть те кто могут помочь? Может вы знаете как быть в первом варианте? Или вы знаете как правильно прилагать силу в противовес движения для правильного и настраемового торможения?

Жду знающих людей

4 ответов

47 просмотров

float brakeForce = 5f; Rigidbody2D rb = GetComponent<Rigidbody2D>(); void Update() { float moveX = Input.GetAxis("Horizontal"); Vector2 force = Vector2.zero; if (moveX > 0) { force.x = moveX * rb.mass; вперед } else if (moveX < 0) { force.x = -moveX * rb.mass; } rb.AddForce(force); // Применяем тормозную силу if (moveX == 0 && rb.velocity.x != 0) { rb.AddForce(-Mathf.Sign(rb.velocity.x) * brakeForce); } } brakeforce - это сила торможения, которую ты можете настроить под свои нужды надеюсь я правильно понял что тебе нужно

Gamma Snaplight💛 (Egyptian catgirl)
У меня 3D🗿

Я это даже ясно объяснила в описании

Похожие вопросы

Обсуждают сегодня

Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Это переведённый текст с английского. Я не говорю на русском, но могу использовать переводчик Телеграм. Приветствую! Я начинающий веб-разработчик и все еще учусь. В настояще...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
2
А не хотим ли мы развлечься? 😉 Но так чтобы с пользой для наших профессиональных навыков?? 👨‍🎓👩‍🎓 Предлагаю на октябрь запланировать тестовый запуск новой командной игры "Игр...
Andrii Kurdiumov
2
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
5
у кого сколько оперативы на базе данных ?
АДИЛЬБЕК
4
Через бот апи возможно получить ID стикерпака? Не ссылку.
Vexylon [АФК до 09.09]
5
Привет Хочу сделать аналог iCloud’а для своих проектов, чтобы пользовательская информация хранилась в облаке, была доступна во всех сервисах, её можно было подсасывать везде)...
Виталий
9
В тг можно спарсить всех кто пишет в группе? Если список участников скрыт
S
3
код Event::listen('cms.page.display', function (&$content, $slug, $page, $html) { if (is_object($content)) { dump($content); } else { dump($s...
Point 111
3
Доброе утро, мультиязычные сайты делал кто-нибудь? Какие подводные камни? Нужно чего нибудь допом ставить? Как поступить? В теории сделать две папки ru en и туда кидать страни...
Racoon Mitya
2
Карта сайта