Сам я в этой тематике с 2016 года. На тот момент прошёл всего год с момента старта моей компании по разработке VR/AR-решений и, конечно же, я старался присутствовать на всех мероприятиях в качестве эксперта по этому направлению. Подтверждённых экспертов тогда было совсем немного, так что покатался я из города в город немало на мероприятиях разной тематики: от форума Минэкономразвития в Самарской области до до курсов переподготовки библиотекарей в Академии искусств в Барнауле.
В итоге на одном из мероприятий мы познакомились с одной чудесной девчулей из Второй новосибирской гимназии, которая пригласила меня на встречу с директором. В итоге мне внезапно предложили… вести курс по разработке VR/AR приложений для школоты. Для меня это был интересный вызов, но и вместе с тем очень сложный. Методики толком нет, Google и Oculus только-только привели свои SDK более менее в порядок без глобальных косяков, чтобы джуниор мог с ними совладать, я сам человек без педагогического опыта. Вообщем, мне пришлось действовать на ощупь и методом тыка.
В итоге это меня привело к написанию серии методичек по разработке космического симулятора в виртуальной реальности для Google Cardboard и по разработке анимационного мультфильма в виртуальной реальности на базе Oculus SDK для начинающих; по разработке RPG-игры в дополненной реальности для продолжающих; и по разработке стратегии с использованием OpenVR для углублённого изучения. Ну и как-то всё пошло-поехало, завертелось, в итоге сейчас преподаю в гимназии, Новосибирском государственном университете для магистрантов и в паре школ программирования.
При этом это всё занимает у меня примерно 12 часов в неделю, а в остальном я продолжаю трудится над проектами в своей компании. Снисходительно называю себя «училкой», ибо так и не могу принять себя, как состоявшегося педагога, несмотря на фактический трёхлетний опыт и достижения, вроде победы моего ученика в прошлом году на всероссийской олимпиаде НТИ по профилю виртуальной реальности.
Теперь, собственно, к главной мысли, о чём хотелось бы написать. Мой старт обучения пришёлся на учеников 6-7 классов. Я думал: «Для меня не составило труда научиться, так в чём же может быть загвоздка?». На старте обучить быстрой сборке с использованием ассетов, конечно, не составляет никакого труда разобраться. Стоит, конечно оговориться, что говорю я о разработке в редакторе Unity 3D, Однако, когда мы полезли вглубь, делая интерактивные сценарии на скриптах, я столкнулся, объясняя вычисление дистанции между векторами, с тем, что мои ученики ещё даже не прошли понятие квадратного корня (я был уверен, что его проходят ещё в классе третьем). Так что, параллельно с основным материалом, мне пришлось объяснять и основы математики. А видели бы вы глаза тех, кто уже изучил квадратные корни, и вдруг сталкивается с поворотами в 3D-пространстве с использованием мнимых чисел.
Теперь, когда я слышу от сотрудников сферы образования высказывание на тему разработки виртуальной и дополненной реальности, я понимаю, что у них нет на самом деле понимание той части айсберга, которая находится под водой. И вот об этом подводном камне я бы хотел поговорить. Я думаю, это вещи, понятные многим, кто работает в айти, поэтому это в первую очередь для тех учителей информатики и директоров, которые думают, как можно легко и непринуждённо создать курс на базе своего учебного заведения.
Начать с того, что AR/VR-разработка — это не какой-то отдельный конь в вакууме. На самом деле, это направление строится из трёх ключевых тем: изучение интерфейса редактора и базовое понимание основ работы, 3D-моделирование и разработка программного обеспечения. Поэтому в идеале курс может выдвигать требования для слушателей: знание геометрии, знание основ компьютерной графики, знание C#. Тогда основной задачей обучения будет всего лишь изучение интерфейса редактора и разбор Unity API. В этом отношении мне нравится этот год работы в Новосибирском государственном университете, потому что у меня есть отдельная группа ребят, которые обладают необходимыми компетенциями, и мы можем изучать по настоящему интересные и сложные вещи, вроде создания произвольной геометрии, программирования шейдеров и Entity Component System.
Однако, по опыту работы, это исключение, которое я встретил впервые за всё время работы. В остальном даже на взрослые мастер-классы приходят часто те, которые ни в зуб ногой в программировании, ни в компьютерной графике. И тем более, когда мы говорим об учениках средней школы.
Таким образом, задача создания курса по разработке VR/AR в школе на самом деле становится задачей по организации комплекса курсов, на котором мы сначала изучаем интерфейс редактора Unity, а только затем мы переходим к изучению программирования на языке C# с параллельным разбором основ математики и геометрии (зачастую опережающим школьную программу).
И тут есть опять же интересный вопрос: а какая основная задача курса? Например, на Олимпиаде НТИ основные задачи связаны непосредственно алгоритмами и классическими задачами информатики. Практических кейсов, связанных с AR/VR там практически нет. Это прямо боль. Едет человек, который отлично знает синтаксис языка, который знает нужные фреймворки и может сварганить небольшую игру в VR за сутки, а там ему дают задачи из классики информатики и единственно, что там от AR/VR — это камера.
Поймите правильно, я не говорю о том, что программист не должен знать алгоритмы, структуры данных, паттерны проектирования и так далее. Но я предполагаю, что кроме моего курса есть ещё учителя как раз по информатике, по математике и геометрии, которые и должны преподавать то, что мои ученики должны использовать.
Поэтому тут возникает необходимость в том, чтобы ещё и смежные предметы согласовывали программы между собой. Например, во многих школах сейчас, согласно тренду, идёт переключение с изучения Pascal на Python. Но Python и C# — это разные языки, как английский и иврит. Конечно, есть полиглоты, для которых это не проблема. Однако, на мой взгляд, в школах удобнее ввести разделение на языковые группы, чтобы дети могли изучать язык по желанию, как это сделано с иностранными языками. Вместо принципа «один язык для всех» можно предложить детям ветви развития. Например, хочешь в веб-разработку — php+javascript, хочешь в игровую разработку и создание AR/VR — изучай си и его производные, ничего не хочешь — иди изучай python, как крайний случай (шучу конечно).
И под конец в дело вступают ожидания по отдаче от курса. Например, заместитель директора фантазирует: «А теперь пусть они сделают бегемотов, пляшущих на по коридорам нашего учебного заведения?». Я думаю, знающие люди уже уловили проблему в этом техзадании: где взять контент, да ещё с чёткой заданной анимацией? Фактически в рамках вышеописанного курса мы готовим программистов, а не 3D-моделеров и аниматоров, Дайте им модель с анимацией с какого-нибудь Mixamo и дайте им модели окружения, тогда они сваяют из них какую-нибудь страшненькую сцену. Потому что они не художники и им глубоко накласть на красоту пользовательского интерфейса и цветовую гамму. У них всё будет работать и этого достаточно.
Тут есть ещё одна проблема: на курс по разработке AR/VR приходят не только желающие программировать, а те, кто хочет сделать что-то красивое. И им как раз глубоко похрену на вот эту всю геометрию и программирование. Они художники и хотят реализоваться в этой сфере. Более того, их роль не менее важна, чем роль программистов, но сегодня в основном все учебные программы касаются именно разработки софта а не создания контента.
Поэтому на самом деле, если руководство образовательного заведения хочет похвастать комплексным решением в качестве итога работы своей образовательной программы, нужно создавать ещё отдельный курс для 3D-моделеров и аниматоров. В этом отношении я, конечно, рекомендую учебным заведениям выбрать Blender в качестве основной программы, поскольку она бесплатна. При разговоре об этом направлении многие директора школ сразу с гордостью заявляют, что у них уже есть направление 3D-моделирования, где дети создают оборудование. И каждый раз я пытаюсь донести мысль о том, что инженерное моделирование, архитектурное моделирование и игровое моделирование — это три глобально различающиеся направления со своими инструментами и методиками.
В качестве итога моего монолога я предлагаю вниманию таблицу учебной программы, как я её вижу, чтобы привести в чувство ожидания специалистов образования и дать им реальное направление по организации курса в своём учебном заведении.
p.s. Методичками готов поделиться, но не за бесплатно. За бесплатно мне мама не разрешает. А вы же знаете этих еврейских мам.
ссылка на оригинал статьи https://habr.com/ru/post/477886/
Добавить комментарий