private void Update() { if (colorOnAudio) { if (useBufferOnColor) { _matInstance.SetColor("_TintColor", color * audioPeer.GetAudioBandBuffer(audioBandMaterial) * emissionMultiplier); _matInstance.SetColor("_EmissionColor", color * audioPeer.GetAudioBandBuffer(audioBandMaterial) * emissionMultiplier); } else { _matInstance.SetColor("_TintColor", color * audioPeer.GetAudioBand(audioBandMaterial) * emissionMultiplier); _matInstance.SetColor("_EmissionColor", color * audioPeer.GetAudioBand(audioBandMaterial) * emissionMultiplier); } } if (generationCount != 0) { int count = 0; for (int i = 0; i < initiatorPointAmount; i++) { _lerpAudio[i] = audioPeer.GetAudioBandBuffer(audioBand[i]); for (int j = 0; j < (positions.Length - 1) / initiatorPointAmount; j++) { _lerpPosition[count] = Vector3.Lerp(positions[count], targetPosition[count], _lerpAudio[i]); count++; } } _lerpPosition[count] = Vector3.Lerp(positions[count], targetPosition[count], _lerpAudio[initiatorPointAmount - 1]); if (useBezierCurves) { bezierPosition = BezierCurve(_lerpPosition, bezierVertexCount); _lineRenderer.positionCount = bezierPosition.Length; _lineRenderer.SetPositions(bezierPosition); } else { _lineRenderer.positionCount = _lerpPosition.Length; _lineRenderer.SetPositions(_lerpPosition); } } }
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 AudioBehavior() { for (int i = 0; i < initiatorPointAmount; i++) { Color colorLerp = Color.Lerp(_startColor, trails[i].EmisssionColor * colorMultiplier, audioPeer.GetAudioBand(audioBand[i])); trails[i].Trail.material.SetColor("_EmissionColor", colorLerp); colorLerp = Color.Lerp(_startColor, _endColor, audioPeer.GetAudioBand(audioBand[i])); trails[i].Trail.material.SetColor("Color", colorLerp); float widthLerp = Mathf.Lerp(widthMinMax.x, widthMinMax.y, audioPeer.GetAudioBandBuffer(audioBand[i])); trails[i].Trail.widthMultiplier = widthLerp; float timeLerp = Mathf.Lerp(trailTimeMinMax.x, trailTimeMinMax.y, audioPeer.GetAudioBandBuffer(audioBand[i])); trails[i].Trail.time = timeLerp; } }
private void Update() { if (_useScaleAnimation) { if (_useScaleCurve) { _scaleTimer += (_scaleAnimSpeed * _audioPeer.GetAudioBand(_scaleBand)) * Time.deltaTime; if (_scaleTimer >= 1) { _scaleTimer -= 1; } _currentScale = Mathf.Lerp(_scaleAnimMinMax.x, _scaleAnimMinMax.y, _scaleAnimCurve.Evaluate(_scaleTimer)); } else { _currentScale = Mathf.Lerp(_scaleAnimMinMax.x, _scaleAnimMinMax.y, _audioPeer.GetAudioBand(_scaleBand)); } } if (_useLerping) { if (_isLerping) { _lerpPosSpeed = Mathf.Lerp(_lerpPosSpeedMinMax.x, _lerpPosSpeedMinMax.y, _lerpPosAnimCurve.Evaluate(_audioPeer.GetAudioBand(_lerpBand))); _lerpPosTimer += Time.deltaTime * _lerpPosSpeed; transform.localPosition = Vector3.Lerp(_startPosition, _endPosition, Mathf.Clamp01(_lerpPosTimer)); if (_lerpPosTimer >= 1) { _lerpPosTimer -= 1; if (_forward) { _number += _stepSize; _currentIteration++; } else { _number -= _stepSize; _currentIteration--; } if ((_currentIteration > 0) && (_currentIteration < _maxIteration)) { SetLerpPositions(); } else { if (_repeat) { if (_invert) { _forward = !_forward; SetLerpPositions(); } else { _number = _numberStart; _currentIteration = 0; SetLerpPositions(); } } else { _isLerping = false; } } } } } if (!_useLerping) { _phyllotaxisPosition = CalculatePhyllotaxis(_degree, _currentScale, _number); transform.localPosition = new Vector3(_phyllotaxisPosition.x, _phyllotaxisPosition.y, 0); _number += _stepSize; _currentIteration++; } }