Раскрашивание элементов морфигна

Дмитрий Маштаков
   Морфинг - плавное изменение изображения между двумя ключевыми кадрами, позволяет делать анимацию, не прибегая к так называемой раскадровке, сводя к минимуму работу над промежуточными кадрами.
   Однако, те элементы морфинга, о которых говорилось в предыдущей статье -  http://www.proza.ru/2020/01/05/1578  всё  же скупы, в частности, используя их, трудно раскрашивать фигуры и, тем более, фон за ними.  Чувствуется отсутствие такого элемента, как кисть. Сложность же работы кистью состоит в том, что при раскраске ключевых кадров трудно предугадать, как краска ляжет на промежуточные кадры - не закрасит ли она там фигуры, если мы раскрашиваем фон, и наоборот - не заденет ли она наш фон, если мы раскрашиваем фигуры.
   Стало быть, кисть наша должна работать выборочно – по фигуре целиком, по конкретной её части, отличающейся от других частей цветом, или только по фону, ориентируясь именно на его цвет.

   Делать небольшие цветовые различия в элементах фигуры совсем несложно, и создавая такие различия, мы тем самым готовим кадры нашей анимации к будущей раздельной окраске или деталировке. Вся прелесть этой раздельной деталировки и окраски состоит в том, что она тоже делается в режиме морфинга – нам не нужно «лезть» в рисунки промежуточных кадров, чтобы раскрашивать их.

   Чтобы не делать специальную кнопку для кисти морфинга, я ввёл эту кисть, как опцию существующих кнопок – на кнопке активного цвета нужно выставить решётку, а на лайке сверху большой буквы «О» - режим замкнутого веера, значок «ППП».
   В отсутствии значка # на кнопке, движением стилуса действительно рисуется «веер» - на иллюстрации он показан утрировано, в раздвинутом виде, но обычно спицы веера сомкнуты, и образуют сплошь закрашенную область, которая и используется в морфинге для создания крупных частей фигуры – головы, туловища и проч. Меняя очертания контуров «веера» на начальном и конечном кадрах, мы перемещаем части фигуры и меняем их очертания.

   На иллюстрации показаны начальный и конечный кадры. Они именно так показываются в окне программы во время работы в режиме морфинга. Синяя и розовая кнопочки вверху справа обозначают этот режим, а снизу слева виден буфер анимации с кадрами, находящимися в нём. Красная, начальная метка связана с картинкой, которую мы видим слева, а розовая метка, отмечающая конечный кадр, связана с картинкой в розовой рамочке.
   Внося изменения в эти картинки и проводя морфинг – для этого нужно кликнуть по синей кнопке, мы постепенно добавляем по одному элементу и делаем анимацию между двумя ключевыми кадрами.
   Сначала я сделал только растущие грибы, сначала тот, который справа, и мне показалось, что кадров для этого я взял мало, и я вставил промежуточные кадры «наплывом», это наплыв вы можете заметить. Затем я добавил мухомор, и уже потом – человечка и солнце.
   Что получилось, см.тут - http://yadi.sk/i/oTaUQoae64C-vA
   Клип с пояснениями - http://youtu.be/FJTIDk4yuYo

   Собственно дальше речь пойдёт об этом самом солнце. Солнце было нарисовано с помощью кисти, красящей только пиксели фона, и не затрагивающей другие цвета. Потому она и не закрасила шляпку мухомора. Такая кисть также входит в набор элементов морфинга, и пользоваться ею очень удобно.
   Вводя элементы морфинга в программу, я не создавал новых кнопок, а использовал кнопки уже имеющиеся, подходящие к целям морфинга по своим функциональным свойствам. Ниже приводится таблица опций некоторых кнопок, связанная в основном с цветом.


ТАБЛИЦА ОПЦИЙ ДЛЯ ЭЛЕМЕНТОВ МОРФИНГА
Элемент     способ
Морфинга  задания    ==== функционирование ===

Линия     |||||||   смежные точки кривой соединяются линиями цвета С

Точки     | | | |   кривая представляет собой раздельные точки цвета С

Веер       \\||//   веер из линий цвета С от нач.точки к текущей

ВеерП        ППП    то же, но текущие точки замыкаются, образуя контур

ВеерПо     ППП + <а>  то же, но веер имеет цвет С, а контур – цвет Со

Дорожка1   # + линия  плотность усилена линиями между смежными точками

Дорожка2   # + точки   дорожка рисуется поточечно, плотность её слабая

Дорожка2п  # + точки + <а>    то же, с прозрачностью от кн. «Градация»

Дорожка3   # + веер      особо плотная дорожка с «лохматыми» краями

Кисть0     # + ППП    непрозрачная кисть, красит цветом С только фон

КистьПз     # + ППП +<зел> прозрачная кисть, красит всё, кроме чёрного

КистьПа     # + ППП +<а>   тоже красит всё, кроме чёрного, но зато не затрагивает фон

Обозначения цвета:
С –цвет для кадра во время морфинга
Со –активный цвет во время морфинга (цвет кнопки, или предшествующий ему)
С1 –активный цвет в момент записи на начальном кадре
С2 –активный цвет в момент записи конечного кадра
  Во всех случаях С берётся равным Со, если лайк «^^^^» серый, и вычисляется для каждого кадра индивидуально, интерполяцией между цветами С1 и С2, если лайк «^^^^» активирован и имеет жёлтый цвет. Таким способом цвет элемента морфинга может постепенно меняться от кадра к кадру.
  Лайк кнопки рисования (левее кнопки Т/С/О/Р) может иметь обычный –жёлтый цвет, или указывать на опции – быть зелёным -<зел>  или жёлтым с буквой «а» -<а>. 
  Зелёный лайк для дорожек подцвечивает их, добавляя цвет С к цвету пикселей дорожки в пропорции, указанной цифрой на кнопке «Градация».

   Как мы видим, элементов морфинга немного. Они просты, и отличаются в основном технической реализацией.
   Элементы морфинга, за исключением дорожек, нигде не хранятся, поэтому некоторую сложность представляет переход от первых двух ключевых кадров к следующей паре ключевых кадров. Тем не менее, имея образец начального кадра, элементы на нём можно просто выделять обводкой, а чтобы сам кадр морфингом не портить, его можно из процесса рисования исключить – для этого в первую кнопку задания цвета (она находится правее кн. «cls») нужно установить цифру 0.
   Цифра 0 на второй кнопке исключит из морфинга последний кадр. Таким образом анимацию можно продвигать не только вперёд, но и назад, следуя от конца фильма к его началу. Иногда это удобно.

__________
26.01.2020