Страница 1 из 1

[FootBall] Удары

СообщениеДобавлено: 05 июл 2018, 20:40
Wea7her
Привет ВСЕМ :ymhug:
Я новичок в UNITY.
Сразу к делу: Делаю футбол от первого лица. Сделал прямые удары, а вот крученные не знаю как сделать. Помогите, подскажите...


Вот скриншот:
Скрытый текст:
Изображение
Изображение

Re: [FootBall] Удары

СообщениеДобавлено: 05 июл 2018, 21:11
1max1
Мячи в реальной жизни не могут поворачивать в воздухе))

Re: [FootBall] Удары

СообщениеДобавлено: 05 июл 2018, 21:19
waruiyume
Это называется эффект Магнуса, он реальнее некуда.

Re: [FootBall] Удары

СообщениеДобавлено: 05 июл 2018, 21:33
Wea7her
waruiyume писал(а):Это называется эффект Магнуса, он реальнее некуда.

Ты прав! Не знаешь как сделать? Вот для примера видео: https://www.youtube.com/watch?v=AHCD-gdbasg

Re: [FootBall] Удары

СообщениеДобавлено: 05 июл 2018, 21:41
waruiyume
Что конкретно не получается?
Вам нужно как-то определить, что удар кручёный, после этого, весь полёт меча, нужно прилагать небольшую силу, перпендикулярную изначальному направлению удара.

Re: [FootBall] Удары

СообщениеДобавлено: 05 июл 2018, 22:03
1max1
Это называется эффект Магнуса, он реальнее некуда.

Эээ, мда, погуглил, реально крутой эффект, даже не думал что сила трения об воздух может такое чудить))

Re: [FootBall] Удары

СообщениеДобавлено: 05 июл 2018, 22:12
Wea7her
waruiyume писал(а):Что конкретно не получается?
Вам нужно как-то определить, что удар кручёный, после этого, весь полёт меча, нужно прилагать небольшую силу, перпендикулярную изначальному направлению удара.

Не получается реализовать этот удар. У меня есть три тригерра: ЛЕВЫЙ, СРЕДНИЙ, ПРАВЫЙ. Эти тригерры прикреплены к ноге игрока. Если мячик стоит посередине ноги он бьет прямым ударом (это я реализовал), а теперь нужно если в левый тригер мячик попадет то он должен бить крученным с уклоном на лево и так же с правым триггером. Как реализовать сам эффект Магнуса?

Re: [FootBall] Удары

СообщениеДобавлено: 05 июл 2018, 22:26
1max1
тебе уже сказали прикладывай силу перпендикулярно стартовой, перпендикуляр можно найти через векторное произведения вектора стартовой силы и Vector3.up:
Синтаксис:
Используется csharp
float force = 100;
Vector3 magnus = Vector3.Cross(startVelocity, Vector3.up).normalize * force;
rigidbody.velocity += magnus;

Re: [FootBall] Удары

СообщениеДобавлено: 05 июл 2018, 22:29
waruiyume
...У меня есть три тригерра: ЛЕВЫЙ, СРЕДНИЙ, ПРАВЫЙ...

Просто добавьте проверку "зажата ли кнопка кручёного удара", а остальное оставьте как есть.
---
Для более убедительного эффекта, можно искать перпендикуляр не к начальной, а текущей скорости.