Box2d, поверхность, тело-круг.
Вообщем все банально: по поверхности катится тело-круг, катится оно за счет приложения к нему "крутящего момента" (ApplyTorque).
Тело надо плавно, но быстро тормозить и так же плавно, но быстро ускорять. Если с торможением все более-менее нормально (хотя может и с этим что-нибудь подскажете). То с ускорением совсем беда. Тело начинает проскальзывать, и разгоняется медленно. friction поверхности и тела = 1 (ставил эксперименты с увеличением этого параметра, эффект есть, но он незначителен). В голову приходят мысли только о костылях с манипулированием скорости... И есть ли в боксе возможность убрать проскальзывания вообще (при чтении документации мне подумалось, что friction = 1 - это мой выбор)?
задай телу меньше массу при том же моменте инерции. либо сделай нормальную автомобильную подвеску, которая бы прижимала колесо к земле. неограниченное трение - зло, много артефактов.
Хм. Автомобиля, то нет... Только колесо. К нему приделывать подвеску?
Suslik
> задай телу меньше массу при том же моменте инерции
Если речь именно про момент инерции, то я так понимаю надо уменьшить массу и уменьшить angularDamping, для его сохранения. Но вообще то я пробовал разные комбинации массы, крутящего момента и демпфирования угловой скорости... На данный момент развалил проект, к вечеру соберу и еще раз попробую соотношения поменять, если ничего не будет выходить, приведу конкретные цифры.
Ну и конечно согласен, что "бесконечное" трение плохой вариант, но пока оптимального решения не вижу.
Jugos
> Но вообще то я пробовал разные комбинации массы, крутящего момента и
> демпфирования угловой скорости...
надо поменять именно соотношение массы именно к моменту инерции. крутящий момент и демпинг не играют здесь никакой роли. я не помню, где это задаётся в бокс2д, но можно ещё попробовать cfm/constraint force mixing/softness - типа мягкость контакта.
Тема в архиве.