Was ist ein Sound Set?
Ein Sound Set ermöglicht es, einzelnen Fahrzeugen oder Zügen individualisierte Geräusche zuzuweisen. Dabei können die Sounds durch viele Parameter dynamisch im Spiel abgewandelt werden.
Wie erstelle ich ein Sound Set?
Ein Sound Set wird in einer .lua-Datei definiert. Diese muss in res/config/sound_set platziert werden und den selben Namen tragen, wie die zum Fahrzeug gehörige .mdl-Datei.
Welche Befehle gibt es?
refDist
refDist = 40.0 ist die Entfernung bis zu welcher der Sound zu hören ist. Die Einheiten sind noch unklar, hier muss probiert werden, bis man etwas Passendes findet. Erfahrungsgemäß ist ein Wert von 40-60 passend.
[line][/line]
clacks
Mit clacks wird das Klacken der Räder simuliert, die Anzahl ist variabel.
Quoteclacks = {
"vehicle/sd40/klak_1.wav",
"vehicle/sd40/klak_2.wav",
"vehicle/sd40/klak_3.wav",
},
[line][/line]
gainCurve
gainCurve regelt die Lautstärke in Abhängigkeit zur Geschwindichkeit.
Das Format ist { .0, 1 }, die Zahlen sind Angaben von 0-100%, wobei 100%=1 entspricht, entsprechend ist 50%=.5. Die erste Zahl gibt die Lautstärke an, die zweite die Geschwindigkeit.
Als Beispiel ein Leerlaufgeräusch (Beispiel von DukeaufDune)
gainCurve = {
nodes = {
{ .0, 1 }, hier Steht die Lok, Sound bei 100%
{ .05, .9 }, bis 5km/h nimmt der Sound 10% ab
{ .3, .45 }, bei 30km/h ist die Lautstärke rund 50%
{ 1.0, 0.45 }, was sie bis zur Endgeschwindigkeit beibehält
}
},
Als zweites Beispiel ein Fahrgeräusch (Beispiel von DukeaufDune)
gainCurve = {
nodes = {
{ .0, .45 }, bei 0km/h ist er im Hintegrund noch zu hören, einige machen ihn auch ganz aus, aber so mische ich den Leerlauf und Fahrtsound zusammen.
{ .05, .9 }, bis auf 5km/h nimmt die Lautstärke um 45% zu
{ .1, 1.3 }, hier habe ich den Sound auf 130% bei 10km/h gesetzt um ein Anstrengen der Lok zu simulieren, also dass sie Kräftig ziehen muss.
{ 1.0, 1.0 }, bis zu Endgeschwindigkeit regelt sich der Sound auf 100% rauf
}
},
[line][/line]
pitchCurve
pitchCurve regelt die Geschwindigkeit, in der der Sound abgespielt wird.
Das Format ist abermals { .0, 1 }, beide Zahlen geben sind wieder gleichzusetzen mit 0-100%. Die erste Zahl gibt die Fahrtgeschwindigkeit an, die zweite die Geschwindigkeit, mt der der Sound abgespielt wird. Hierbei empfiehlt es sich, im Rahmen von 0.8-1.2 (=80%-120%) zu bleiben, das es sich andernfalls komisch anhören kann.
Als Beispiel das Erhöhen der Abspielgeschwindigkeit von 100% bei 0km/h auf 150% bei Endgeschwindigkeit (passend etwa bei Dampfloks).
Als letztes der Code im Ganzen, ergänzt um Kommentare von DukeaufDune.
function data()
return {
type = "GENERIC",
refDist = 40.0,
clacks = { --Klacken der Räder
"vehicle/sd40/klak_1.wav",
"vehicle/sd40/klak_2.wav",
"vehicle/sd40/klak_3.wav",
},
horn = { name = "vehicle/sd40/sd40_2 horn.wav", refDist = 60.0 }, --hier wird im Einzelnen die Reichweite noch mal auf 60 erhöt
params = {
tracks = {
{
clip = "vehicle/sd40/quitschen.wav",
gainCurve = {
nodes = {
{ .0, .0 }, --Hier habe ich das so eingestellt, dass das Quietschen nur von 0-10km/h zu hören ist
{ .01, 1.5 },
{ .03, .9 },
{ 0.1, 0.45 }, --fängt bei 10km/h an bis auf 3 wird es langsam lauter bei 1 noch schnell lauter, und hört dann abrupt wider bei 0 auf.
{ 0.11, 0.0 },
{ 1.0, 0.0 },
}
},
pitchCurve = {
nodes = {
{ .0, 1.0 },
{ 0.03, 1.0 },
}
}
}, {
clip = "vehicle/sd40/idel_sd40_2.wav", --hier der Leerlauf
gainCurve = {
nodes = {
{ .0, 1 },
{ .05, .9 },
{ .3, .45 },
{ 1.0, 0.45 },
}
},
pitchCurve = {
nodes = {
{ .0, 1 },
{ 1, 1.5 },
}
}
}, {
clip = "vehicle/sd40/drive_sd40_2.wav", --Hier der Fahrtsound, was sich aber auch aus dem Leerlaufsound zusammensetzt
gainCurve = {
nodes = {
{ .0, .45 },
{ .05, .9 },
{ .1, 1.3 },
{ 1.0, 1.0 },
}
},
pitchCurve = {
nodes = {
{ .0, 0.8 },
--{ .05, 1.2 },
--{ .1, 1.4 },
{ 1.0, 1.4 },
}
}
},{
clip = "vehicle/sd40/bing1.wav", -- Das Bimmeln was meine USA Lok haben. Wenn man von 100km/h ausgeht, fängt das Bimmeln ab 21km/h an
gainCurve = { -- bei 150km/h wer die 21 31,5km/h
nodes = {
{ 0.0, 0.0 },
{ 0.01, 1.0 },
{ 0.2, 0.8 },
{ 0.21, 0.0 },
{ 1.0, 0.0 },
}
},
pitchCurve = {
nodes = {
{ 0.0, 0.0 },
{ 0.01, 1.0 },
{ 1.0, 1.0 },
}
}
}
},
}
}
end
Display More