3D Battle CGEVENT 2018 Piter. Разбор работ

Закончился питерский CGEVENT, пришло время подводить итоги. По традиции пишу отчёт по проведённому нами 3D Battle. Это соревнование, которое мы устраиваем на каждом ивенте между пользователями разных 3D-пакетов. В этом году это были уже 4 пакета: 3ds Max, Maya, Blender и новичок сезона Cinema4D.

По прошлому баттлу, посвященному моделированию, я писал очень подробный разбор.

В этот раз мы решились на эксперимент и подготовили задание, связанное с анимацией (в предыдущих сезонах тема была связана с моделированием).

Задание «16 друзей Моушена»

Итак, участники баттла должны были с нуля создать сцену по подобию референса и вывести из неё превиз-ролик (внимание, playblast, не финальный рендер!)

Описание

16 квадратных плиток падают сверху из-за границ кадра и формируют квадратную структуру 4х4. Затем начиная от левого нижнего угла плитки каскадом разворачиваются по горизонтальной оси на 180 градусов. На оборотной стороне находится фирменное изображение.

Технические требования:

  • Общая длительность ролика 5-6 секунд
  • Частота кадров ролика может быть (24/25/30 кадров в секунду)
  • Этапы ролика «выпадение» и «разворот» должны происходить последовательно, а не одновременно.
  • Картинка на плитках должна читаться в финальном положении после разворота
  • В начале и в конце ролика рекомендуется предусмотреть время для осознания зрителем происходящих изменений.
  • В сохранённой сцене должен быть выставлен ракурс с которого будет выводиться превиз (необязательно ставить камеру, можно оставить стандартный перспективный вид)
  • В видовых окнах обязательно должно быть включено отображение текстур
  • Должна быть сохранена и исходная сцена и превиз-ролик (внимание, НЕ РЕНДЕР! а Playback > Playblast в Maya, Tools > Preview — Grab Viewport > Create Preview Animation в 3DS Max, Render > OpenGL Render Animation в Blender, Hardware Render в Синьке).

Полный текст задания и правила баттла тут

Как рождалось задание

Напомню основную концепцию заданий для баттла. Они выбираются исходя из следующих соображений:

  • Задание представляет собой законченную работу
  • Оно не должно занимать у среднего участника слишком много времени (в среднем предполагается 10-15 минут, верхний лимит 30 минут, иначе не все желающие смогут принять участие)
  • Желательно, чтобы существовало несколько путей решения задачи

Сам анимационный эффект достаточно несложный, но он усугубляется требованием по текстурированию плиток так, чтобы формировалось общее изображение и оно читалось после разворота. Как показал опыт баттла на фазе текстурирования многие сломались. Текстурирование 16-ти плиток (на самом деле всего 8-ми) отнимало очень много времени у тех, кто делал это вручную.

Стоит также сказать, что задание разрабатывалось на стандартную тройку пакетов: 3ds Max, Maya, Blender. Cinema4D была заявлена менее чем за две недели до начала и менять задание было уже поздно. К тому же мы думали, что «синьщиков» будет немного. Ага!

Как проходил баттл

Мы собрали три рабочих места на базе компьютеров Intel NUC, предоставленных специально для баттла компанией Intel. Компания X-COM предоставила мониторы, клавиатуры, мыши.



Тот неловкий момент, когда твой комп вдвое меньше клавиатуры, а легко тянет VR.

Надо сказать, что компьютеры продемонстрировали ядерную производительность. Запуск софта занимал секунды. Ничего не тормозило, так что фактор потерь времени из-за компьютерной техники был минимальным. У двух пользователей 3ds Max возникли проблемы из-за софта: было одно падение программы, а у другого возникли проблемы с кодеками при выводе финальной последовательности. Мы всегда отмечаем такие события в журнале и при рассмотрении работ делаем поправку, особенно если работа может претендовать на победу. Обычно в публичном отчёте мы указываем реальное время, но при рассмотрении работ мы смотрим фактически затраченное время.

За 6 часов битвы в соревновании приняло участие 29 человек. В середине дня образовалась солидная очередь из желающих, которых пришлось записывать и вызванивать по мере освобождения мест.

Немного статистики

В баттле приняло участие 29 человек. Практически все закончили задание.
Среднее время выполнения составило: 18:07
Медианное время: 14:25

Пакет Количество участников
3ds Max 9
Maya 2
Blender 3
Cinema4D 15
ВСЕГО 29

Таблица времени выполнения (без штрафов)

N Имя участника Время Пакет
1 Александр Се***** 00:02:20 Cinema 4D
2 Эдуард Ур****** 00:02:32 3ds Max
3 Андрей Жи**** 00:03:03 Blender
4 Влад Ус**** 00:03:15 Cinema 4D
5 Сергей Дв****** 00:03:43 Cinema 4D
6 Егор См***** 00:04:12 Blender
7 Арсений Ко**** 00:04:14 Cinema 4D
8 Павел Ко******* 00:04:20 Cinema 4D
9 Юлия Ст******** 00:04:26 Blender
10 Артем Ще****** 00:06:04 3ds Max
11 Наиль Га******* 00:08:40 3ds Max
12 Евгений Не****** 00:08:59 3ds Max
13 Андрей Би*** 00:11:43 Cinema 4D
14 Петр Шк****** 00:14:25 Сinema 4D
15 Александр Ар******* 00:16:22 Cinema 4D
16 Иван Со***** 00:17:39 Cinema 4D
17 Евгений Не******** 00:20:14 3ds Max
18 Владислав Со****** 00:24:03 Cinema 4D
19 Адель Ва******* 00:24:10 Maya
20 Дмитрий Ро*** 00:25:54 Cinema 4D
21 Артур Аб******* 00:26:46 3ds Max
22 Павел Ту**** 00:28:32 Maya
23 Владимр Ан****** 00:30:37 3ds Max
24 Ольга Ши******** 00:32:00 Cinema 4D
25 Евгений Не****** 00:33:37 Cinema 4D
26 Валентин Ще*** 00:37:20 3ds Max
27 Илья Ив**** 00:38:07 Cinema 4D
28 Антон Ко******** 00:41:40 3ds Max
29 Максим Ло***** 00:46:18 Cinema 4D

Типовые ошибки

Новых ошибок участники не изобрели, я их подробно уже описывал по прошлому баттлу:

Неумение реально оценивать время выполнения

Как всегда мы слышали от будущих участников: «Что это за элементарщина на три щелчка мышью?», «А что тут делать больше двух минут?». Надо ли упоминать, что говорившие это не смогли уложиться даже в 10 минут.

Игнорирование референсов

Хоть мы и давали всем участниками исходный видеореференс, но некоторые всё равно делали какую-то свою анимацию. Как мы увидим далее, это имело драматический эффект для одного из участников.

Отсутствие плана работы

Я видел как многие участники быстро справлялись с анимацией, но потом поштучно проецировали каждую плитку «анврапами». Очевидно, что планирование этапов могло существенно сократить эту стадию.

Поиск победителя

На первый взгляд кажется, что выбрать победителя очень просто: нашёл самого быстрого и вручил ему приз.

Что сказал бы заказчик?

Чтобы понять, может ли работа претендовать на победу, мы задаем себе главный вопрос: Что сказал бы заказчик, если бы это было реальное задание?
В данной работе главный критерий — соответствие референсу. Очевидно, что нелепо было бы требовать точно копировать тайминги или характер входа и выхода в движение.

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

Наш критерий: к работе победителя не должно быть претензий и оговорок.

Это не значит, что в работе победителя не может быть недочётов, но они должны сравнительно легко и быстро устраняться. Собственно назначаемые штрафы — это время потенциально необходимое на внесение исправлений специалистом со средним уровнем подготовки. Надо сказать, что до нынешнего ивента необходимости в использовании системы штрафного времени не возникало. Даже казалось, что идея штрафов лишняя и от неё можно спокойно отказаться… А дальше просто детектив.

Александр С. (2:20)

Первая же работа внушила нам оптимизм. Мы отметили отклонение от референса по порядку выпадения (на референсе начинается с правого нижнего угла, а не левого) и разворота плиток (в референсе активизация плиток идёт по диагонали, а не рядами). Но решили, что как всегда потом увидим причину по сцене.

Эдуард У. (2:32)

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

Андрей Ж. (3:03)

Формально всё есть, но тайминги не выдержаны. Общая длина анимации всего 40 кадров. Это нельзя показать заказчику. Исправление явно не будет быстрым. Обычно, для грубой прикидки мы мысленно накидываем одну минуту на исправления, так что работа должна сравниваться с теми, кто находится в диапазоне 4 минут, но тут вряд ли удастся так быстро сдвинуть все клипы на таймлайне под длину 150 кадров.

Влад У. (3:15) (спойлер: это победитель баттла)

Работа, которая нас полностью устроила, мы её отметили, но продолжили просмотр и дальше пока не добрались до рубежа в 9 минут.

Финал

То есть фактически, у нас оказалось две работы, которые по времени претендуют на победу с временем 2:20 (Александр) у первой и 3:15 (Влад) у второй. Ко второй работе у нас нет претензий, а первая отличается от референса.

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

Как же определить победителя?! Что важнее: скорость или точность? Давайте прямо скажем, что сделать работу за время, которое почти на минуту быстрее других может человек с незаурядными способностями.

Мы открыли две работы и референс параллельно на всех мониторах и стали смотреть. Поняли, что это не добавляет нам информации, но делает более наглядным сравнение.

Поскольку оба претендента на победу сделали проект в Cinema4D, то мы решили, что надо узнать, сколько времени потребуется на исправление первого проекта и добавить его в качестве штрафа. К этому моменту в наше обсуждение вступил Гленн Фрай.

Мы объяснили Гленну суть задания и он посмотрев на работы и референс спросил: «Почему вы не возьмёте вторую работу как победителя?» Мы объяснили ему наши соображения относительно большого временного разрыва. Глен — идеально непредвзятый кандидат для нашей задачи.

Мы показали ему сцены в Cinema4D и он, посмотрев их, сказал: «Вторая сцена использует типичное дизайн-решение (design-way), которое я могу с лёгкостью исправить. А вот первая сцена использует математическое выражение, которое описывает движение. Я не могу с ходу внести нужные изменения, это формула автора. Первая сцена немного cheating-way. Автор мог бы исправить сцену и за 5 секунд, а может и не подобрал бы параметр и за 2 минуты, нужно много времени на тестирование. Поэтому моё мнение, что вторая работа — победитель.»

Мы поддержали его мысль и единогласно отдали победу второй работе Влада. А ещё мы выделили почётными сертификатами тех, кто выполнил работу на высоком техническом уровне в полном соответствии с референсом. То есть это были те, кто получил бы приз, если бы у них было лучшее время. Надо сказать, что все они оказались быстрее чем 4:30. Это очень круто!

Заключение

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

Лично мне симпатична идея с анимацией по формуле. Это ведь и соревнование подходов. Александр С. выбрал интересную стратегию, показал её эффективность. Он только немного ошибся в формуле. Как говорится, если уж хитрить, то надо дожимать до конца. Мы не можем вручать приз с формулировкой «он хороший парень и наверняка поправил бы эту формулу как надо». Если бы работа соответствовала референсу, то победа была бы просто оглушительной. Не хватило чуть-чуть.

Ну, и не стоит забывать, что победитель Влад У. показал не только экстраординарный результат по времени, но и сделал это в полном соответствии со стандартным рабочим процессом! То есть он реально так быстро работает: хоть на выставку, хоть в продакшн!

Пока мы стояли с Гленом в коридоре, то он сказал мне, что сделать такое за 3 минуты — это просто фантастика, потому что он сам попробовал и обнаружил, что ему нужно заметно больше времени. На что я ему сказал, что я делал референс, но тоже плохо представляю как они уложились так быстро. Мы поржали ))

На фото победитель битвы Влад Усатюк. Поздравляем его с заслуженной победой!

Фото с ивента предоставила фотограф Ольга Куркума, за что мы ей безмерно признательны. Она сделала множество очень интересных фотографий.

Пакет победитель

Ну, и да, Cinema4D «порвала» другие пакеты на этой задаче ))

Вопросы и предложения приветствуются

С вопросами и предложениями по проведению 3D Battle вы можете связаться с нами либо через социальные сети, либо по электронной почте, которая приведена внизу страницы.

Александр Миловский, 3D Master
Организатор и член жюри 3D Battle
Куратор секции Opensource CGEvent

образец сертификата Autodesk студии 3D Master
Сертификат Autodesk выдается
по окончании авторизованных
курсов Autodesk. Подробнее…

Искусственный
интеллект