@kot123123
я кот

Как закрасить зону под линией?

Итак, у нас есть линия с 64 точками. Каждая точка в определенный момент двигается и надо заполнить область под линией, по идее примерно также работает spriteShape. Можно сделать через spriteShape, но я в нем так и не разобрался, код движении линии очень простой. Буду благодарен за любую помощь!
public float range = 5000f;

    public int number = 64;
    public float[] znachenia;

    public LineRenderer line;

    public int spec;

    [Range(0, 1)]
    public float speedAnimation;

    private void Awake() 
    {
        for(int i = 0;i < number; i++)
        {
            Vector3 posInArray = new Vector3(0,0,0);
            if(i>0)
                posInArray = line.GetPosition(i-1);
            line.SetPosition(i,posInArray+new Vector3(0.2f,0,0));
        }    
    }
	
	void Update () {
        float[] spectrum = new float[spec];
        GetComponent<AudioSource>().GetSpectrumData(spectrum, 0, FFTWindow.BlackmanHarris);

        for(int i = 0;i < number; i++)
        {
            line.SetPosition(i,Vector3.Lerp(line.GetPosition(i),new Vector3(line.GetPosition(i).x,(range * spectrum[i] + znachenia[i])/2),speedAnimation));
            znachenia[i] = range * spectrum[i];
        }
    }
  • Вопрос задан
  • 118 просмотров
Решения вопроса 1
exorka
@exorka
Программист, админ, радиолюбитель
Дополнить линию до закрытого полигона и закрасить наверное.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы