Pull to refresh

Comments 30

Как подобрать значения пружин для танка, такого как Т-34-85?
Вторая ссылка у меня давно сохранена, прочитана, законспектирована.

Вопрос именно в параметрах Wheel Collider. У Unity нет внятного пояснения как их подбирать. Я думал, что вы что-то авторское привносите, новые разъяснения какие-то.

А при дефолтном значении параметров тридцатитонный танк переворачивается вверх колёсами по любому поводу.

Спасибо за ответ.
поворачиваеться вверх колесами? мб проблема в Осях? сосбственно у Unity Z- Front, Y — TOP. в Blender, 3ds max Z-Top. Y-Front. при не правильном экспорте могут быть подобные баги (сам с таким сталкивалься). + еще может быть проблема в моделировании танка, при моделировании танка надо соблюдать простейшое правило в Y+ (то бишь Y+ это координата Y которая указывает стрелкой вперед по координате Y) должен быть передом машины (или танка), а Вверх машины должен быть Z+. в Unity наоборот.
image

если первоначально не правильно моделировали, скажем Front танка это X+ то отсюда могут быть такие косяки, или не правильные настройки экспорта в FBX.

image

2. тут есть руководство про танк Ссылка
Выглядит так: танк есть, ездит нормально (как автострадный агрессор ;-)), но очень-очень неустойчив. Любой вираж, любая кочка — и вверх колёсами.

Графмодель: вперёд Z+, вверх Y+, как и полагается для Unity (то есть на сцене Rotation = (0°;0º;0°)). Размеры в метрах.

В любом случае коды управляли не RigidBody, а только моментом на колёса, поэтому ориентация графического изображения вряд ли важна.

RigidBody: 30000кг, центр тяжести автоматически по мешу, то есть примерно метр над землёй. Ручное выставление на высоту 50см от земли не помогает. Прятать центр тяжести под землю «не спортивно» — костыль, технический долг и другие плохие слова.

Десять катков по 100кг каждый, на них подаю motorTorque. Плюс две «декоративные» пары, которые земли почти не касаются — приводные и передние. На них motorTorque не подаю.

Я проект в разочаровании стёр, но если вам любопытна настройка танковых колёс, я его для обсуждения сфабрикую снова.

Что касается статьи о танках на хабре, то я тоже её внимательно читал и исполнял. Там две проблемы — программист (я) не может нарисовать гусеничную ленту с костями в 3D редакторе; и в статье по кодам и параметрам много упущений, недосказанностей, так что окончательный проект (даже без гусениц) не выплясывает.
Так происходит и в реальности. Чтобы противостоять такому поведению было придумано следующее:
en.wikipedia.org/wiki/Anti-roll_bar
ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B0%D0%B1%D0%B8%D0%BB%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80_%D0%BF%D0%BE%D0%BF%D0%B5%D1%80%D0%B5%D1%87%D0%BD%D0%BE%D0%B9_%D1%83%D1%81%D1%82%D0%BE%D0%B9%D1%87%D0%B8%D0%B2%D0%BE%D1%81%D1%82%D0%B8

в случае настоящего танка этого не существует, поэтому на нем реально можно перевернуться. Как решение — уменьшение максимальной скорости (например, до 60км в час — это на данный момент максимальная скорость движения обт т-90, например) и сильное занижение центра массы ниже уровня земли. По поводу «костыль» — весь геймдев костыль и фейк, попытка обмануть игрока простыми средствами. Так что занижение центра массы вполне ок.
Да, подвеска Кристи, каждый каток независим от остальных, и передача моментов на другой борт не предусмотрена. Или я неверно понимаю подвеску Кристи? Существенного количества фотографий перевёрнутых Т-34 я не нашёл. Судя по поведению танчика в Unity даже в пределах 30км/ч и склонов не круче 10° — это должно было составлять 20-40% небоевых потерь в реальности с зашкаливающим количеством фотоматериалов.

Да и запреты в руководстве по вождению Т-34 почти отсутствуют или находятся далеко за пределами переворота танчика в Unity.

Если бы кто-то доходчиво объяснил параметры WheelCollider, не просто «это ход пружины под весом», а именно «размер хода влияет на ..., обычно значения для велосипедов, мотоциклов, легковых, микробусов, грузовиков, бмп, танков, самолётов, карьерных самосвалов примерно такие ...», то у многих последователей Unity было бы гораздо меньше проблем.
По поводу 30км/ч — 60км это максимальная скорость по хорошему покрытию, по грунту и холмам 30км/ч — будет близкой к максимальной.
www.youtube.com/watch?v=DLC2eYExinc
Судя по видео, там и 20км не пахнет периодически. Как вариант, можно симулировать качение по ровной поверхности гусеницы путем прямого подкручивания корпуса по усредненному положению катков (например приложением силы к противоположной стороне, как симулируется антиролбар для обычных машинок).
Что по поводу UnityCar?
По поводу UnityCar — моё частное мнение таково:

* похоже, что авторы там в UniTech сами не могут разобраться с WheelCollider, если в собственном учебнике дописывают энную кучу кода к нему;

* качество перевода мне не важно, так как я тот PDF мог прочесть и сам на английском;

* конкретно по гусеницам, по-видимому, придётся сдаваться третьей стороне chobi-glass.com/Unity/ — а самому сосредотачиваться на gameplay, нежели на физике. Если выйдет, что параметры WheelCollider невозможно подобрать к реальности, если WheelCollider будет вынуждать писать много кода по подвеске.

В вашем примере они все упали с платформы, а это много.
У меня он переворачивается на кочке…
Так я не про тот UnityCar, а про unitypackages.net/
WheelCollider — эт не поделие юнитеков, а поделие под названием physx 2.8, только сильно порезанное по функционалу для совместимости со старыми версиями. В unity5 будет обновление до physx3.3. Оно же вообще считается по одному рейкасту «для оптимизации». В UnityCar делается симуляция объема колеса и куча математики, отсутствующей в штатном WheelCollider.
За ссылку спасибо. Что по поводу www.assetstore.unity3d.com/en/#!/content/18036?
Без учёта графики и прочих артов:
1) Танк уверенно маневрирует, тормозит и разгоняется во всех направлениях на склонах до 60° (круче не нашёл), что не совсем естественно. Это касается как трения контакта, так и дури двигателя.
2) Танк почти невозможно перевернуть — таки видно, что ЦТ глубже метра на два-три уровня земли. Имхо перебор.
3) Танк соскальзывает боком на некрутых склонах ~10° когда просто стоит, что не совсем естественно;
4) Шейдер танка немного странный — блестящий какой-то. Ролики совсем зеркальные;
5) Смутное туманное свечение с запада (если взять солнце за юг) я не понял;
6) Загружается демка долговато. Дольше, чем китайско-мылрушечные танкики (они на Unity).

1) автобус выше 30км/ч резко теряет в руле. На тех же 40км/ч трассу пройти невозможно — не вписывается в повороты;
2) грузовик имеет критический предел для руля порядка 45км/ч, после которого резко ухудшается диапазон рулёжки. Однако, его параметры, в отличие от автобуса таковы, что он легко дрифтует и вписывается в повороты при стольнике скорости. Положил таки грузовик на бок. Несмотря на то, что поворачивающееся колесо выступает за габариты грузовика, это лежачий грузовик не шевелит. Камеру повернуть не смог — может быть у вас нижнее колесо и не поворачивается вовсе?
3) запас устойчивости багги чрезмерен. Может, считай, поворачиваться бортом к вектору скорости;
4) Лучший аппарат для прохода трассы — седан. Практически все повороты проходятся простым поворотом руля от пуза до пуза, при том, что тапка в пол давит непрерывно. И звук у него как у мотоцикла.
5) Опять же очень долгая загрузка.
У всех проверенных ЦТ закопан метра на три-четыре — такое ощущение. Кроме грузовика, у которого ЦТ заначен не глубже метра.

Про physx спасибо. Попробую поискать внятные параметры WheelCollider на docs.nvidia.com/gameworks/content/gameworkslibrary/physx/guide/Manual/Vehicles.html
ээээ, нет, не закопан в землю, там все гораздо сложнее, хорошая работа саппортов + антиролбаров. :) Внизу есть кнопочка для открытия настроек каждой машинки, вроде B. Вот там можно поотключать все саппорты (типа abs, tc и т.п., покрутить коробку передач, баланс тормозов), присутствующие в современных легковушках и понять, насколько тяжело рулить мощным спорткаром без них.
В конце круга обязательно врезался в кучу стоящих авто. Когда они подлетают в воздух — там не до умных подвесок. И по поведению машинки в воздухе чувствуется, что ЦТ ниже колёс. Либо математика подвески не зависит от наличия земли поблизости?

А чем ваш ассет отличается от www.assetstore.unity3d.com/en/#!/content/403?

Пробовал демо Edy's vehicle physics — там автобус реалистичный, пикапы неплохие, спортивка тоже выглядит непротиворечиво. Парень даже над колёсным БТР начал работать (или уже сделал?)

Мне там накидали минусов, поэтому чаще ежечасного я писать не могу.
Оба пакета были куплены, unitycar после edy vehicle physics, есть с чем сравнивать.
Эди физикс — это:
*) слишком вялая и заточенная исключительно под аркаду (так и называется режим — gta style) симуляция. Коробка вроде только автомат, но это я не помню.
*) не более 2 осей (4 колес). Для сравнения — в юнитикаре есть прицеп, симулирующийся через rigidbody и произвольное количество осей.
*) Ужасная производительность. С десяток катающихся машинок и уже все. Юнитикар в стресстесте достойно катал больше 30.
что ЦТ ниже колёс.

В юнитикаре так же есть модификаторы по прижиманию машинки к поверхности для аркадности. А еще поведение при столкновении сильно зависит от формы коллайдеров.
Вообще, автор (edy vehcile physics) сейчас пилит новую версию под unity5 и нет уверенности, что это будет апгрейд, а не новый продукт: www.youtube.com/watch?v=nUXZiyU3OqE
>Сопротивление мультипликатора
*facepalm*
Дай свой вариант перевода «Drag Multiplier» только не «Перетащить Множитель»
Ну хотя бы «множитель сопротивления». Главное слово тут — множитель, а сопротивление — подчиненное.
«Множитель сопротивления» или «коэффициент сопротивления»
Спасибо вам обоим) сейчас поправлю).
Нет, я понимаю, что принято в личку подобные комментарии писать, но раз уж пошло тут, то продолжим…
Понимаю, что может быть автор перевода не очень владеет терминологией, но…
Работай подвески автомобиля является максимальное трение между шинами и поверхностью дороги. Когда вы управляете автомобилем во время столкновения, вся вертикальная энергии колес будет видна по раме автомобиля.

Явно не по русски же как-то. Ну, что называется, не вооруженным глазом видно же, что что-то не так!

Статья в целом полезна, но выглядит небрежно переведенной, немного недоработанной…
Прошу, если хотите помочь, пишите свой вариант перевода. По поводу «Нет, я понимаю, что принято в личку подобные комментарии писать, но раз уж пошло тут, то продолжим…
Понимаю, что может быть автор перевода не очень владеет терминологией, но…»
1) на хабре принято унижать публично в комментариях и комментировать малейший прокол) я привык)
2) Ну раз я не владею терминологией то Welcome «The job of a car suspension is to maximize the friction between the tires and the road surface. When you are driving the car over a bump, all of the wheel’s vertical energy gets transfered to the frame. » ваш вариант перевода.
3)Я по профессии не переводчик, делаю каждый перевод по этапно > перевод > допиливания смысла> избавление от туфтологии которую любят пихать в данные переводы путая смысл> повторное чтение. когда глава окончена > повторное чтение, корректировка фраз и ошибок. мб данный подход и не профессиональный, но я не переводчик, а за данную тему видно только я взялся переводить, хотя много кто задает вопросы по физике машин и т.д. и когда по 100 раз читаешь, смысл уже заучил каждой строки и «не вооруженным глазом я лично не заметил» т.к читаю статью не 1ый раз, а 100ый.)) ну собственно если бы вы прочитали данное предложение и посмотрели на скриншот, было бы понятно о чем речь. P.S только что перефразировал перевод по другому, жду вашего варианта :) Собственно поповоду «недоработанной» помойму эт как в GameDev вроде создал игру, но баги всё равно найдут, как бы ты не тестировал игру, они будут, и их найдут. Собственно вы читатели и есть тестеры) для корректировок и мелких поправок которые я не заметил) если бы хотели отписать в личку, то отписали бы) но как я понял) здесь принято «коллективное обсуждение». Так что если нашли ошибку) помогайте исправлять) я вроде кое как поправил) но как я уже сказал Welcome!)
«The job of a car suspension is to maximize the friction between the tires and the road surface. When you are driving the car over a bump, all of the wheel’s vertical energy gets transfered to the frame. »

«Основной задачей подвески машины является увеличение трения между шинами и поверхностью дороги. Когда колесо машины проезжает по неровности, то весь вертикальный импульс отдачи передается в место его крепления (колеса).»
Как-то так. Не нужно переводить дословно, необходимо делать обработку и адаптацию текста к русскому языку.
я вкурсе, но и ваш перевод не корректен, т.к на скриншоте «нету крепления колеса» если читали статью, то должны знать используется не точная копия настоящей модели автомобиля, а не много упрощенная.
по вашему «вертикальный импульс отдачи передается в место его крепления» — так более понятнее? учитывая что колеса не куда не крепятся) в качестве невидимого крепления используется «Подвеска» и что это дает по данному определению? «весь вертикальный импульс отдачи передается в подвеску» ну и что это поясняет? а по сути авторы хотели написать т.к подвеска у нас не видима, то при езде по неровности или со столкновением с каким либо предметом (небольшим камнем скажем) мы видем как колеса резко отдалились от рамы «каркаса, основного автомобиля». собственно это видно на скриншоте. вот вы пытались сделать «адаптацию» к русскому языку только с двумя предложениями. попробуйте целую статью перевести) а я буду комментировать изъяны)) собственно если переводить вообще на русский и человеко понятный. «Основной задачей подвески автомобиля является увеличение трения между шинами и поверхностью дороги. Когда колесо машины проезжает по неровности, то вся вертикальная энергия устремляется вверх, отталкивая колеса автомобиля от его первоначального местоположения.»
Была просьба перевести конкретное предложение, а тут уже началось фантазирование на отвлеченные темы. Нет толку переводить грамотно, не надо браться, пусть этим занимаются профессионалы. Я по той же причине не берусь, но хотя бы стараюсь писать грамотно те же комментарии — делаю хабр чуточку чище.
Была просьба перевести конкретное предложение — Не согласен. а тут уже началось фантазирование на отвлеченные темы — не согласен.

Не предложение, а 2 предложения. Которые вас не устроили, и которые дополняют основную статью, нельзя тупо выдрать из контекста предложения и дать свой перевод крича «он круче». Вы сами написали, главное не дословный перевод, а передача смысла — согласен. Но смысл был по прежнему не полностью раскрыт — фактически вы перефразировали мой перевод только заменив своими синонимами. Никаких отвлеченных тем не было — тема одна, я составил предложение на основе вашего перевода и своего перевода с более плавной передачей смысла предложений. Писать грамотно — это вам надо русский преподавать и упрекать в не грамотности только потому что человек вам пытается донести смысл своих слов — это последняя линия обороны «диванного генерала». Вы как уже писали «Не можете переводить», а только писать комментарии, просто по человечески действительно оценить весь труд «Вы не можете т.к не разу не пытались переводить». Я перевожу, по надобности мне и трачу время на оформление и допиливание текста, вижу положительные отзывы " не в комментариях" а в добавление в избранное и рейтинге статьи. Так что ваше мнение «пусть этим занимаются профессионалы» мне до лампочки — я вижу кому статья действительна нужна, а кому нужен повод открыть дискуссию «Я умнее всех я знаю русский круче его т.к я нашел изъян в его переводе». Вы бы писали грамотно комментарии по теме, делая хабр чище, а не засирали хабр очередной дискуссией «я нашел не правильно составленное предложение среди сотни» — данное сообщение можно и в диалоге отписать.
The job of a car suspension is to maximize the friction between the tires and the road surface. When you are driving the car over a bump, all of the wheel’s vertical energy gets transfered to the frame.

Основная функция подвески автомобиля — обеспечение постоянного контакта колес с поверхностью дороги, а значит и обеспечение максимального трения с дорогой. Когда машина проезжает через неровность(бугор) на дороге, кинетическая энергия вертикально перемещающихся колес(а значит и подвижных элементов подвески), через элементы подвески, передается на кузов.

И продолжаем, чтобы читающему стало понятно о чем речь. В оригинал я не заглядывал, может это где-то дальше и описывается…

Характеристики упругого элемента(пружины) и демпфирующего(амортизатор) задают характеристику связи подвижных элементов подвески и кузова. По сути задавая АЧХ этой связи. Таким образом система может быть оптимизирована на поглощение мелких или более крупных неровностей с минимальной потерей контакта шин с поверхностью. Эти параметры также влияют на крены и перераспределение веса между колесами в поворотах, тем самым оказывая значительное влияние на управляемость в разных режимах движения.
Соотношение параметров передней и задней оси определяют характер автомобиля в предельных режимах на повороте(т.н. «поворачиваемость»). Она бывает избыточная(задняя ось сходит с траектории раньше передней), недостаточная(переднюю сносит раньше) и нейтральная(сход с траектории происходит одновременно).

Дальше для примера можно указать, что если жесткость задней подвески будет больше передней, то при прочих равных мы получим тенденцию к избыточной «поворачиваемости» и наоборот.

Всё это можно вот так сходу выдавать, не особо даже вчитываясь в оригинал. Но это уже по желанию, это уже не перевод на 100%
Но и Ваш изначальный вариант, который я цитировал, переводом назвать можно с той-же погрешностью.
ого) спс, счас добавлю в качестве дополнительного материала к Подвеске, по сути нечто такое поясняется только в более простом языке, в последующих главах «Амортизация», «Жесткость пружины» — они же в статье, но сейчас добавлю ваш вариант для более полного разъяснения.
Добавил в раздел «подвески» под спойлер от вашего имени. перед скриншотом.
Sign up to leave a comment.

Articles