Как сделать тени в adobe animate
Используйте инструменты рисования в Adobe Animate для создания и редактирования линий и фигур в графических объектах ваших документов. Линии и фигуры, создаваемые в Animate, представляют собой облегченную векторную графику, которая позволяет сохранять небольшой размер FLA-файла.
Прежде чем приступить к рисованию и закрашиванию в Animate, важно понимать, как Animate создает иллюстрации, как рисование, закрашивание и модификация фигур может повлиять на другие фигуры в том же слое.
Векторная и растровая графика
Компьютеры отображают графику в векторном или растровом формате. Понимая различия между двумя форматами, можно работать более эффективно. В Animate можно создавать и анимировать компактные векторные изображения. В Animate можно также импортировать и обрабатывать векторные и растровые изображения, созданные в других приложениях.
Векторные изображения
В векторной графике изображения описываются с использованием линий и кривых, называемых векторами, у которых есть также свойства цвета и положения. Например, изображение листа описывается набором точек, через которые проходят линии, образующие контур листа. Цвет листа определяется цветом контура и цветом области, заключенной внутри контура.
При редактировании векторного изображения модифицируются свойства линий и кривых, описывающих его фигуру. Можно перемещать, изменять размер, форму и цвет векторного изображения без изменения качества. Векторные изображения не зависят от разрешения, то есть их можно отображать на устройствах вывода с различным разрешением без потери качества.
Растровые графические объекты
В растровых графических объектах изображения описываются с использованием точек, называемых пикселями, упорядоченных в сетке. Например, изображение листа описывается конкретным местоположением и цветовым значением каждого пикселя в сетке, при этом создается изображение, похожее на мозаику.
При редактировании растрового изображения модифицируются пиксели, а не линии и кривые. Растровые изображения зависят от разрешения, так как точки, описывающие изображение, зафиксированы в сетке определенного размера. При редактировании растрового изображения его качество может изменяться. В частности, при изменении размера растрового изображения его края могут стать неровными из-за перераспределения пикселей в растровой сетке. При отображении растровых изображений на устройстве вывода с более низким разрешением, чем у самого изображения, качество также ухудшается.
Траектории
При рисовании линии или фигуры в программе Animate создается линия, называемая траекторией. Траектория состоит из одного или нескольких прямых или изогнутых сегментов. Начало и конец каждого сегмента отмечаются узловыми точками, которые фиксируют данную кривую на определенном месте. Траектория может быть замкнутой (например, круг) или открытой, с отдельными конечными точками (например, волнообразная линия).
Чтобы изменить форму контура, перетащите его узловые точки, точки направления в конце линий направления, которые появляются в узловых точках, или сам сегмент контура.
A. Выделенная (сплошная) конечная точка B. Выделенная узловая точка C. Невыделенная узловая точка D. Изогнутый сегмент контура E. Точка направления F. Линия направления.
В траекториях существует два типа узловых точек: точки преломления и точки смягчения. В точке преломления контур резко меняет направление. В точке сглаживания сегменты контура соединены в виде непрерывной кривой. Траекторию можно нарисовать с использованием любой комбинации узловых точек и точек смягчения. Если ошибочно нарисована точка не того типа, ее всегда можно изменить.
A. Четыре точки преломления B. Четыре точки сглаживания C. Комбинация точек преломления и точек смягчения.
Точка преломления может соединять любые два прямых или изогнутых сегмента, а точка смягчения всегда соединяет два изогнутых сегмента.
Не путайте точки преломления и точки смягчения с прямыми и изогнутыми сегментами.
Линия траектории называется обводкой. Цвет или градиент, примененный к внутренней области открытой или замкнутой траектории называется заливкой. Обводка характеризуется толщиной, цветом и типом штриха. После создания траектории или фигуры можно изменить свойства обводки и заливки.
Линии направления и точки направления
Если выбрана узловая точка, которая соединяет изогнутые сегменты (или выбран сам сегмент), то в узловых точках соединенных сегментов отображаются маркеры направления, которые состоят из линий направления, оканчивающихся точками направления. Угол и длина линий направления определяет форму и размер изогнутых сегментов. При перемещении линий направления изменяется форма кривых. Линии направления не отображаются в окончательном выводе.
У точки сглаживания всегда есть две линии направления, которые перемещаются вместе как один прямой сегмент. При перемещении линии направления в точку сглаживания изогнутые сегменты на обеих сторонах точки изменяются одновременно, сохраняя непрерывную кривизну в этой узловой точке.
Для сравнения: у точки преломления может быть две, одна или ни одной линии направления, если в точке соединяются два изогнутых сегмента, точка связана с одним изогнутым сегментом или не связана ни с чем (соответственно). Линии направления точки преломления сохраняют преломление за счет использования различных углов. При перемещении линии направления в точку преломления изменяется только кривая с той стороны точки, где расположена линия направления.
Задайте параметры рисования, чтобы определить поведение привязки, смягчения и выпрямления. Измените значение допуска для каждого параметра и включите или отключите каждый параметр. Параметры допуска устанавливаются в зависимости от разрешения экрана компьютера и текущего масштаба просмотра монтажного кадра. По умолчанию каждый параметр включен и имеет значение «Обычный».
Выберите «Правка» > «Настройки» (Windows) или Animate > «Настройки» (Macintosh) и выберите «Рисование».
В категории «Рисование» выберите следующие параметры.Позволяет задать свойства инструмента «Перо». Выберите «Просмотр пера», чтобы отображалась линия, проведенная из последней точки, в которой щелкали мышью, к текущему положению указателя. Выберите «Показывать сплошные точки», чтобы контрольные точки отображались в виде маленьких заполненных квадратов, а не пустых квадратов. Выберите «Показывать точные курсоры», чтобы курсор отображался в виде перекрестия, а не в виде пера, когда выбран инструмент «Перо». При выборе этого параметра место нажатия показывается более точно.
Определяет, насколько близко должен находиться конец рисуемой линии от отрезка существующей линии, прежде чем конечная точка будет привязана к ближайшей точке другой линии. Этот параметр также управляет распознаванием горизонтальных и вертикальных линий, то есть тем, насколько близко к горизонтали или вертикали должна быть проведена линия, чтобы приложение Animate сделало ее точно горизонтальной или вертикальной. Когда включен режим «Привязка к объектам», этот параметр определяет, насколько близко должны располагаться объекты, чтобы произошла их привязка друг к другу.
Указывает степень смягчения, применяемого к кривым линиям, проводимым с использованием инструмента «Карандаш», когда выбран режим рисования «Выпрямление» или «Смягчение». (Форму более гладких обводок проще изменять, тогда как более грубые обводки точнее соответствуют изначально нанесенными линиям.)
Примечание. Чтобы еще более смягчить существующие кривые сегменты, используйте команду «Модификация» > «Фигура» > «Смягчение» или «Модификация» > «Фигура» > «Оптимизировать».
Определяет, насколько прямо должен быть проведен отрезок линии с помощью инструмента «Карандаш», прежде чем Animate распознает линию как прямую и сделает ее фактически прямой. Если во время рисования режим «Распознавать прямые» отключен, то линии можно выпрямить позднее, выделив один или несколько отрезков линии и выбрав команду «Модификация» > «Фигура» > «Выпрямление».
Задает, насколько точно должны быть нарисованы круги, овалы, квадраты, прямоугольники и 90- и 180-градусные дуги, чтобы программа распознала и точно перерисовала их в виде реальных геометрических фигур. Параметры «Выкл.», «Точно», «Обычный» и «Приемлемо». В режиме «Точно» требуется, чтобы фигура была нарисована очень близко к выпрямленной. В режиме «Приемлемо» фигура может быть довольно неточной, а Animate перерисует ее. Если во время рисования режим «Распознавать фигуры» отключен, то линии можно выпрямить позднее, выделив одну или несколько фигур (например, соединенные отрезки линии) и выбрав команду «Модификация» > «Фигура» > «Выпрямление».
Указывает, насколько близко к элементу должен находиться указатель, чтобы программа Animate распознала элемент.
Описание моего опыта переезда с Flash на Animate CC и создания баннеров во всемогущем формате HTML5. Много картинок под катом
Немного исторического экскурса и терминов
Лично я сам знаком с Flash гораздо больше 10 лет и немного представляю, как работает эта технология «изнутри».
Примерно столько же лет я верстаю сайты, в том числе на «современном» языке HTML5, который, как говорят, умеет всё. Нет, реально, иногда упоротые дизайнеры присылали такие интерфейсы, которых в природе не существовало, их нужно было выдумать, прикрываясь фразой «на HTML5 же можно написать всё!».
Я не претендую на особую художественную ценность моих творений, но количество нарисованных мной баннеров давно перевалило за тысячу, и я продолжаю их рисовать почти каждый день.
За последние 5 лет flash не пинал только ленивый, причем, не особо разбираясь в вопросе. Лично я никогда не видел ни тормозов, ни дырявости, а уж про самое первое утверждение от Стива Джобса про то, что «Flash не заточен под палец» — это и вовсе смешно. Самая очевидная причина противостояния Apple против флеша на айфонах лежит на поверхности, но сейчас не об этом.
Приближаемся к развязке терминологии. HTML — это язык разметки текста и расположения элементов на странице. Он не умеет выполнять никакие действия сам по себе. Под «новшествами HTML5» вместо Flash обычно понимают: проигрывание видео без Flash, анимации без Flash, мультизагрузка файлов без Flash и некоторые другие вещи.
Несмотря на дифирамбы, звучащие отовсюду, до сих пор не появилось ни одного вменяемого редактора анимации на «всемогущем» HTML5, пока Adobe не перелицевала Flash CC в Animate CC, добавив, по сути, только экспорт в HTML5.
Интерфейс
Сам интерфейс Animate CC вообще не отличается от Flash, в отличие от Edge Animate, который был дико непривычен. Больше сказать особо нечего, и я вообще не заметил разницы с CS6, которым я пользовался давно. Для баннеров не нужен AS3, а это была последняя версия, поддерживающая AS2. Конвертер Swiffy, который сделала Google, дружил только с AS2.
* AS2,3 — встроенный во Flash язык программирования Action Script, который позволяет делать всю неанимационную составляющую ролика — чтобы кнопки нажимались, чтобы на нужных кадрах ролик вставал на паузу, для того, чтобы информацию могли прочитать, чтобы запускались интерактивные сценарии взаимодействия с роликом. На самом деле, это достаточно мощный язык, и я использую лишь 0,000001% его функционала.
Движок отрисовки
Естественно, сами по себе объекты внутри ролика двигаться не могут, для этого нужно, чтобы их двигал, показывал и скрывал какой-то движок. В Animate CC для проектов формата HTML5 Canvas используется CreateJS, который приветствует каждый новый проект замечательным предупреждением
ПРЕДУПРЕЖДЕНИЯ:
Номера кадров в EaselJS начинаются с 0, а не с 1. В частности, это влияет на методы gotoAndStop и gotoAndPlay.
Приятно, что хоть предупредили. Видимо, это нереальная задача — отнимать по единичке от того кадра, на который нужно перейти.
Таймлайн и рабочая область
Т.к. интерфейс не претерпел никаких изменений для меня все здесь абсолютно стандартно. Разницы нет. Так как система настроена на русский язык, скачалась русская версия пакета. Меня это не особо беспокоит, потому что я пользуюсь хоткеями, хотя, иногда зависаю на том, что нужно выбрать в меню.
Теперь перейдем к тому, чем я постоянно пользуюсь:
Стандартные фильтры во Flash
Фильтры — одна из весьма частых составляющих любых баннеров, они позволяют очень быстро добиться нужного результата. Я рассмотрю 3 фильтра, которыми я раньше пользовался крайне часто. Во флеше фильтры — часть стандарта, и на моих работах они не оказывали какого-либо влияния на производительность, да и не могли в-принципе. Здесь и далее я буду использовать экспорт в GIF для понимания разницы
Тень — один из самых простых вариантов сделать части баннера объемнее и акцентировать внимание на нужных блоках. Естественно, я взял чрезмерно сильную тень, чтобы проиллюстрировать разницу
Сравниваю:
Flash | CreateJS |
Да, анимация тени невозможна. Более того, если ролик длиннее того, что я представил для теста, тень превращается в неизвестно что.
Здесь также стоит упомянуть, что в редакторе и готовом html5 тени (да и вообще все эффекты) выглядят сильно разными.
Редактор | Результат |
При экспорте в трейсе можно увидеть такую надпись:
Фильтры тени и свечения используют очень много системных ресурсов, кроме того, поддерживаются не все параметры. (4)
Ну спасибо, что хоть предупредили…
Производительность баннера с тенями оставляет желать лучшего, ну они же предупреждали. Стерев тени с этих подложек, я сократил нагрузку до 40%. Флеш все это рисовал с 23% загрузки вместе с тенями, разумеется
Свечение
Один из самых простых способов выделить текст на пестром фоне — добавить ему обводку, это просто делается с помощью свечения с большим процентом интенсивности.
Flash | CreateJS |
В это самое время в редакторе все так же, «Видимость ноль, иду по приборам»:
Есть один возможный вариант решения данной проблемы, если нужно — я им поделюсь, подложки под буквы используются крайне часто и без них просто не жить.
Помимо этого, свечение — это не только обводка букв, но результат намекает, что его не будет
Flash | CreateJS | В редакторе |
Размытие
Без комментариев. Размытие доступно только для статичных объектов, так что использовать этот фильтр для появления текстов невозможно
Flash | CreateJS |
Как вышеперечисленные глюки могут существовать при повсеместном проникновении тех же самых SVG-фильтров и фильтров в CSS — я не представляю.
Проблемы экспорта и упаковки
Все привыкли к тому, что ролик во флеше — это самодостаточный файл. Экспорт в HTML5 порождает кучку файлов, вместо одного. Проект Swiffy, придуманный Google для конвертации SWF в HTML паковал всё внутрь одного HTML-файла. Видимо, такая задача оказалась непосильной ношей для создателей Animate CC. Подробную статью по поводу засовывания «всего» внутрь одного файла для Doubleclick можно прочесть здесь. Я сделал свой конвертер на лету, сгородив конструкцию из пары функций на php, но она далека не то, что до идеала — даже до черновика. Мои задачи решает — и ладно.
Резиновые баннеры
По умолчанию Animate вроде как поддерживает «резиновость» баннеров, но обычно под резиновыми баннерами имеются в виду те, которые тянутся по горизонтали, а не пропорционально по обоим осям. В шаблоне экспорта это называется responsive scaling, и в случае с баннерами, тянущимися только по оси X это приводило к забавным глюкам, пока я его не вырезал из шаблона
Вообще, можно вообще отказаться от идеи растягивания баннера, просто взять максимальный размер баннерного места, а ширину ролика указать равную минимальному размеру баннерного места и обрезать часть с помощью overflow: hidden, потом центрировать элемент CANVAS (указав его ширину равной максимальному размеру баннерного места) по горизонтали внутри ссылки, занимающей 100% ширины, здесь даже немного проще, чем было во FLASH и не требует никаких дополнительных скриптов внутри ролика, только css.
Решил сделать страничку с красивой анимацией, и под руку попалась Edge Animate. Поискав на хабре какие-нибудь статьи по ней, понял что особо никто не писал гайдов, поэтому решил изучать самостоятельно.
В итоге 30 минут знакомства с программой, и на удивление красивый результат.
Adobe Edge Animate распространяется бесплатно, все что нужно это зарегистрировать учетную запись Adobe ID, и установить сам Edge.
Те кто работали с Adobe After Effects, поймут интерфейс достаточно быстро, а так же приятным удивлением будет все те же работающие хоткеи.
Задача : создать анимацию кнопки, которая при нажатии менялась бы из выключенной во включенную, а так же раздвигались дверцы в котором был бы основной контент сайта.
Задача понятна, поехали.
При открытии Edge у нас уже создан элемент Stage, который выставлен на TimeLine(Снизу), в раздел Elements(Справа) и его настройки показаны слева.
Stage это главный див, в котором и будем работать, поэтому меняем его разрешение на нашу рабочую область 1100x600. Рядом с разрешением есть 2 квадратика: Первый это заливка цветом, второй заливка градиентом. К слову, очень удобно реализовано изменение цвета, а так же есть возможность сохранить цвет в палитру.
В настройках Stage убираем галочку с пункта Autoplay, чтобы анимация не запускалась без клика и ставим заливку цвета серым цветом.
Создаем главный див для кнопки, для этого выбираем в верхней панели инструментов овал, и зажимая шифт растягиваем его на 150px.
После того как создали круг, перемещаем его по центру дива(при пересечении главных осей, появляются фиолетовые линии, перетаскиваем круг на их пересечении)
Теперь у нас появился новый див под название Ellipse, который добавился в область тайм лайна, и в раздел Elemets (в этом разделе, как вы поняли из названия, находятся все элементы проекта, здесь можно сразу добавить эвенты к ним, по нажатию на фигурные скобки, а так же управлять вложенностью дивов, путем перетаскивания, что несомненно удобно!)
Сразу меняем название элипса на Button для удобства, это можно сделать по двойному клику на название в области таймлайна, в окошке элементы, а так же в окошке настроек сверху (Несомненно удобно).
Настройки элипса более расширенные по сравнению со Stage.
Большинство функций являются изменением свойств css, можно увидит что изменяет каждая функция если навести на ее значок.
Перед описанием функций, хотел бы рассказать как происходит анимация, и их управление. Она здесь сделана с помощью кейфреймов (ромбиков), рядом с каждой функцией они присутствует. Если мы нажмем на ромб, у нас добавится этот самый кейфрейм на таймлайн, и ему присваивается значение функции которое сейчас выставлено, отодвинув ползунок времени, мы можем создать еще один кейфрейм с другим значением функции, и при воспроизведении анимации, значение функции будем меняться от первого значения кейфрейма до втрого значения. Подробнее я покажу на примере.
Пробежимся быстро по функциям.
В самом верху мы видим название дива, кнопка c — дает возможность прописать класс для него, а двойные скобки прописать эвент.
Ниже раздел отображения элемента.
Глаза, 2 кубика и шкала прозрачности отвечают за css свойства: Display, Overflow, Opactiy.
Position and Size — за расположение и размер дива
Color — за заливку цветом, градиентом, а так же добавление бордера.
Transform — изменение дива относительно точки origin (что бывает очень удобно если див нужно уменьшить относительно центра).
Следующая пачка настроек
Cursor — курсор при наведении
Corners — сглаживание углов (очень удобно, есть возможность сгладить все углы одинаково, либо каждые 4 или 8 сторон по разному, если бы можно было сохранять их как цвет в палитре было бы супер)
Shadow — настройки тени
Filters — разные дополнительные фильтры такие как blur, invert, contrast (но они поддерживаются пока не во всех браузерах)
Clip — маска дива(но только по 4 сторонам)
Accessibiity — добавление атрибутов title и tab index.
Каждую функцию можно анимировать, поэтому все зависит только от вашей фантазии.
Ну а теперь начнем создавать нашу задумку.
Выставляем цветом button темно серый, и применяем функцию shadow чтобы имитировать ее объем
После этого добавляем еще один круг, для внутренней части кнопки с цветом активности.
Тут нам на помощь приходят хоткеи из After Effects, выбираем button и нажимаем Ctrl+D. Переименовываем его в btn_inner, и перетаскиваем его в окне элементы внутрь Button
Теперь мы вложили btn_inner в див Button, и если мы начнем анимировать Button, то btn_inner так же начнет изменяться. Все просто и удобно!
Выключаем Shadow, добавляем в Color цвет бордеру(3й квадратик слева) на красный, и задаем размер 6px. Центрируем наш див, и меняем размер в Transform на 76%. Изменяем цвет на прозрачный, и добавляем Radial градиент
В итоге получаем
Добавляем текст «OFF», ArialBlack 33px, цвет черный, и Shadow красный. Переименовываем в btn_text_off, и засовываем в Button в элементах.
Теперь начнем анимировать. Первым делом добавим к Button эвент(двойные скобочки), справа в элементах. Выбираем click, и нажимаем справа play, теперь по нажатию на див button, у нас будет проигрываться анимация, все просто и элементарно.
Нам нужно изменить shadow у button из dropShadow на InsetShadow, к сожалению добавить несколько shadow в Edge нельзя, поэтому будем хитрить.
Нажимаем на P и у нас в окне таймлайна выбирается элемент pin, он позволяет не создавать самостоятельно каждый кейфрейм, а делать это автоматически. перемещаем ползунок на отметку 0.250 и именяем значение shadow-blur 0. Тем самым у вас получается такая анимация.
Нажимаем еще раз P чтобы выключить pin, перемещаем ползунок на значение 0,5 и в настройки градиента button, и меняем значение как показано на картинке
Добавляем градиент в палитру, и закрываем окошко. Теперь нажимаем опять P, и перемещаемся на отметку 0,250, открываем окно градиента, выбираем градиент из палитры, и меняем из значения на прозрачный не меняя положение точек.
У вас должна получится анимация изменение тени кнопки, проверить можно с помощью клавиш ctrl+enter (и снова привет AE)
Отлично тень меняется, теперь нужно анимировать размер кнопки, т.к. она отдаляется от нас.
Перемещаем ползунок на начало, нажимаем p, выбираем Button, перемещаем на отметку 0.425 и меняем значение transform на 95%.
Так же при создании анимации, можно выбрать как анимация будет происходить, либо линейно, либо по разным шаблонам. Для выбора их, нужно выделить анимацию, и рядом со значком pin нажать на иконку графика. Здесь вы можете поиграться со значениями и выбрать самое подходящее для вас.
Теперь анимируем красный бордер, от 0,250 до 0,500 изменяем значение бордера с красного на голубой.
И получаем примерно так
Содержание текста нельзя анимировать, поэтому сделаем копию текста, и анимируем его прозрачность.
Ctrl+d на тексте, переименовываем в btn_text_on, изменяем цвет на синий, и тень на темно синюю.
С помощью нашего любимого пина, анимируем прозрачность(сверху под глазом), у btn_text_off с 0,115 до 0,305; значения с 1 до 0. У btn_text_on
с 0,250 до 0,425; значения с 0 до 1, чтобы одно на другое немножко заезжало
Проверяем ctrl+enter, все супер.
Осталось сделать двери. Создаем 2 квадрата размером с половину ширины, один ставим слева, другой справа. Соответственно Left_door, Right_door. Цвет для заливки берем из бэкграунда, благо есть палитра которой можно воспользоваться, а сам бэкграунд делаем темнее.
А теперь вкладываем button в left_door, т.к. кнопка будет уезжать вместе с дверью влево. Перемещение в 1 клик, плевое дело, все как нужно.
С помощью пина анимируем левую и правую. Анимируем 0,600 до 3,0 на -480px для левой и для для правой двери 1030px. Выбираем обе анимации и выбираем Easing EasyInOut — Quart.
Чтобы сделать паз для кнопки в правой двери воспользуемся маской, и обрежим круг на половину. Для этого ctrl+d на button, удаляем все вложенные дивы в него, а так же все кейфреймы, и переименовываем в door_right_btn, вкладываем его в Right_door и перемещаем ползунок времени вперед.
Теперь, убираем тень, и заливаем более темным цветом. Переходим в раздел clip, и ставим значение 75 слева. Для эффектности добавляем inset Shadow 7px полупрозрачным черным. А так же анимируем DropShadow у Left_door и Right_door.
И вот наш результат
По окончанию работы под превью окном справа появляется желтый треугольник, там нас предупреждают какие функции в каких браузерах не работают, что несомненно так же удобно.
Чтобы прописать css стили из edge, нужно зайти в event Stage, выбрать compositionReady и прописать
Итого на все про все 30 минут
Все что получилось уже можно редактировать в блокноте, и накручивать что угодно. А на деле мы имеем удобный и быстрый инструмент для создания красивой кросбраузерной анимации.
Написав этот топик, я не претендую на самый простой или самый быстрый способ создания подобной анимации, я просто рассказал что Adobe Edge Animate очень удобная и быстро осваиваемая программа, в которой может разобраться любой человек без опыта работы с JS.
То что получилось можно посмотреть здесь
Пишите вопросы, постараюсь на все ответить, если тема интересная, в ближайшем будущем могу сделать еще пару уроков по Adobe Edge
Читайте также: