void Update() { float amplitude = (useBuffer) ? audioPeer.GetAmplitudeBuffer() : audioPeer.GetAmplitude(); float audioBand = (useBuffer) ? audioPeer.GetAudioBandBuffer(band) : audioPeer.GetAudioBand(band); float frequencyBand = (useBuffer) ? audioPeer.GetFrequencyBandBuffer(band) : audioPeer.GetFrequencyBand(band); Color colour = cached_Material.GetColor("_Color"); Vector3 localScale = (useAmplitude) ? new Vector3(amplitude * scale, amplitude * scale, amplitude * scale) : new Vector3(1.0f, 1.0f + frequencyBand * scale, 1.0f); Color emissionColor = (useAmplitude) ? new Color(amplitude, amplitude, amplitude) : new Color(audioBand, audioBand, audioBand); transform.localScale = localScale; cached_Material.SetColor("_EmissionColor", colour * emissionColor); }
private void Movement() { _lerpPosSpeed = Mathf.Lerp(speedMinMax.x, speedMinMax.y, audioPeer.GetAmplitude()); for (int i = 0; i < trails.Count; i++) { _distanceSnap = Vector3.Distance(trails[i].GO.transform.localPosition, trails[i].TargetPosition); if (_distanceSnap < 0.05f) { trails[i].GO.transform.localPosition = trails[i].TargetPosition; if (useBezierCurves && generationCount > 0) { if (trails[i].CurrentTargetNum < bezierPosition.Length - 1) { trails[i].CurrentTargetNum++; } else { trails[i].CurrentTargetNum = 1; } trails[i].TargetPosition = bezierPosition[trails[i].CurrentTargetNum]; } else { if (trails[i].CurrentTargetNum < positions.Length - 1) { trails[i].CurrentTargetNum++; } else { trails[i].CurrentTargetNum = 1; } trails[i].TargetPosition = targetPosition[trails[i].CurrentTargetNum]; } } trails[i].GO.transform.localPosition = Vector3.MoveTowards(trails[i].GO.transform.localPosition, trails[i].TargetPosition, Time.deltaTime * _lerpPosSpeed); } }