Дам небольшие разъяснения по новому механизму озвучки техники:
И так, теперь в файлах техники появилась такая секция:
Привожу на примере танка Челленджер 2:
-- Sound
GT.sound = {};
-- Engine params
GT.sound.engine = {};
GT.sound.engine.idle = "GndTech/DieselEngineIdle";
GT.sound.engine.max = "GndTech/DieselEngineMax";
GT.sound.engine.idle_formula_gain = "0.2 x * 1 +";
GT.sound.engine.idle_formula_pitch = "1.2436 x * 0.7564 +";
GT.sound.engine.max_formula_gain = "x 5.0 ^";
GT.sound.engine.max_formula_pitch = "0.4363 x * 0.5637 +";
-- Engine params
-- Move params
GT.sound.move = {};
GT.sound.move.sound = "GndTech/TankMove";
GT.sound.move.pitch = {{0.0, 0.6}, {10.0, 1.2}};
GT.sound.move.gain = {{0.0, 0.01}, {0.5, 0.5}, {12.0, 1.0}};
-- Move params
-- Turbine param
GT.sound.turbine = {};
GT.sound.turbine.loop = "GndTech/TurbineLoop";
GT.sound.turbine.loop_formula_gain = "x 3 ^ -1.4725 * x 2 ^ 2.3676 * + x 0.1952 * - 0.0061 +";
GT.sound.turbine.loop_formula_pitch = "x 2 ^ -1.0 * x 2.3 * + 0.7 +";
-- Turbine param
-- Sound
Изменений не много, но они важные.
1. На звук двигателя теперь можно "вешать" два разных звука. По умолчанию это звук холостого хода и звук двигателя на максимальных оборотах.
2. Динамика звучания каждого звука вычисляется по формулам для pitch и gain. Формулы записаны в обратной польской нотации. Например (1 + 2) * 3 будут записаны как 1 2 + 3 *. Поддерживаются операции: +, -, *, /, ^ - возведение в степень, exp - экспонента, x - переменная задающая текущие обороты двигателя. Изменяется от 0..5100, где 1000 - холостой ход, а 5100 - максимальные обороты.
3. Звук лязга гусениц или другой звук движения. pitch и gain задается в виде полинома: {0.0, 0.6}, {10.0, 1.2} - от скорости 0 м/с до 10 м/с параметр равен 0.6, где 0.0 - и есть ноль, 1.0 - как есть в звуковом файле.
4. Отдельный звук турбины двигателя. Задается точно так же, как и у двигателя.