Pull to refresh

Школьная программа обучения созданию виртуальной и дополненной реальности

AR and VR
Я вижу как стремительно набирает рост популярность технологий виртуальной и дополненной реальности в среде образования. Эта тема фактически в обязательном порядке встречается на последних мероприятиях как официальных от Министерства образования, так и среди кружкового движения.

Сам я в этой тематике с 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. Методичками готов поделиться, но не за бесплатно. За бесплатно мне мама не разрешает. А вы же знаете этих еврейских мам.
Tags:виртуальная реальностьдополненная реальностьvrarvirtualrealityaugmentedrealityvrcorpобразование
Hubs: AR and VR
Rating +6
Views 3.5k Add to bookmarks 22
Comments
Comments 14

Popular right now

Unity разработчик
from 150,000 to 200,000 ₽Очень ИнтересноRemote job
Unity Developer
from 120,000 ₽Modum LabRemote job
Senior iOS Developer
from 220,000 to 330,000 ₽PeakVisorМоскваRemote job
Senior Angular Developer
from 3,700 to 6,400 $Tri FoundationRemote job
Senior Frontend Разработчик Angular
from 140,000 to 180,000 ₽MaverickRemote job

Top of the last 24 hours