4yMagaH писал(а):Хотелось бы узнать каким образом и из какого файла игра находит пути к звукам? того или иного вагона\поезда?
Если очень коротко, то к локомотиву/вагону в главном конфиге прикручивается как дочерний элемент конфиг
SoundBlueprint, который, в свою очередь ссылается на
ProxyControl, фрагмент котрого в Вашем посте.
4yMagaH писал(а):Я так понял это, что-то типа прописки пути, к аудио файлу.
Верно.
4yMagaH писал(а):Но, вот ежели менять параметры, или вовсе прописать вместо nakat45int.dav что нибудь свое, то в самой игре, всё остается без изменений.
После изменений необходимо обновленный
ProxyControl открыть с помощью приложения
serz.exe, расположенного в корневой папке игры. Приложение скомпилирует файл в двоичный формат, который читает игра. Кроме того, так как звуковая схема кэшируется, для того, чтобы изменения проявились, необходимо перезапускать игру.
4yMagaH писал(а):Добавить и прописать их напримере уже того который есть
Для того, чтобы добавить звук, необходимо скопировать тот блок, что в Вашем примере и вставить его рядом. В самом верху блока его ID - "id="156511". В добавленном блоке надо вписать свой, любой уникальный номер. Это ID сэмпла. Так как звук должен быть закольцованным, в теге
IsLooped должна быть единица, как в примере.
Для того, чтобы задействовать звук, необходимо создать блок контрола. Их 2 вида -
Loop и
Oneshot. Нам нужна
Loop. Можно скопипастить какой-нибудь блок из существующих в этой вкладке.
Дальше - настроить.
PlayState -
где будет слышно звук. OUTSIDE - только снаружи, INSUDE - только внутри, BOTH - снаружи без изменений, внутри с учетом глушения окклюзией.
Name - любое адекватное имя.
Sound - сюда надо вписать ID звука, заданный сэмплу.
ModifierChain - здесь надо будет вписать ID модификатора.
ControllerName - название контрола, значение которого будет определять, включать или выключать звук. В случае со звуками при вхождении в поворот, это может быть контрол
Curvature, разумеется, нужно убедиться, что такой контрол существует в модели.
LoopCondition - тип условия, при котором звук будет воспроизводится (
ValueInRange - значение контрола в заданных пределах, от и до).
ActiveRangeStartValue - значение контрола, при котором звук активируется.
ActiveRangeEndValue - значение контрола, выше которого звук отключится.
4yMagaH писал(а):не понимаю как заставить проигрываться допустим данный звук при достижении определенной скорости на повороте
За поворот уже есть, теперь насчет скорости.
При воспроизведении звук можно модифицировать. Для этого предназначена вкладка
ModifierChain. Каждый блок модификатора имеет свой ID. Этот ID нужно вписать в тэг
ModifierChain блока контрола. Имя модификатора в тэге
Name может быть любым. Блок модификатора содержит набор вкладок, в которых определяется тип модификации и контрол, значение которого будет основой. Количество этих вкладок может быть любым. Тип модификации
kLoud-cVolumeCurveModifier указывает, что будет модифицироваться громкость звука.
ControllerName - имя контрола, на основании значения которого будет модифицироваться звук. В данном случае это может быть
AbsoluteSpeed - системный контрол, он присутствует у всего ПС, поэтому отдельно приписывать его не надо.
Curve - здесь указывается ID кривой, по закону которой будет модифицироваться звук.
Вкладка
Curve. Здесь прописываются кривые, описывающие закон модификации звука. Блок кривой состоит из имени кривой (любого), ID кривой (указывается в тэге
curve модификатора) и набора точек кривой. Точек кривой может быть любое количество, чем больше, тем плавнее кривая и, как следствие - плавнее переходы громкости/тона звука. Точка кривой описывается 2 параметрами -
X (это опорное значение контрола) и
Y - это уровень громкости/тона, соответствующий данному значению контрола.
Модификаторы работают по принципу перемножения. То есть, конечный уровень громкости, задаваемый модификатором, будет зависеть от результата перемножения всех выходных значений каждой его вкладки с типом
kLoud-cVolumeCurveModifier.
Для начала рекомендую тэг
ModifierChain блока
kLoud-cControlledLoop оставить пустым и добиться работы звука без модификации и только потом начинать его модифицировать. Потому что какая бы ошибка в файле не была бы, результат чаще всего будет один - отсутствие звука вообще.
Чувствую, что написано сумбурно, но ничего не могу поделать - в одном посте сложно передать принцип работы со звуками.
Vasill, нужен тот *.proxyxml, что у Вас получается, расконверченный бинарник-дочерка, ссылающийся на *.proxyxml и расконверченный бинарник локомотива, чтобы в них смотреть, что так, а что не так. Тогда можно будет говорить предметно. Потому что ошибок может быть множество.
В общем смысле могу сказать, что прикручивать звуки к ПС лучше всего не по блогам, а разбирая, как это сделано в других локомотивах или вагонах.