Как снять мультфильм из блоков: раскадровка, реплики и сообщения

Scratchобновлено 07.10.20269 мин чтения

Мультфильм в Scratch собирают из персонажей-спрайтов, фонов-декораций и реплик в облачках «говорить». Сначала на бумаге рисуют раскадровку из 3–6 кадров, потом оживляют героев блоками движения и костюмов, а чтобы реплики не наезжали друг на друга, героев связывают сообщениями. Ниже — каждый этап с примерами.

Как сделать мультфильм в Scratch: 5 этапов

Работа над мультфильмом идёт в 5 этапов: сюжет, раскадровка, персонажи и фоны, анимация с диалогами, синхронизация сцен. Пропущенный первый этап — главная причина, по которой мультфильм бросают на середине.

В отличие от игры, мультфильм не ждёт действий зрителя: после нажатия на зелёный флаг история проигрывается сама от начала до конца. Это делает его хорошим первым проектом для тех, кто любит рисовать и сочинять. Здесь меньше условий и переменных, зато много последовательностей, событий и параллельных скриптов, а главное — нужно продумать время: кто говорит первым, когда появляется второй герой, когда меняется фон.

Митчел Резник из MIT Media Lab описывает творческое обучение через проекты, увлечённость, сверстников и игру[1]. Мультфильм в Scratch подходит под эту формулу почти идеально: ребёнок рассказывает свою историю, показывает её друзьям и сразу получает реакцию.

Scratch разрабатывает группа Lifelong Kindergarten в MIT Media Lab, а поддерживает Scratch Foundation; среда бесплатна и работает прямо в браузере. Для мультфильма в Scratch не нужны ни камера, ни программа для монтажа: всё, от рисования героя до озвучки, делается в одном окне. По справке Scratch Foundation, Scratch рассчитан прежде всего на 8–16 лет, и короткая история из трёх сцен по силам уже младшим из этой группы. Не стоит ждать от первой работы идеальной картинки: важнее, чтобы история была доведена до конца.

Сюжет и раскадровка на бумаге

Раскадровка — это таблица или ряд рисунков, где каждый кадр описывает одну сцену: где происходит действие, кто в кадре и что он говорит. Для первого мультфильма хватает 3–6 кадров.

Простая формула сюжета: герой чего-то хочет, ему что-то мешает, он справляется. «Кот хочет рыбу, рыба уплывает, кот строит удочку» — уже готовая история на три сцены. Запишите раскадровку прежде, чем открывать редактор:

КадрФонКто в кадреЧто происходитСообщение в конце
1Берег рекиКот, рыбаКот: «Какая вкусная рыба!» Рыба уплывает«сцена 2»
2ДомКотКот думает и мастерит удочку«сцена 3»
3Берег рекиКот, рыбаКот ловит рыбу, но отпускает её«конец»

Последний столбец пригодится при сборке: каждая сцена заканчивается сообщением, которое запускает следующую. Мультфильм в Scratch, у которого есть такая таблица, собирается вдвое быстрее, потому что не приходится придумывать на ходу.

Персонажи, костюмы и фоны

Персонажи мультфильма — это спрайты, декорации — фоны сцены, а движение героя создаётся сменой костюмов. Всё можно взять из библиотеки Scratch или нарисовать во встроенном редакторе.

Для ходьбы нужен спрайт хотя бы с 2 костюмами, где ноги стоят по-разному. Многие спрайты библиотеки уже содержат такие наборы. Фоны добавляют на вкладке «Фоны» у сцены; удобно сразу назвать их по раскадровке: «берег», «дом». Тогда в блоке «переключить фон на» не придётся гадать, что значит «фон3».

(ходьба кота)
повторить (10) раз
    следующий костюм
    изменить x на (8)
    ждать (0.1) секунд

Блок «ждать 0.1 секунд» здесь обязателен: без него десять смен костюма произойдут почти мгновенно, и глаз не заметит движения. Подробнее о костюмах, их центре и рисовании — в уроке про спрайты и костюмы в Scratch.

Диалоги: «говорить» и «думать»

Реплики героев делают блоками «говорить [текст] (2) секунд» и «думать [текст] (2) секунд». Пока облачко на экране, скрипт этого спрайта ждёт, а скрипты других спрайтов продолжают работать.

Отсюда главная трудность диалога. Если кот говорит «Привет!» 2 секунды, а собака должна ответить после него, собаке нужно подождать. Новички ставят ей «ждать 2 секунды»:

(кот)                              (собака)
когда щёлкнут по зелёному флагу    когда щёлкнут по зелёному флагу
говорить [Привет!] (2) секунд      ждать (2) секунд
говорить [Как дела?] (2) секунд    говорить [Привет, кот!] (2) секунд

Это работает, пока диалог короткий, и только если никто не трогает длительность реплик. Но если позже удлинить реплику кота до 3 секунд, придётся пересчитывать все паузы у собаки, а в длинном мультфильме их десятки. Ошибка в одном числе — и герои говорят одновременно. Решение — сообщения.

Синхронизация через сообщения

Чтобы герои говорили по очереди без подсчёта секунд, один спрайт после своей реплики передаёт сообщение, а другой начинает говорить по блоку «когда я получу». Так мультфильм перестаёт зависеть от точных пауз.

(кот)
когда щёлкнут по зелёному флагу
говорить [Привет!] (2) секунд
передать [собака отвечает] и ждать
говорить [Пойдём гулять?] (2) секунд

(собака)
когда я получу [собака отвечает]
говорить [Привет, кот!] (2) секунд

Блок «передать и ждать» особенно удобен: кот не продолжит, пока собака не закончит весь свой скрипт под «когда я получу». Теперь любую реплику можно удлинять и укорачивать — порядок сохранится. Обычный «передать» без «и ждать» запускает чужой скрипт и сразу идёт дальше, он подходит, когда герои действуют одновременно.

Бреннан и Резник называют события и параллельность базовыми понятиями вычислительного мышления[2], и в мультфильме дети встречают их в чистом виде. Подробно о видах событий — в уроке про события и сообщения в Scratch.

Смена сцен и фонов

Сцену меняют 2 способами: блоком «переключить фон на [дом]» и шапкой «когда фон меняется на [дом]», по которой каждый персонаж сам решает, появиться ему или спрятаться.

(сцена)
когда я получу [сцена 2]
переключить фон на [дом]

(рыба)
когда фон меняется на [дом]
спрятаться

когда фон меняется на [берег]
показаться

Такой подход избавляет от длинного списка «спрятаться» в одном месте: каждый спрайт отвечает за себя. Не забудьте стартовый скрипт: по зелёному флагу сцена ставит первый фон, а герои встают в начальные точки и принимают нужные костюмы. Без этого при повторном просмотре мультфильм начнётся с последнего кадра.

Для плавных переходов пригодятся графические эффекты: «изменить эффект [призрак] на 10» в цикле из 10 повторов растворяет героя, а обратный цикл — проявляет. Плавное движение к точке даёт блок «плыть 1 секунд к x: y:».

Озвучка и титры

Озвучка делает историю живой: реплику можно записать своим голосом на вкладке «Звуки» и запускать её блоком «играть звук до конца» вместе с облачком. Титры в конце — это отдельный спрайт с текстом, который медленно поднимается вверх.

Если озвучка и облачко должны совпадать, ставьте «включить звук» перед «говорить … секунд» — звук начнётся одновременно с появлением текста. Фоновую мелодию держите у сцены и приглушите, чтобы голоса было слышно. Блоки звука и расширение «Музыка» подробно разобраны в статье «звук и музыка в Scratch».

Когда история из блоков не подходит

Такой формат не подходит, если от истории ждут кинематографического качества или если ребёнок не готов к долгой работе. Вот 4 ситуации, где лучше выбрать что-то другое.

  • Нужна плавная покадровая анимация 24 кадра в секунду. Блоки дают простую смену костюмов; для рисованной анимации есть специальные программы.
  • История длиннее 5 минут. Сотни сообщений и пауз трудно отлаживать — разбейте её на серии.
  • Ребёнку 5–7 лет и он не читает. Реплики придётся набирать взрослому; удобнее ScratchJr с записью голоса.
  • Цель — освоить условия и переменные за 1–2 занятия. В таком проекте их почти нет, лучше сделать игру или викторину.

Мифы о детской анимации

Миф о том, что анимация — «не программирование», встречается часто. Разберём 2 заблуждения.

Миф: «если в проекте нет игры, ребёнок ничему не учится». Это не подтверждается: синхронизация героев требует событий, параллельных скриптов и точной последовательности — тех же понятий, что лежат в основе любой программы.

Миф: «без умения рисовать ничего не получится». Такого требования не существует: в библиотеке есть сотни готовых персонажей и фонов, а простые фигуры из встроенного редактора выглядят вполне выразительно.

Создатели Scratch (Maloney и соавторы) изначально задумывали среду для работы с медиа — картинками, звуком и анимацией[3]. Истории и мультфильмы — такой же законный жанр, как игры, и многим детям именно они открывают программирование.

Чего делать нельзя

Нельзя строить длинный диалог только на паузах «ждать» — при любой правке реплики все тайминги поедут. Вот остальные правила.

  • Нельзя пропускать стартовый скрипт, который возвращает фон, положение и костюмы героев.
  • Не стоит менять костюмы в цикле без паузы — анимации не будет видно.
  • Не следует называть фоны и сообщения «фон1», «сообщение1»: через неделю будет непонятно, что есть что.
  • Не стоит начинать с 10 сцен. Первый проект — 3 кадра, которые доведены до конца.
  • Нельзя публиковать в сообществе реплики с настоящими именами одноклассников без их согласия.

Если захочется следующий проект, загляните в подборку «идеи проектов в Scratch»: там есть открытки, истории и игры по уровням.

Источники

[1] Resnick M. Lifelong Kindergarten: Cultivating Creativity through Projects, Passion, Peers, and Play. Cambridge, MA: MIT Press, 2017.

[2] Brennan K., Resnick M. New frameworks for studying and assessing the development of computational thinking // Proceedings of the 2012 Annual Meeting of the American Educational Research Association. Vancouver, 2012.

[3] Maloney J., Resnick M., Rusk N., Silverman B., Eastmond E. The Scratch Programming Language and Environment // ACM Transactions on Computing Education. 2010. Vol. 10, № 4. Article 16.

Вопросы и ответы

Сколько длится мультфильм в Scratch для начинающих?

Обычно 30–90 секунд. Этого достаточно для истории из трёх сцен, и такой проект реально закончить за 2–3 занятия.

Почему герои говорят одновременно?

Оба скрипта стартуют от зелёного флага и не ждут друг друга. Свяжите реплики сообщениями: «передать и ждать» у одного героя, «когда я получу» у другого.

Как сделать, чтобы мультфильм начинался заново?

Добавьте каждому спрайту стартовый скрипт по зелёному флагу: начальная точка, костюм, «показаться» или «спрятаться». Сцена ставит первый фон.

Можно ли сохранить проект как видео?

Встроенной функции экспорта в видео нет. Проект публикуют в сообществе Scratch или показывают в полноэкранном режиме.

Как добавить титры?

Нарисуйте спрайт с текстом, поставьте его под нижний край сцены и в цикле поднимайте вверх блоком «изменить y на 2» после сообщения «конец».

С какого возраста можно делать такие истории?

В Scratch — с 8 лет, когда ребёнок читает и печатает короткие фразы. Младшим подойдёт ScratchJr: там истории собирают из блоков-картинок.