Подробная настройка двигателя и трансмиссии автомобиля
Нашёл на одном ресурсе вот такую неплохую статью.Вдруг кому пригодится.
Настройка транспорта созданного для SandBox 2 не лезет ни в одни ворота,
хотя возможности для довольно хорошей настройки в движок заложены.
Поэтому мне кажется, что будет полезным их подробно рассмотреть.
А Вы, как думаете?
Нажмите сюда, чтобы узнать больше
Сегодня мы будем настраивать двигатель и трансмиссию машины.
Это является необходимым для нормального поведения машины, а так же для правильного воспроизведения звуков транспорта, которые мы будем добавлять и настраивать в программе FMOD Designer.
Но это в следующем уроке, а пока займёмся тюнингом.
На картинке справа представлена группа параметров отвечающих за перемещение нашей машинки.
Разберём назначение основных параметров, которые необходимо согласовать между собой.
Начнём с определения характеристик нашего авто.
Будем ориентироваться на маскл-кар Ford Falcon GT V8 XB из фильма "Безумный Макс", который размещён на нашем сайте в разделе модификаций.
Попробуем реализовать мощность двигателя этой машины равной 600 л.с. В скрипте мощность указывается в кВт, а 1 кВт. примерно равен 1,36 л.с.Разделим 600 на 1,36 и получим 441 кВт, округлим до 450 кВт. Заносим это значение в параметр "enginePower".
Теперь изменим полный привод, который используется по умолчанию, на задний. Для этого поменяем значение параметров driving с "1" на "0", для колёс передней оси, обычно это wheel_1 и wheel_2, и их параметр "axle" = 0.
Для того, чтобы машина с задним приводом поехала в соответствии с мощностьюеё двигателя, необходимо поправить параметры трения в осях колёс и в коробке передач.Отвечают за это "axleFriction" и "axleFrictionMax".
Первый работает во время движения, а второй при простое на холостых оборотах.Ставим первому 100, а второму 500.
Не стоит задавать значения близкие к нулю, так как у машины будет очень хороший накат, т.е. при отпускании газа она будет сама очень долго катится.
Параметру "brakeTorque" зададим 1000, это обратный крутящий момент для торможения при нажатии кнопки назад.
Нажмите сюда, чтобы узнать больше
Теперь перейдём к коробке передач.
Для такой мощной машины есть смысл сделать 6-ти ступенчатую коробку.Разворачиваем группу "gearRatios", и в меню под правой кнопкой мыши выбираем Add GearRatio (добавить передаточное число).Повторяем пока количество записей "gearRatios" не станет равным 8-ми.
Теперь ставим значения параметров:
1й. = -10, это задняя передача,
2й. = 0, это нейтраль,
3й. = 10, это первая передача,
4й. = 8, это 2я,
5й. = 6.5, это 3я,
6й. = 5, это 4я,
7й. = 3.5, это 5я,
8й. = 2.5, это 6я,
При необходимости можно добавить ещё передач, каждый следующий параметр будет соответствовать более высокой передаче.Значения параметров, это передаточное число этой передачи.
Максимальные обороты гоночного двигателя выберем в 8000 об./мин, минимальные 200 об./мин.Переключение на верхнюю передачу будет при "engineShiftUpRPM" = 6000 об./мин., а переход на нижнюю передачу при "engineShiftDownRPM" = 3000 об./мин.Запуск двигателя при "engineStartRPM" = 1000 об./мин., и холостой ход при "engineIdleRPM" = 1000 об./мин.
Перейдём к настройке управления.
Зададим "steerSpeed" = 10, это скорость с которой будут поворачиваться управляющие колёса во время движения на скорости указанной в "vMaxSteerMax" = 70.
А параметр "steerSpeedMin" = 100 определит это же для неподвижной машины.Чтобы руль резко не поворачивался при движении и был эффект скольжения управляющих колёс во время поворота, поставим значение "kvSteerMax" = 10,что определит на какое значение нужно плавно уменьшать угол поворота колёс до достижения скорости указанной нами в "vMaxSteerMax" ранее, и равной 70.
Скорость здесь измеряется в м./сек. Чтобы получить км./ч. умножаем это значение на 3,6, или делим километры на 3,6, чтобы получить м./сек.Например, 250 км./ч. делим на 3.6 и получаем примерно 69,4 м./сек. Можно немного увеличить сцепление колёс во время движения, поставив "dynFriction" = 1,5.
Нажмите сюда, чтобы узнать больше
Для оценки характеристик удобно использовать консольную команду v_profileMovement = 1. Она отображает текущие значения основных параметров транспорта.Эти значения соответствуют подобным параметрам в скрипте.
Вот описание наиболее нужных из них:
Speed: скорость в м./сек., (в км./ч.)
LocalVel: вектор локальной скорости
rpm_scale: отношение текущих оборотов двигателя к максимальным
Gear: текущая передача
Torque: крутящий момент на колёсах
AxleFric: трение в осях колёс
Dampers: амортизация подвески
steer: угол поворота управляющих колёс
steerSpeed: скорость поворота управляющих колёс
Возможно нужно дополнительное пояснение параметра "rpm_scale".Для рассчёта нужно макс. обороты двигателя умножить на rpm_scale.Например, 8000*0,61 = 4880, и наоборот, 3000/8000 = 0,375.Эти подсчёты понадобятся для программы FMOD, во время точной настройки скорости проигрывания звука в зависимости от оборотов двигателя.
Но это мы рассмотрим в следующий раз.
Творческого Вам вдохновения и ни гвоздя, ни жезла на дорогах!
Описание параметров:
Нажмите сюда, чтобы узнать больше
"steerMax" необязательный
"vMaxSteerMax" "Скорость при которой рулевой угол уменьшен значением заданным в kvSteerMax"
"steerSpeed" мин.="0" макс.="1000" "Скорость поворота управляющих колес для скорости движения указанной в "vMaxSteerMax"
"steerSpeedMin" мин.="0" макс.="1000" "Базовая скорость поворота для колес, т.е. без движения"
"steerSpeedScale" "коэффициент для steerSpeed"
"steerSpeedScaleMin" "коэффициент для steerSpeedMin"
"v0SteerMax" "Максимальный управляющий угол для колес"
"kvSteerMax" "Управляющий угол уменьшается на это значение"
"steerRelaxation" мин.="0" макс.="1000" "Скорость восстановления исходного положения управления"
"pedalLimitMax" "Дополнительное ограничение скорости при максимальном повороте"
"engineIgnitionTime" " Время зажигания Двигателя" необязательный
"isBreakingOnIdle" "1" или "0" необязательный
"RPMInterpSpeed" необязательный "speed for RPM interpolation - скорость для интерполяции оборотов?"
"RPMRelaxSpeed" необязательный "Скорость восстановления оборотов холостого хода"
"RPMGearShiftSpeed" необязательный "Скорость для восстановления оборотов во время переключения передач"
Категория "Wheeled"
"axleFriction" мин.="0" макс.="10000" "Крутящий момент
вызванный внутренним трением на оси и коробке передач во время движения"
"axleFrictionMax" мин.="0" макс.="10000" "Крутящий момент
вызванный внутренним трением на оси и коробке передач во время ожидания"
необязательный
"brakeTorque" мин.="0" макс.="40000"
"Крутящий момент используемый когда меняется направление движения на
противоположное"
"brakeImpulse" мин.="0" макс.="10000" "Импульс при смене направления движения на противоположное" необязательный
"clutchSpeed" мин.="0" макс.="10" "Скорость для освобождения сцепления"
"engineIdleRPM" мин.="0" макс.="10000" "Обороты холостого хода"
"engineMaxRPM" мин.="0" макс.="10000" "Максимальные обороты двигателя"
"engineMinRPM" мин.="0" макс.="10000" "Минимальные обороты двигателя перед тем как он заглохнет"
"enginePower" мин.="0" макс.="10000" "Мощность двигателя в кВт, 1 кВТ = 1,36 л.с."
"engineShiftDownRPM" мин.="0" макс.="10000" "Обороты для преключения на нижнюю передачу"
"engineShiftUpRPM" мин.="0" макс.="10000" "Обороты для переключения на верхнюю передачу"
"engineStartRPM" мин.="0" макс.="10000" "Обороты при запуске двигателя"
"minBrakingFriction" мин.="0" макс.="10" "Минимальное трение при ручном тормозе" необязательный
"maxBrakingFriction" мин.="0" макс.="10" "Максимальное трение при ручном тормозе" необязательный
"maxSteer" мин.="0" макс.="1.57" "Максимальный угол поворота колёс в радианах"
"maxSpeed" мин.="0" макс.="100" "Приблизительная максимальная скорость, для настройки спидометра" необязательный
"maxTimeStep" мин.="0" макс.="0.1" "Max timestep that the entity is allowed to make"
"minEnergy" мин.="0" макс.="10" "Minimum energy before the entity can be put asleep"
"slipThreshold" мин.="0" макс.="1" "Соотношение, при котором колеса считаются скользящими"
"suspDampingMin" мин.="-2" макс.="10000" "Амортизация Подвески на нулевой скорости" необязательный
"suspDampingMax" мин.="-2" макс.="10000" "Амортизация Подвески на максимальной скорости" необязательный
"suspDampingMaxSpeed" мин.="0" макс.="150" "Максимальная скорость для увеличения амортизации подвески" необязательный
"gearDirSwitchRPM" мин.="0" макс.="10000" "Максимальные обороты
колеса, при которых может быть изменено направление передачи"
"dynFriction" мин.="0" макс.="10" "Множитель сцепления колёс во время движения"
"steerTrackNeutralTurn" необязательный мин.="0" макс.="1.57"
"Исходный угол поворота руля для танков, должен быть такой же, как
текущий maxSteer"
"pullTilt" необязательный мин.="-90" макс.="90" "Угол наклона движущей силы вниз"
"latFriction" необязательный мин.="0" макс.="5" "Множитель бокового трения"
"maxGear" необязательный мин.="0" макс.="100" "Максимальное передаточное число вперёд"
Категория "gearRatios" - "Коробка передач"
"gearRatio" мин.="-100" макс.="100" "Передаточные числа каждой передачи.
Номера параметров сверху вниз:
1 назад,
2 нейтраль,
3 и каждая следующая будет вперед"