SHOW:
|
|
- or go back to the newest paste.
1 | using UnityEngine; | |
2 | using System.Collections; | |
3 | ||
4 | public class EngineSound : MonoBehaviour { | |
5 | ||
6 | //Setting's Values | |
7 | public float[] MinRpmTable = {500, 750, 1120, 1669, 2224, 2783, 3335, 3882, 4355, 4833, 5384, 5943, 6436, 6928, 7419, 7900}; | |
8 | public float[] NormalRpmTable = {720, 930, 1559, 2028, 2670, 3145, 3774, 4239, 4721, 5194, 5823, 6313, 6808, 7294, 7788, 8261}; | |
9 | public float[] MaxRpmTable = {920, 1360, 1829, 2474, 2943, 3575, 4036, 4525, 4993, 5625, 6123, 6616, 7088, 7589, 8060, 10000}; | |
10 | public float[] PitchingTable = {0.12f, 0.12f, 0.12f, 0.12f, 0.11f, 0.10f, 0.09f, 0.08f, 0.06f, 0.06f, 0.06f, 0.06f, 0.06f, 0.06f, 0.06f, 0.06f}; | |
11 | ||
12 | //Make Values | |
13 | //public float Pitching = 0.2f; | |
14 | public float RangeDivider = 4f; | |
15 | ||
16 | //Make Components | |
17 | public Flywheel Fly; | |
18 | //public float RPM = 550f; | |
19 | //public bool Mode = false; | |
20 | ||
21 | //Make 16x Audio Source | |
22 | public AudioSource Audio1; | |
23 | public AudioSource Audio2; | |
24 | public AudioSource Audio3; | |
25 | public AudioSource Audio4; | |
26 | public AudioSource Audio5; | |
27 | public AudioSource Audio6; | |
28 | public AudioSource Audio7; | |
29 | public AudioSource Audio8; | |
30 | public AudioSource Audio9; | |
31 | public AudioSource Audio10; | |
32 | public AudioSource Audio11; | |
33 | public AudioSource Audio12; | |
34 | public AudioSource Audio13; | |
35 | public AudioSource Audio14; | |
36 | public AudioSource Audio15; | |
37 | public AudioSource Audio16; | |
38 | ||
39 | void Start () { | |
40 | Fly = this.GetComponent<Flywheel> (); | |
41 | ||
42 | //Get 16x Audio Source | |
43 | Audio1 = Audio1.GetComponent<AudioSource> (); | |
44 | Audio2 = Audio2.GetComponent<AudioSource> (); | |
45 | Audio3 = Audio3.GetComponent<AudioSource> (); | |
46 | Audio4 = Audio4.GetComponent<AudioSource> (); | |
47 | Audio5 = Audio5.GetComponent<AudioSource> (); | |
48 | Audio6 = Audio6.GetComponent<AudioSource> (); | |
49 | Audio7 = Audio7.GetComponent<AudioSource> (); | |
50 | Audio8 = Audio8.GetComponent<AudioSource> (); | |
51 | Audio9 = Audio9.GetComponent<AudioSource> (); | |
52 | Audio10 = Audio10.GetComponent<AudioSource> (); | |
53 | Audio11 = Audio11.GetComponent<AudioSource> (); | |
54 | Audio12 = Audio12.GetComponent<AudioSource> (); | |
55 | Audio13 = Audio13.GetComponent<AudioSource> (); | |
56 | Audio14 = Audio14.GetComponent<AudioSource> (); | |
57 | Audio15 = Audio15.GetComponent<AudioSource> (); | |
58 | Audio16 = Audio16.GetComponent<AudioSource> (); | |
59 | ||
60 | //Play Audio's | |
61 | Audio1.Play(); | |
62 | Audio2.Play(); | |
63 | Audio3.Play(); | |
64 | Audio4.Play(); | |
65 | Audio5.Play(); | |
66 | Audio6.Play(); | |
67 | Audio7.Play(); | |
68 | Audio8.Play(); | |
69 | Audio9.Play(); | |
70 | Audio10.Play(); | |
71 | Audio11.Play(); | |
72 | Audio12.Play(); | |
73 | Audio13.Play(); | |
74 | Audio14.Play(); | |
75 | Audio15.Play(); | |
76 | Audio16.Play(); | |
77 | } | |
78 | ||
79 | void Update () { | |
80 | //Set Volume By Rpm's | |
81 | for (int i = 0; i < 16; i++) { | |
82 | if (i == 0) { | |
83 | //Set Audio1 | |
84 | if (Fly.RPM < MinRpmTable[i]) { | |
85 | Audio1.volume = 0.0f; | |
86 | } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) { | |
87 | float Range = NormalRpmTable[i] - MinRpmTable[i]; | |
88 | float ReducedRPM = Fly.RPM - MinRpmTable[i]; | |
89 | Audio1.volume = ReducedRPM / Range; | |
90 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
91 | Audio1.pitch = 1f - PitchingTable[i] + PitchMath; | |
92 | } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) { | |
93 | float Range = MaxRpmTable[i] - NormalRpmTable[i]; | |
94 | float ReducedRPM = Fly.RPM - NormalRpmTable[i]; | |
95 | Audio1.volume = 1f; | |
96 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
97 | Audio1.pitch = 1f + PitchMath; | |
98 | } else if (Fly.RPM > MaxRpmTable[i]) { | |
99 | float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider; | |
100 | float ReducedRPM = Fly.RPM - MaxRpmTable[i]; | |
101 | Audio1.volume = 1f - ReducedRPM / Range; | |
102 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
103 | //Audio1.pitch = 1f + PitchingTable[i] + PitchMath; | |
104 | } | |
105 | } else if (i == 1) { | |
106 | //Set Audio2 | |
107 | if (Fly.RPM < MinRpmTable[i]) { | |
108 | Audio2.volume = 0.0f; | |
109 | } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) { | |
110 | float Range = NormalRpmTable[i] - MinRpmTable[i]; | |
111 | float ReducedRPM = Fly.RPM - MinRpmTable[i]; | |
112 | Audio2.volume = ReducedRPM / Range; | |
113 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
114 | Audio2.pitch = 1f - PitchingTable[i] + PitchMath; | |
115 | } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) { | |
116 | float Range = MaxRpmTable[i] - NormalRpmTable[i]; | |
117 | float ReducedRPM = Fly.RPM - NormalRpmTable[i]; | |
118 | Audio2.volume = 1f; | |
119 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
120 | Audio2.pitch = 1f + PitchMath; | |
121 | } else if (Fly.RPM > MaxRpmTable[i]) { | |
122 | float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider; | |
123 | float ReducedRPM = Fly.RPM - MaxRpmTable[i]; | |
124 | Audio2.volume = 1f - ReducedRPM / Range; | |
125 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
126 | //Audio2.pitch = 1f + PitchingTable[i] + PitchMath; | |
127 | } | |
128 | } else if (i == 2) { | |
129 | //Set Audio3 | |
130 | if (Fly.RPM < MinRpmTable[i]) { | |
131 | Audio3.volume = 0.0f; | |
132 | } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) { | |
133 | float Range = NormalRpmTable[i] - MinRpmTable[i]; | |
134 | float ReducedRPM = Fly.RPM - MinRpmTable[i]; | |
135 | Audio3.volume = ReducedRPM / Range; | |
136 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
137 | Audio3.pitch = 1f - PitchingTable[i] + PitchMath; | |
138 | } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) { | |
139 | float Range = MaxRpmTable[i] - NormalRpmTable[i]; | |
140 | float ReducedRPM = Fly.RPM - NormalRpmTable[i]; | |
141 | Audio3.volume = 1f; | |
142 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
143 | Audio3.pitch = 1f + PitchMath; | |
144 | } else if (Fly.RPM > MaxRpmTable[i]) { | |
145 | float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider; | |
146 | float ReducedRPM = Fly.RPM - MaxRpmTable[i]; | |
147 | Audio3.volume = 1f - ReducedRPM / Range; | |
148 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
149 | //Audio3.pitch = 1f + PitchingTable[i] + PitchMath; | |
150 | } | |
151 | } else if (i == 3) { | |
152 | //Set Audio4 | |
153 | if (Fly.RPM < MinRpmTable[i]) { | |
154 | Audio4.volume = 0.0f; | |
155 | } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) { | |
156 | float Range = NormalRpmTable[i] - MinRpmTable[i]; | |
157 | float ReducedRPM = Fly.RPM - MinRpmTable[i]; | |
158 | Audio4.volume = ReducedRPM / Range; | |
159 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
160 | Audio4.pitch = 1f - PitchingTable[i] + PitchMath; | |
161 | } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) { | |
162 | float Range = MaxRpmTable[i] - NormalRpmTable[i]; | |
163 | float ReducedRPM = Fly.RPM - NormalRpmTable[i]; | |
164 | Audio4.volume = 1f; | |
165 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
166 | Audio4.pitch = 1f + PitchMath; | |
167 | } else if (Fly.RPM > MaxRpmTable[i]) { | |
168 | float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider; | |
169 | float ReducedRPM = Fly.RPM - MaxRpmTable[i]; | |
170 | Audio4.volume = 1f - ReducedRPM / Range; | |
171 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
172 | //Audio4.pitch = 1f + PitchingTable[i] + PitchMath; | |
173 | } | |
174 | } else if (i == 4) { | |
175 | //Set Audio5 | |
176 | if (Fly.RPM < MinRpmTable[i]) { | |
177 | Audio5.volume = 0.0f; | |
178 | } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) { | |
179 | float Range = NormalRpmTable[i] - MinRpmTable[i]; | |
180 | float ReducedRPM = Fly.RPM - MinRpmTable[i]; | |
181 | Audio5.volume = ReducedRPM / Range; | |
182 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
183 | Audio5.pitch = 1f - PitchingTable[i] + PitchMath; | |
184 | } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) { | |
185 | float Range = MaxRpmTable[i] - NormalRpmTable[i]; | |
186 | float ReducedRPM = Fly.RPM - NormalRpmTable[i]; | |
187 | Audio5.volume = 1f; | |
188 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
189 | Audio5.pitch = 1f + PitchMath; | |
190 | } else if (Fly.RPM > MaxRpmTable[i]) { | |
191 | float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider; | |
192 | float ReducedRPM = Fly.RPM - MaxRpmTable[i]; | |
193 | Audio5.volume = 1f - ReducedRPM / Range; | |
194 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
195 | //Audio5.pitch = 1f + PitchingTable[i] + PitchMath; | |
196 | } | |
197 | } else if (i == 5) { | |
198 | //Set Audio6 | |
199 | if (Fly.RPM < MinRpmTable[i]) { | |
200 | Audio6.volume = 0.0f; | |
201 | } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) { | |
202 | float Range = NormalRpmTable[i] - MinRpmTable[i]; | |
203 | float ReducedRPM = Fly.RPM - MinRpmTable[i]; | |
204 | Audio6.volume = ReducedRPM / Range; | |
205 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
206 | Audio6.pitch = 1f - PitchingTable[i] + PitchMath; | |
207 | } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) { | |
208 | float Range = MaxRpmTable[i] - NormalRpmTable[i]; | |
209 | float ReducedRPM = Fly.RPM - NormalRpmTable[i]; | |
210 | Audio6.volume = 1f; | |
211 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
212 | Audio6.pitch = 1f + PitchMath; | |
213 | } else if (Fly.RPM > MaxRpmTable[i]) { | |
214 | float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider; | |
215 | float ReducedRPM = Fly.RPM - MaxRpmTable[i]; | |
216 | Audio6.volume = 1f - ReducedRPM / Range; | |
217 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
218 | //Audio6.pitch = 1f + PitchingTable[i] + PitchMath; | |
219 | } | |
220 | } else if (i == 6) { | |
221 | //Set Audio7 | |
222 | if (Fly.RPM < MinRpmTable[i]) { | |
223 | Audio7.volume = 0.0f; | |
224 | } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) { | |
225 | float Range = NormalRpmTable[i] - MinRpmTable[i]; | |
226 | float ReducedRPM = Fly.RPM - MinRpmTable[i]; | |
227 | Audio7.volume = ReducedRPM / Range; | |
228 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
229 | Audio7.pitch = 1f - PitchingTable[i] + PitchMath; | |
230 | } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) { | |
231 | float Range = MaxRpmTable[i] - NormalRpmTable[i]; | |
232 | float ReducedRPM = Fly.RPM - NormalRpmTable[i]; | |
233 | Audio7.volume = 1f; | |
234 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
235 | Audio7.pitch = 1f + PitchMath; | |
236 | } else if (Fly.RPM > MaxRpmTable[i]) { | |
237 | float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider; | |
238 | float ReducedRPM = Fly.RPM - MaxRpmTable[i]; | |
239 | Audio7.volume = 1f - ReducedRPM / Range; | |
240 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
241 | //Audio7.pitch = 1f + PitchingTable[i] + PitchMath; | |
242 | } | |
243 | } else if (i == 7) { | |
244 | //Set Audio8 | |
245 | if (Fly.RPM < MinRpmTable[i]) { | |
246 | Audio8.volume = 0.0f; | |
247 | } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) { | |
248 | float Range = NormalRpmTable[i] - MinRpmTable[i]; | |
249 | float ReducedRPM = Fly.RPM - MinRpmTable[i]; | |
250 | Audio8.volume = ReducedRPM / Range; | |
251 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
252 | Audio8.pitch = 1f - PitchingTable[i] + PitchMath; | |
253 | } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) { | |
254 | float Range = MaxRpmTable[i] - NormalRpmTable[i]; | |
255 | float ReducedRPM = Fly.RPM - NormalRpmTable[i]; | |
256 | Audio8.volume = 1f; | |
257 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
258 | Audio8.pitch = 1f + PitchMath; | |
259 | } else if (Fly.RPM > MaxRpmTable[i]) { | |
260 | float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider; | |
261 | float ReducedRPM = Fly.RPM - MaxRpmTable[i]; | |
262 | Audio8.volume = 1f - ReducedRPM / Range; | |
263 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
264 | //Audio8.pitch = 1f + PitchingTable[i] + PitchMath; | |
265 | } | |
266 | } else if (i == 8) { | |
267 | //Set Audio9 | |
268 | if (Fly.RPM < MinRpmTable[i]) { | |
269 | Audio9.volume = 0.0f; | |
270 | } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) { | |
271 | float Range = NormalRpmTable[i] - MinRpmTable[i]; | |
272 | float ReducedRPM = Fly.RPM - MinRpmTable[i]; | |
273 | Audio9.volume = ReducedRPM / Range; | |
274 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
275 | Audio9.pitch = 1f - PitchingTable[i] + PitchMath; | |
276 | } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) { | |
277 | float Range = MaxRpmTable[i] - NormalRpmTable[i]; | |
278 | float ReducedRPM = Fly.RPM - NormalRpmTable[i]; | |
279 | Audio9.volume = 1f; | |
280 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
281 | Audio9.pitch = 1f + PitchMath; | |
282 | } else if (Fly.RPM > MaxRpmTable[i]) { | |
283 | float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider; | |
284 | float ReducedRPM = Fly.RPM - MaxRpmTable[i]; | |
285 | Audio9.volume = 1f - ReducedRPM / Range; | |
286 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
287 | //Audio9.pitch = 1f + PitchingTable[i] + PitchMath; | |
288 | } | |
289 | } else if (i == 9) { | |
290 | //Set Audio10 | |
291 | if (Fly.RPM < MinRpmTable[i]) { | |
292 | Audio10.volume = 0.0f; | |
293 | } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) { | |
294 | float Range = NormalRpmTable[i] - MinRpmTable[i]; | |
295 | float ReducedRPM = Fly.RPM - MinRpmTable[i]; | |
296 | Audio10.volume = ReducedRPM / Range; | |
297 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
298 | Audio10.pitch = 1f - PitchingTable[i] + PitchMath; | |
299 | } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) { | |
300 | float Range = MaxRpmTable[i] - NormalRpmTable[i]; | |
301 | float ReducedRPM = Fly.RPM - NormalRpmTable[i]; | |
302 | Audio10.volume = 1f; | |
303 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
304 | Audio10.pitch = 1f + PitchMath; | |
305 | } else if (Fly.RPM > MaxRpmTable[i]) { | |
306 | float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider; | |
307 | float ReducedRPM = Fly.RPM - MaxRpmTable[i]; | |
308 | Audio10.volume = 1f - ReducedRPM / Range; | |
309 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
310 | //Audio10.pitch = 1f + PitchingTable[i] + PitchMath; | |
311 | } | |
312 | } else if (i == 10) { | |
313 | //Set Audio11 | |
314 | if (Fly.RPM < MinRpmTable[i]) { | |
315 | Audio11.volume = 0.0f; | |
316 | } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) { | |
317 | float Range = NormalRpmTable[i] - MinRpmTable[i]; | |
318 | float ReducedRPM = Fly.RPM - MinRpmTable[i]; | |
319 | Audio11.volume = ((ReducedRPM / Range) * 2f) - 1f; | |
320 | //Audio11.volume = 0.0f; | |
321 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
322 | Audio11.pitch = 1f - PitchingTable[i] + PitchMath; | |
323 | } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) { | |
324 | float Range = MaxRpmTable[i] - NormalRpmTable[i]; | |
325 | float ReducedRPM = Fly.RPM - NormalRpmTable[i]; | |
326 | Audio11.volume = 1f; | |
327 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
328 | Audio11.pitch = 1f + PitchMath; | |
329 | } else if (Fly.RPM > MaxRpmTable[i]) { | |
330 | float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider; | |
331 | float ReducedRPM = Fly.RPM - MaxRpmTable[i]; | |
332 | Audio11.volume = 1f - ReducedRPM / Range; | |
333 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
334 | //Audio11.pitch = 1f + PitchingTable[i] + PitchMath; | |
335 | } | |
336 | } else if (i == 11) { | |
337 | //Set Audio12 | |
338 | if (Fly.RPM < MinRpmTable[i]) { | |
339 | Audio12.volume = 0.0f; | |
340 | } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) { | |
341 | float Range = NormalRpmTable[i] - MinRpmTable[i]; | |
342 | float ReducedRPM = Fly.RPM - MinRpmTable[i]; | |
343 | Audio12.volume = ReducedRPM / Range; | |
344 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
345 | Audio12.pitch = 1f - PitchingTable[i] + PitchMath; | |
346 | } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) { | |
347 | float Range = MaxRpmTable[i] - NormalRpmTable[i]; | |
348 | float ReducedRPM = Fly.RPM - NormalRpmTable[i]; | |
349 | Audio12.volume = 1f; | |
350 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
351 | Audio12.pitch = 1f + PitchMath; | |
352 | } else if (Fly.RPM > MaxRpmTable[i]) { | |
353 | float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider; | |
354 | float ReducedRPM = Fly.RPM - MaxRpmTable[i]; | |
355 | Audio12.volume = 1f - ReducedRPM / Range; | |
356 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
357 | //Audio12.pitch = 1f + PitchingTable[i] + PitchMath; | |
358 | } | |
359 | } else if (i == 12) { | |
360 | //Set Audio13 | |
361 | if (Fly.RPM < MinRpmTable[i]) { | |
362 | Audio13.volume = 0.0f; | |
363 | } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) { | |
364 | float Range = NormalRpmTable[i] - MinRpmTable[i]; | |
365 | float ReducedRPM = Fly.RPM - MinRpmTable[i]; | |
366 | Audio13.volume = ReducedRPM / Range; | |
367 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
368 | Audio13.pitch = 1f - PitchingTable[i] + PitchMath; | |
369 | } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) { | |
370 | float Range = MaxRpmTable[i] - NormalRpmTable[i]; | |
371 | float ReducedRPM = Fly.RPM - NormalRpmTable[i]; | |
372 | Audio13.volume = 1f; | |
373 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
374 | Audio13.pitch = 1f + PitchMath; | |
375 | } else if (Fly.RPM > MaxRpmTable[i]) { | |
376 | float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider; | |
377 | float ReducedRPM = Fly.RPM - MaxRpmTable[i]; | |
378 | Audio13.volume = 1f - ReducedRPM / Range; | |
379 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
380 | //Audio13.pitch = 1f + PitchingTable[i] + PitchMath; | |
381 | } | |
382 | } else if (i == 13) { | |
383 | //Set Audio14 | |
384 | if (Fly.RPM < MinRpmTable[i]) { | |
385 | Audio14.volume = 0.0f; | |
386 | } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) { | |
387 | float Range = NormalRpmTable[i] - MinRpmTable[i]; | |
388 | float ReducedRPM = Fly.RPM - MinRpmTable[i]; | |
389 | Audio14.volume = ReducedRPM / Range; | |
390 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
391 | Audio14.pitch = 1f - PitchingTable[i] + PitchMath; | |
392 | } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) { | |
393 | float Range = MaxRpmTable[i] - NormalRpmTable[i]; | |
394 | float ReducedRPM = Fly.RPM - NormalRpmTable[i]; | |
395 | Audio14.volume = 1f; | |
396 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
397 | Audio14.pitch = 1f + PitchMath; | |
398 | } else if (Fly.RPM > MaxRpmTable[i]) { | |
399 | float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider; | |
400 | float ReducedRPM = Fly.RPM - MaxRpmTable[i]; | |
401 | Audio14.volume = 1f - ReducedRPM / Range; | |
402 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
403 | //Audio14.pitch = 1f + PitchingTable[i] + PitchMath; | |
404 | } | |
405 | } else if (i == 14) { | |
406 | //Set Audio15 | |
407 | if (Fly.RPM < MinRpmTable[i]) { | |
408 | Audio15.volume = 0.0f; | |
409 | } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) { | |
410 | float Range = NormalRpmTable[i] - MinRpmTable[i]; | |
411 | float ReducedRPM = Fly.RPM - MinRpmTable[i]; | |
412 | Audio15.volume = ReducedRPM / Range; | |
413 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
414 | Audio15.pitch = 1f - PitchingTable[i] + PitchMath; | |
415 | } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) { | |
416 | float Range = MaxRpmTable[i] - NormalRpmTable[i]; | |
417 | float ReducedRPM = Fly.RPM - NormalRpmTable[i]; | |
418 | Audio15.volume = 1f; | |
419 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
420 | Audio15.pitch = 1f + PitchMath; | |
421 | } else if (Fly.RPM > MaxRpmTable[i]) { | |
422 | float Range = (MaxRpmTable[i + 1] - MaxRpmTable[i]) / RangeDivider; | |
423 | float ReducedRPM = Fly.RPM - MaxRpmTable[i]; | |
424 | Audio15.volume = 1f - ReducedRPM / Range; | |
425 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
426 | //Audio15.pitch = 1f + PitchingTable[i] + PitchMath; | |
427 | } | |
428 | } else if (i == 15) { | |
429 | //Set Audio16 | |
430 | if (Fly.RPM < MinRpmTable[i]) { | |
431 | Audio16.volume = 0.0f; | |
432 | } else if (Fly.RPM >= MinRpmTable[i] && Fly.RPM < NormalRpmTable[i]) { | |
433 | float Range = NormalRpmTable[i] - MinRpmTable[i]; | |
434 | float ReducedRPM = Fly.RPM - MinRpmTable[i]; | |
435 | Audio16.volume = ReducedRPM / Range; | |
436 | float PitchMath = (ReducedRPM * PitchingTable[i]) / Range; | |
437 | Audio16.pitch = 1f - PitchingTable[i] + PitchMath; | |
438 | } else if (Fly.RPM >= NormalRpmTable[i] && Fly.RPM <= MaxRpmTable[i]) { | |
439 | float Range = MaxRpmTable[i] - NormalRpmTable[i]; | |
440 | float ReducedRPM = Fly.RPM - NormalRpmTable[i]; | |
441 | Audio16.volume = 1f; | |
442 | float PitchMath = (ReducedRPM * (PitchingTable[i] + 0.1f)) / Range; | |
443 | Audio16.pitch = 1f + PitchMath; | |
444 | } | |
445 | } | |
446 | } | |
447 | ||
448 | } | |
449 | } |