[seek help] Vehicle sound problems

Willkommen in der Transport Fever Community

Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.

 

Die Registrierung und Nutzung ist selbstverständlich kostenlos.

 

Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.

Das Team der Transport-Fever Community


  • When you are far away from the locomotive or pull the angle of view far away, and then move the angle of view close to the locomotive, its sound effect will be gone.The sound effect will only work again if you move away from the locomotive (pull away the camera) and then close to the locomotive.(when it's a train with my self-made wagon, it won't happen when it's a train with the default wagon.):(


    Here are all script content:

    DF4B:

    local soundsetutil = require "soundsetutil"


    local clackNames = {

    "vehicle/clack/CN_Locomotive/part_1.wav",

    "vehicle/clack/CN_Locomotive/part_2.wav",

    "vehicle/clack/CN_Locomotive/part_3.wav",

    "vehicle/clack/CN_Locomotive/part_4.wav",

    "vehicle/clack/CN_Locomotive/part_5.wav",

    "vehicle/clack/CN_Locomotive/part_6.wav",

    "vehicle/clack/CN_Locomotive/part_7.wav",

    "vehicle/clack/CN_Locomotive/part_8.wav",

    "vehicle/clack/CN_Locomotive/part_9.wav",

    "vehicle/clack/CN_Locomotive/part_10.wav"

    }


    function data()


    local data = soundsetutil.makeSoundSet()


    soundsetutil.addTrackParamCR(data, "vehicle/DF4B/x_DF4_Power0.wav", 30.0,

    { { 0.0,1.0 }, { .01, 1.0 }, { .05, 0.0 } }, { { .0, 1.0 }, { 1.0, 1.0 } }, { { .0, 0.0 }, { 0.12, 0.13 }, { 0.24, 0.29 }, { 0.36, 0.45 }, { 0.48, 0.61 } , { 0.6, 0.77 }, { 0.72, 1.0 }}, "power01", "speed01")

    soundsetutil.addTrackParamCR(data, "vehicle/DF4B/x_DF4_Power1.wav", 30.0,

    { { 0.01,0.0 }, { .05, 1.0 }, { .21, 1.0 } , { .25, 0.0 } }, { { .0, 1.0 }, { 1.0, 1.0 } }, { { .0, 0.0 }, { 0.12, 0.13 }, { 0.24, 0.29 }, { 0.36, 0.45 }, { 0.48, 0.61 } , { 0.6, 0.77 }, { 0.72, 1.0 } }, "power01", "speed01")

    soundsetutil.addTrackParamCR(data, "vehicle/DF4B/x_DF4_Power2.wav", 30.0,

    { { 0.17,0.0 }, { .21, 1.0 }, { 0.37, 1.0 }, { 0.41, 0.0 } }, { { .0, 1.0 }, { 1.0, 1.0 } }, {{ .0, 0.0 }, { 0.12, 0.13 }, { 0.24, 0.29 }, { 0.36, 0.45 }, { 0.48, 0.61 } , { 0.6, 0.77 }, { 0.72, 1.0 }},"power01", "speed01")

    soundsetutil.addTrackParamCR(data, "vehicle/DF4B/x_DF4_Power3.wav", 30.0,

    { { 0.33,0.0 }, { .37, 1.0 }, { 0.53, 1.0 }, { 0.57, 0.0 } }, { { .0, 1.0 }, { 1.0, 1.0 } }, {{ .0, 0.0 }, { 0.12, 0.13 }, { 0.24, 0.29 }, { 0.36, 0.45 }, { 0.48, 0.61 } , { 0.6, 0.77 }, { 0.72, 1.0 } },"power01", "speed01")

    soundsetutil.addTrackParamCR(data, "vehicle/DF4B/x_DF4_Power4.wav", 30.0,

    { { 0.49,0.0 }, { .50, 1.0 }, { 0.66, 1.0 }, { 0.70, 0.0 } }, { { .0, 1.0 }, { 1.0, 1.0 } }, {{ .0, 0.0 }, { 0.12, 0.13 }, { 0.24, 0.29 }, { 0.36, 0.45 }, { 0.48, 0.61 } , { 0.6, 0.77 }, { 0.72, 1.0 } },"power01", "speed01")

    soundsetutil.addTrackParamCR(data, "vehicle/DF4B/x_DF4_Power5.wav", 30.0,

    { { 0.49,0.0 }, { .58, 1.0 }, { 0.74, 1.0 }, { 0.78, 0.0 } }, { { .0, 1.0 }, { 1.0, 1.0 } }, {{ .0, 0.0 }, { 0.16, 0.19 }, { 0.27, 0.32 }, { 0.39, 0.48 }, { 0.48, 0.61 } , { 0.63, 0.8 }, { 0.72, 1.0 } },"power01", "speed01")

    soundsetutil.addTrackParamCR(data, "vehicle/DF4B/x_DF4_Power6.wav", 30.0,

    { { 0.65,0.0 }, { .69, 1.0 }, { 0.85, 1.0 }, }, { { .0, 1.0 }, { 1.0, 1.0 } }, {{ .0, 0.0 }, { 0.12, 0.13 }, { 0.24, 0.29 }, { 0.36, 0.45 }, { 0.48, 0.61 } , { 0.6, 0.77 }, { 0.72, 1.0 } },"power01", "speed01")



    soundsetutil.addEventClacks(data, clackNames, 25.0, 183.0)

    soundsetutil.addEvent(data, "horn", { "vehicle/DF4B/x_DF4_Horn.wav" }, 30.0)


    soundsetutil.addTrackSqueal(data, "vehicle/Kurve/kurve_freight2.wav", 25.0)

    soundsetutil.addTrackBrake(data, "vehicle/brake/x_CNPC_Brake_Squeal.wav", 25.0, .99)


    return data


    end

    ----------------------------------------------------------------------------------------------------

    KD25G:


    local soundeffectsutil = require "soundeffectsutil"


    function data()

    return {

    tracks = {

    { name = "vehicle/CH_KD25G/x_KD.wav", refDist = 5.0 }, --KD

    { name = "vehicle/waggon_modern/_waggon_modern.wav", refDist = 5.0 },--ALL

    { name = "vehicle/speed_pc/start.wav", refDist = 5.0 },

    { name = "vehicle/speed_pc/x_CNPC_Rumble_10.wav", refDist = 5.0 },

    { name = "vehicle/speed_pc/x_CNPC_Rumble_17.30.wav", refDist = 5.0 },

    { name = "vehicle/speed_pc/x_CNPC_Rumble_20.wav", refDist = 5.0 },

    { name = "vehicle/speed_pc/x_CNPC_Rumble_23.00.wav", refDist = 5.0 },

    { name = "vehicle/speed_pc/x_CNPC_Rumble_35.43.wav", refDist = 5.0 },

    { name = "vehicle/speed_pc/x_CNPC_Rumble_40.wav", refDist = 5.0 },

    { name = "vehicle/speed_pc/x_CNPC_Rumble_49.20.wav", refDist = 5.0 },

    { name = "vehicle/speed_pc/x_CNPC_Rumble_63.33.wav", refDist = 5.0 },

    { name = "vehicle/speed_pc/x_CNPC_Rumble_80.wav", refDist = 5.0 },

    { name = "vehicle/speed_pc/x_CNPC_Rumble_100.wav", refDist = 5.0 },

    { name = "vehicle/speed_pc/x_CNPC_Rumble_120.wav", refDist = 5.0 },


    { name = "vehicle/train/wheels_ringing2.wav", refDist = 5.0 },

    { name = "vehicle/brake/x_CNPC_Brake_Disk.wav", refDist = 5.0 }

    },

    events = {

    clacks = {

    names = {

    "vehicle/clack/CN_PC/clack_1.wav",

    "vehicle/clack/CN_PC/clack_2.wav",

    "vehicle/clack/CN_PC/clack_3.wav",

    "vehicle/clack/CN_PC/clack_4.wav",

    "vehicle/clack/CN_PC/clack_5.wav",

    "vehicle/clack/CN_PC/clack_6.wav",

    "vehicle/clack/CN_PC/clack_7.wav",

    "vehicle/clack/CN_PC/clack_8.wav",

    "vehicle/clack/CN_PC/clack_9.wav",

    "vehicle/clack/CN_PC/clack_10.wav",

    "vehicle/clack/CN_PC/clack_11.wav",

    "vehicle/clack/CN_PC/clack_12.wav",

    "vehicle/clack/CN_PC/clack_12.wav"

    },

    refDist = 25.0

    }

    },


    updateFn = function (input)

    local speed01 = input.speed / input.topSpeed

    local refWeight = 60.0

    local axleRefWeight = 14.0


    return {

    tracks = {

    --KD

    {

    gain = soundeffectsutil.sampleCurve({ { .0, 1.0 }, { 1.0, 1.0 } }, speed01),

    pitch = soundeffectsutil.sampleCurve({ { .0, 1.0 }, { 1.0, 1.0 } }, speed01)

    },

    --ALL

    {

    gain = soundeffectsutil.sampleCurve({ { .0, .0 }, { 1.0, 1.0 } }, speed01),

    pitch = soundeffectsutil.sampleCurve({ { .0, 1.0 }, { 1.0, 1.0 } }, speed01)

    },

    --START

    {

    gain = soundeffectsutil.sampleCurve({{ 0.0, 0.0 },

    { 0.0, 0.0 },

    { 0.01, 1.0 },

    { 0.02, 0.0 },

    { 1.0, 0.0 } }, speed01),

    pitch = soundeffectsutil.sampleCurve({{ .0, 1.0 },

    { 1.0, 1.0 } }, speed01)

    },

    --10KM/H

    {

    gain = soundeffectsutil.sampleCurve({{ 0.09, 0.0 },

    { 0.0, 0.0 },

    { 0.02, 0.2 },

    { 0.05, 0.2 },

    { 0.06, 0.4 },

    { 0.08, 0.6 },

    { 0.08, 0.6 },

    { 0.10, 0.6 },

    { 0.14, 0.1 },--17.3KM/H

    { 0.15, 0.0 },

    { 1.0, 0.0 } }, speed01),

    pitch = soundeffectsutil.sampleCurve({{ .0, 1.0 },

    { 1.0, 1.0 } }, speed01)

    },

    --17.3KM/H

    {

    gain = soundeffectsutil.sampleCurve({{ 0.18, 0.0 },

    { 0.0, 0.0 },

    { 0.12, 0.1 },

    { 0.13, 0.2 },

    { 0.14, 0.6 },

    { 0.15, 0.6 },

    { 0.16, 0.1 },--20.0KM/H

    { 0.17, 0.0 },

    { 1.0, 0.0 } }, speed01),

    pitch = soundeffectsutil.sampleCurve({{ .0, 1.0 },

    { 1.0, 1.0 } }, speed01)

    },

    --20KM/H

    {

    gain = soundeffectsutil.sampleCurve({{ 0.27, 0.0 },

    { 0.0, 0.0 },

    { 0.15, 0.1 },

    { 0.16, 0.2 },

    { 0.17, 0.6 },

    { 0.18, 0.6 },

    { 0.19, 0.1 },--23.0KM/H

    { 0.20, 0.0 },

    { 1.0, 0.0 } }, speed01),

    pitch = soundeffectsutil.sampleCurve({{ .0, 1.0 },

    { 1.0, 1.0 } }, speed01)

    },

    --23KM/H

    {

    gain = soundeffectsutil.sampleCurve({{ 0.36, 0.0 },

    { 0.0, 0.0 },

    { 0.17, 0.1 },

    { 0.18, 0.2 },

    { 0.20, 0.6 },

    { 0.25, 0.6 },

    { 0.29, 0.1 },--35.0KM/H

    { 0.30, 0.0 },

    { 1.0, 0.0 } }, speed01),

    pitch = soundeffectsutil.sampleCurve({{ .0, 1.0 },

    { 1.0, 1.0 } }, speed01)

    },

    --35KM/H

    {

    gain = soundeffectsutil.sampleCurve({{ 0.45, 0.0 },

    { 0.0, 0.0 },

    { 0.27, 0.1 },

    { 0.28, 0.2 },

    { 0.29, 0.6 },

    { 0.31, 0.6 },

    { 0.33, 0.1 },--40.0KM/H

    { 0.34, 0.0 },

    { 1.0, 0.0 } }, speed01),

    pitch = soundeffectsutil.sampleCurve({{ .0, 1.0 },

    { 1.0, 1.0 } }, speed01)

    },

    --40KM/H

    {

    gain = soundeffectsutil.sampleCurve({{ 0.54, 0.0 },

    { 0.0, 0.0 },

    { 0.31, 0.1 },

    { 0.32, 0.2 },

    { 0.33, 0.6 },

    { 0.37, 0.6 },

    { 0.40, 0.1 },--49.0KM/H

    { 0.41, 0.0 },

    { 1.0, 0.0 } }, speed01),

    pitch = soundeffectsutil.sampleCurve({{ .0, 1.0 },

    { 1.0, 1.0 } }, speed01)

    },

    --49.0KM/H

    {

    gain = soundeffectsutil.sampleCurve({{ 0.63, 0.0 },

    { 0.0, 0.0 },

    { 0.38, 0.1 },

    { 0.39, 0.2 },

    { 0.40, 0.6 },

    { 0.49, 0.6 },

    { 0.52, 0.1 },--63.0KM/H

    { 0.53, 0.0 },

    { 1.0, 0.0 } }, speed01),

    pitch = soundeffectsutil.sampleCurve({{ .0, 1.0 },

    { 1.0, 1.0 } }, speed01)

    },

    --63.0KM/H

    {

    gain = soundeffectsutil.sampleCurve({{ 0.72, 0.0 },

    { 0.0, 0.0 },

    { 0.50, 0.1 },

    { 0.51, 0.2 },

    { 0.52, 0.6 },

    { 0.63, 0.6 },

    { 0.66, 0.1 },--80.0KM/H

    { 0.67, 0.0 },

    { 1.0, 0.0 } }, speed01),

    pitch = soundeffectsutil.sampleCurve({{ .0, 1.0 },

    { 1.0, 1.0 } }, speed01)

    },

    --80.0KM/H

    {

    gain = soundeffectsutil.sampleCurve({{ 0.81, 0.0 },

    { 0.0, 0.0 },

    { 0.64, 0.1 },

    { 0.65, 0.2 },

    { 0.66, 0.6 },

    { 0.80, 0.6 },

    { 0.83, 0.1 },--100.0KM/H

    { 0.84, 0.0 },

    { 1.0, 0.0 } }, speed01),

    pitch = soundeffectsutil.sampleCurve({{ .0, 1.0 },

    { 1.0, 1.0 } }, speed01)

    },

    --100.0KM/H

    {

    gain = soundeffectsutil.sampleCurve({{ 0.90, 0.0 },

    { 0.0, 0.0 },

    { 0.81, 0.1 },

    { 0.82, 0.2 },

    { 0.83, 0.6 },

    { 0.95, 0.6 },

    { 0.99, 0.0 },--120.0KM/H

    { 1.0, 0.0 } }, speed01),

    pitch = soundeffectsutil.sampleCurve({{ .0, 1.0 },

    { 1.0, 1.0 } }, speed01)

    },

    --120.0KM/H

    {

    gain = soundeffectsutil.sampleCurve({{ 0.99, 0.0 },

    { 0.0, 0.0 },

    { 0.97, 0.1 },

    { 0.98, 0.2 },

    { 0.99, 0.6 },

    { 1.0, 0.6 } }, speed01),

    pitch = soundeffectsutil.sampleCurve({{ .0, 1.0 },

    { 1.0, 1.0 } }, speed01)

    },

    ----------------

    soundeffectsutil.squeal(input.speed, input.sideForce, input.maxSideForce),

    soundeffectsutil.brake(input.speed, input.brakeDecel, 0.5),


    { --BRAKE

    gain = soundeffectsutil.sampleCurve({{ .0, .0 },

    { 0.01, .3},

    { 0.04, .5 },

    { 0.08, .7 },

    { 1.0, .9 } }, speed01),

    pitch = soundeffectsutil.sampleCurve({{ .9, 0.5 },

    { 1.0, 0.3 } }, speed01)

    }--BRAKE

    },

    events = {

    clacks = soundeffectsutil.clacks(input.speed, input.weight, input.numAxles, axleRefWeight, input.gameSpeedUp)

    }

    }

    end

    }

    end

    -----------------------------------

    lua:


    function soundsetutil.CRgain(CRa,CRb)

    if (CRa > CRb) then return CRb end

    return CRa

    end




    function soundsetutil.addTrackParamCR(data, name, refDist, gainCurve, pitchCurve,maxgainCurve,param01,param02)

    soundsetutil.addTrack(data, name, refDist,

    function (track, input)

    track.gain = audioutil.sampleCurve(gainCurve, soundsetutil.CRgain( input[param01],audioutil.sampleCurve(maxgainCurve, input[param02])) )

    track.pitch = audioutil.sampleCurve(pitchCurve, soundsetutil.CRgain( input[param01],audioutil.sampleCurve(maxgainCurve, input[param02])) )

    end)

    end


    I've been researching for a week, but I don't have any clue...:(

  • Wird es, man sollte eben die Ankündigungen verfolgen :S


    Allerdings wird ein einzelnes Fahrzeug mit 25 verschiedenen Soundfiles trotzdem dafür sorgen können, dass irgendwann eben das technische Limit erreicht ist. Dann kann es sein, dass leisere Sounds durch laute aus der Priorisierung geworfen werden. Manchmal ist weniger eben mehr.

BlueBrixx