Ljud:
Jag har hittat en stor script fil (100 kb) som bl.a bygger på egenutvecklad ljudfil och alltså INTE följer
Auran standarden. Tack för ditt tips om ljudfils uppbyggnad, Sven-Olov, eftersom jag inte fick ihop det
när jag studerade nedladdade koden. Jag fick då för mig att 2 diesel ljud var igång SAMTIDIGT, men nu vet jag bättre.
Koden bygger på att:
1. Man räknar ut längden i sek för varje WAV fil.
2. Spar värdena i vektorer med djupet 8 = Throttle lägen.
3. Alltså 3 vektorer för resp Idle, Up, down mode.
4. ShutDown + StartUp WAV fils längd.
Sen skapar man THREAD funktioner:
En tråd för engine_monitor(), som bl.a tar reda på förändrat Throttle läge.
En tråd för engine sound(), som i en oändlig loop spelar upp aktuell WAV fil beroende på aktuellt status i Engine tråden.
Man använder World.PlaySound för att spela upp ljudet.
Intressant är att man lägger in Sleep metoden i slutet av loopen. Sovtiden sätts till WAV length i sek-0.4 sek.
Hur man kommit fram till 0.4 bygger väl på erfarenhet.
Därefter hamnar man i loopens början igen och allt upprepas.......
Shutdown/Startup WAV filer understöds naturligtvis också i oändliga loopen.
Om du inte har emot det, så tänkte jag testa denna algoritm, Sven-Olov.
Sen om jag får det att fungera är det ju en enkel match att ersätta World.PlaySound med dina PlaySoundScriptEvent(string) och
StopSoundScriptEvent(string), vilket onekligen är ett elegantare alternativ.
Lösningen vi tar fram bygger NATURLIGTVIS på enskilda individer med dieselmotorer, som jobbar oberoende av
andra eventuellt aktiva diesel maskiner.
Övrigt:
1. Baloo kom med ett intressant påpekande:
ISOLATION
vilket också borde läggas in i det vi håller på med.
2. Broms ljud. Varför inte?
3. Kommer säkert mer......
Samtidigt har jag ju fått in lite nya tips om vad som bör kompletteras i ångloken.....
Man lär sig nåt nytt så känge man lever..... Kul!
|