• Как анимировать такой фон?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Неоднородные плавные искривления никак не получится сделать в рамках CSS или SVG. Плюс волна трехмерная, поэтому изобретать что-то в 2d-канвасе будет непрактично и скорее всего сложно в плане производительности. Поэтому использование WebGL - это естественный выбор. Конкретные библиотеки/фреймворки не имеют значения, в конечном счете все такие волны сводятся к простой схеме:

    1. Берем плоскость
    2. На плоскость накладываем какую-нибудь красивую текстуру
    3. Добавляем вершин побольше
    4. В вершинном шейдере делаем какой-то генератор шума и используем значения из него чтобы двигать вершины туда-сюда в направлении, перпендикулярном плоскости
    5. Опционально там же рассчитываем нормали для освещения
    6. Играемся с коэффициентами до посинения, пока результат не начнет нравиться


    Ответ написан
    Комментировать