как расчитать трение для колес?

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

как расчитать трение для колес?

Сообщение RestFall 23 окт 2012, 08:27

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

смог лишь поставить ТС на "колеса", а вот рассчитать трение не смог) "колеса" стоят на рэйкастах)

кто уже сталкивал или может помочь что посоветуете?

есть ли более менее понятные формулы или примеры)офф примеры смотрел но хочется по своему)

вот что пока вышло
Последний раз редактировалось RestFall 23 окт 2012, 18:31, всего редактировалось 1 раз.
Аватара пользователя
RestFall
UNIт
 
Сообщения: 118
Зарегистрирован: 21 мар 2012, 19:32
Откуда: Kazakhstan, Apple city
  • Сайт

Re: как расчитать трение для колес?

Сообщение IDoNotExist 23 окт 2012, 17:13

RestFall писал(а):здарова, как рассчитать трение?) видел формулы пасечки ничего не понял) видел туторы на английском размером с книгу) ну как уже понятно не осилил)

Если вы всего этого не поняли, то не понятно чем вам можно помочь. Физика автомобиля не пишется за два дня, это недели, и даже месяцы кропотливой работы, большая часть которой занимает теория. По формулам пасечки вы двигаетесь в правильном направлении, но вряд ли вы где нибудь найдете разжеванные примеры её реализации особенно на русском языке. Могу посоветовать только почитать Brian Beckman: Physics of racing. А вообще трение можно организовать и без этих формул, можно построить график трения с помощью AnimationCurve например, полюбому придется вычислять продольное и поперечное направление колеса, начните хотя бы с этого.
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

Re: как расчитать трение для колес?

Сообщение RestFall 23 окт 2012, 18:20

IDoNotExist писал(а):
RestFall писал(а):здарова, как рассчитать трение?) видел формулы пасечки ничего не понял) видел туторы на английском размером с книгу) ну как уже понятно не осилил)

Если вы всего этого не поняли, то не понятно чем вам можно помочь. Физика автомобиля не пишется за два дня, это недели, и даже месяцы кропотливой работы, большая часть которой занимает теория. По формулам пасечки вы двигаетесь в правильном направлении, но вряд ли вы где нибудь найдете разжеванные примеры её реализации особенно на русском языке. Могу посоветовать только почитать Brian Beckman: Physics of racing. А вообще трение можно организовать и без этих формул, можно построить график трения с помощью AnimationCurve например, полюбому придется вычислять продольное и поперечное направление колеса, начните хотя бы с этого.

вот о книге которую мне не осилить были как раз статьи которые вы мне дали, я понимаю что за 2 дня не пишется и даже не за недели и не за месяцы) торопится мне не куда, у хобби нет сроков) меня интересует именно по части рэйкастов, как на их основе написать нормальное поведение авто, кстати в альтернативной физике кар туториала используют как раз формулы пасечки, но наверное как сами видели выглядит на ахти, если боком наехать на не большой уклон может запросто скатится неожиданно или если на что то наехать то начинает двигаться влево, хочется реализовать без таких нюансов) в гугле начитался как вычислять все воздействующие на шины силы, НО как их применить в юнити я не знаю)
Аватара пользователя
RestFall
UNIт
 
Сообщения: 118
Зарегистрирован: 21 мар 2012, 19:32
Откуда: Kazakhstan, Apple city
  • Сайт

Re: как расчитать трение для колес?

Сообщение Syberex 24 окт 2012, 11:43

По моему силу трения не так уж сложно учесть, сложнее все остальное :)

Для силы трения:
Коэффициенты трения покоя и скольжения для наиболее распространенных материалов.
Трение между колесом и трассой
Трение качения

В итоге вся сила трения сводится к заданию правильного коэффициента, в зависимости от колес и поверхности дороги.
Аватара пользователя
Syberex
Адепт
 
Сообщения: 2292
Зарегистрирован: 14 янв 2011, 20:35
Откуда: Кострома
  • Сайт

Re: как расчитать трение для колес?

Сообщение IDoNotExist 24 окт 2012, 14:40

RestFall писал(а):меня интересует именно по части рэйкастов, как на их основе написать нормальное поведение авто,

Дак что именно вам не понятно то, "нормальное поведение авто" слишком обширное понятие, как то же вы смогли рассчитать силу амортизатора, судя из видео.

RestFall писал(а):кстати в альтернативной физике кар туториала используют как раз формулы пасечки, но наверное как сами видели выглядит на ахти, если боком наехать на не большой уклон может запросто скатится неожиданно или если на что то наехать то начинает двигаться влево,

А это уже особенности PhysX в Unity, это потому что нужно учитывать абсолютно все силы действующие на Rigidbody, и делать для них "противовес", в кар туториале авто скатывается потому что там нет "противовеса" для силы гравитации. Я как то поднимал тему на форуме о том, что нельзя полностью остановить Rigidbody с помощью силы, зная только его velocity. Огромный недостаток ИМХО при моделировании собственной модели трения чего либо, либо если кто захочет написать свой джоинт, то придется сильно извращаться.

RestFall писал(а):xочется реализовать без таких нюансов) в гугле начитался как вычислять все воздействующие на шины силы, НО как их применить в юнити я не знаю)

Разбейте по пунктам какие параметры вам надо найти, раз вы уже вычислили силу амортизатора, значит можно найти то, что в модели Pacejka называется NormalForce - то есть сила воздействия корпуса на колесо, она равна силе с которой пружина амортизатора действует на корпус.
Дальше используйте hit.normal, то есть нормаль плоскости в которую попал рейкаст, чтобы найти продольный и поперечный вектора. относительно колеса.

продольный:
Vector3 lateralNormal = transform.right - (hit.normal* Vector3.Dot(transform.right, hit.normal));

поперечный:
Vector3 longitudinalNormal = Vector3.Cross(lateralNormal , hit.normal);

Это и будут вектора направлений продольной и поперечной силы трения которые в свою очередь нужно получить из формул Pacejka для соответствующих сил.
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

Re: как расчитать трение для колес?

Сообщение Syberex 24 окт 2012, 15:33

IDoNotExist писал(а):А это уже особенности PhysX в Unity, это потому что нужно учитывать абсолютно все силы действующие на Rigidbody, и делать для них "противовес", в кар туториале авто скатывается потому что там нет "противовеса" для силы гравитации. Я как то поднимал тему на форуме о том, что нельзя полностью остановить Rigidbody с помощью силы, зная только его velocity. Огромный недостаток ИМХО при моделировании собственной модели трения чего либо, либо если кто захочет написать свой джоинт, то придется сильно извращаться.

А я щас столнулся с тем, что если задавать скорость ригидбоде, то любые силы оно уже игнорирует :(
Если скорость обнулять, то же самое.
Последний раз редактировалось Syberex 24 окт 2012, 21:56, всего редактировалось 1 раз.
Аватара пользователя
Syberex
Адепт
 
Сообщения: 2292
Зарегистрирован: 14 янв 2011, 20:35
Откуда: Кострома
  • Сайт

Re: как расчитать трение для колес?

Сообщение IDoNotExist 24 окт 2012, 16:48

Syberex писал(а):А я щас столнулся с тем, что если задавать скорость ригидбоде, то любые силы оно уже игнорирует :(
Если скорость обнулять, то же самое.

Это как раз логично. Ну может не совсем игнорирует, но рассчитывает уже не правильно, сами подумайте, вы задаете силу, rigidbody рассчитывает velocity и angularVelocity на основе примененной силы, и тут вы в следующем кадре меняете его velocity на свою, естественно оно не будет себя вести адекватно. На rigidbody нужно воздействовать либо только добавлением сил, либо только жестким контролем его velocity и angularVelocity.
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

Re: как расчитать трение для колес?

Сообщение Syberex 24 окт 2012, 22:02

Да логично :) , но не сразу оно доходит ...

Еще интересный момент такой, как wheelcollider компенсирует гравитацию так, что ригидбодя не взлетает, хотя каждый wheelcollider не знает о том, сколько их присоединено :-\ (речь о том, когда объект просто стоит на дороге)
Аватара пользователя
Syberex
Адепт
 
Сообщения: 2292
Зарегистрирован: 14 янв 2011, 20:35
Откуда: Кострома
  • Сайт


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot] и гости: 26