private void StateSelect()
    {
        switch (state)
        {
        case State.Off:
            for (int i = 0; i < _sphereCount; i++)
            {
                _spheresMaterials[i].SetColor("_EmissionColor", colorOff);
            }
            break;

        case State.OnAmplitude:
            for (int i = 0; i < _sphereCount; i++)
            {
                if (audioPeer.GetAudioBandBuffer(i) > threshold)
                {
                    _spheresMaterials[i].SetColor("_EmissionColor", _colorOn[i] * emissionMultiplier * audioPeer.GetAudioBandBuffer(i));
                }
                else
                {
                    _spheresMaterials[i].SetColor("_EmissionColor", colorOff);
                }
            }
            break;
        }
    }
Example #2
0
    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;
        }
    }
Example #3
0
    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);
            }
        }
    }
Example #4
0
    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);
    }