![](https://habrastorage.org/getpro/habr/upload_files/e6b/48f/c1c/e6b48fc1cc8b9068c639cbfb0fadb815.jpg)
Всем привет, это Денис Вебер.
Давным-давно, даже страшно вспоминать когда, я уже создавал в Blender модель LEGO Jeep. И вот, спустя время, я снова загорелся идеей создания такой анимации. Долго выбирать набор для моделирования не пришлось, я просто остановился на том, какой бы сам хотел купить. Этим набором стал Ford Mustang Shelby GT 500.
Как обычно, специально для тех, кому больше нравится формат видео, а не текст, видео я оставлю в конце статьи.
Идут годы, а конструктор LEGO всё также притягивает к себе, как и много лет назад в далёком детстве. На YouTube есть целые каналы, где взрослые дядьки всерьёз обозревают новые наборы LEGO и рассказывают какие из них больше всего подходят для игр.
![](https://habrastorage.org/getpro/habr/upload_files/04e/ac7/8f6/04eac78f6d203b6d3070bd5ce59e3169.png)
Наверное никто наверняка не скажет в чём успех такой, на первый взгляд, простой игрушки, но в компании точно работают люди, которые полностью отдают себя своей работе.
Некоторые модели, с игрушечными, но по своему работающими двигателями и коробками передач, выглядят как чудо инженерной мысли. И даже далёких от игрушек людей такой конструктор может привести в настоящий восторг.
![](https://habrastorage.org/getpro/habr/upload_files/716/ca4/6f8/716ca46f8be48983dec11caa25230fb4.png)
Для сборки конструктора на компьютере существует несколько программ. В них можно собрать что угодно и с каким угодно количеством деталей, но они не дают вообще никакой свободы творчества. А кроме создания модели я конечно же хотел её ещё и анимировать.
![](https://habrastorage.org/getpro/habr/upload_files/228/176/c9c/228176c9c27a8a06edcb4506c6fd77e2.png)
И вот, спустя время, я снова загорелся идеей создания анимации с LEGO. Долго выбирать набор для моделирования не пришлось, этим набором стал Ford Mustang Shelby GT 500.
![](https://habrastorage.org/getpro/habr/upload_files/8bd/776/c21/8bd776c2150defdb16836a1ac02c777b.png)
LEGO машина настолько похожа на оригинальную машину, что даже при первом взгляде на собранную модельку сразу понимаешь что это за марка и модель.
Shelby точно мощная машина и даже на обложке коробки она изображена на гоночной трассе. Поэтому я подумал, что будет круто создать для неё анимацию погони. А так как гонять с собой ей будет не так интересно, я добавлю ей соперника. Что из этого всего получилось, вы сможете увидеть уже ближе к концу статьи.
![](https://habrastorage.org/getpro/habr/upload_files/215/50e/b8a/21550eb8a7300df67f92cd5b677b13c4.png)
В наборе пятьсот сорок четыре детали, часть из которых слава богу повторяются. Но мне всё равно нужно было создать больше ста моделей.
Если в прошлый раз я моделировал кубики, можно сказать, наугад и когда собирал модель, мне приходилось местами сильно редактировать геометрию, сейчас я нашёл информацию о размерах стандартных кубиков и ориентировался на них.
![](https://habrastorage.org/getpro/habr/upload_files/8ef/caa/9ef/8efcaa9ef208110aff8f980bac8c7db0.png)
Основная деталь в серии Техник - этот кубик, и так как у меня под рукой был настоящий конструктор, было проще рассчитать размеры для других деталек.
![](https://habrastorage.org/getpro/habr/upload_files/762/489/47c/76248947cf506eec2d64361279ee7b53.png)
Эти кубики в наборе содержат разное количество отверстий и я использовал модификатор массив, для которого указал капсы: модель, с которой массив начинается и которой заканчивается. Для изменения количества сегментов теперь можно просто менять количество элементов массива.
В начале проекта меня, честно сказать, слегка ужасало количество работы и деталек, которые нужно было создавать, но цель была в том, чтобы собрать неотличимую от настоящей, LEGO модель.
Спустя несколько дней работы я доделал все детальки в наборе. Часть одинаковых моделей покрасил, другую часть клонировал и всё получилось.
![](https://habrastorage.org/getpro/habr/upload_files/2a5/187/7eb/2a51877ebaa0e1cba5e3a495b62649e6.png)
Пришло время сборки. Как и в предыдущем проекте, я скачал инструкцию от оригинальной модели и начал собирать её точно также, как если бы все детальки лежали передо мной на столе.
![](https://habrastorage.org/getpro/habr/upload_files/d1d/0f2/6f5/d1d0f26f59c191c330ad1693456c299d.png)
Я решил не создавать анимацию самой сборки, потому что в прошлый раз я потратил на неё слишком много времени и сил. Но в это же время мне пришла в голову идея, что машинки могут соревноваться, врезаться и терять детали по пути. Так как каждая деталь была отдельной моделью, сделать такую анимацию было не так уж и сложно.
![](https://habrastorage.org/getpro/habr/upload_files/120/e47/bfa/120e47bfa78d5e26e7dd08f67461807e.png)
Это непередаваемое чувство, когда набор рандомных кубиков вдруг приобретает очертания машины или какого-то механизма. В этот раз я совсем немного подгонял детали друг под друга и это сильно облегчило мне жизнь.
![](https://habrastorage.org/getpro/habr/upload_files/6a3/dbe/b6c/6a3dbeb6c268efd1a6ac3f7029a44f67.png)
В самом начале я хотел, чтобы все детальки выглядели гладкими, с лёгкими скосами на углах, как у настоящего конструктора. Кто занимается 3д, знает, что такого эффекта можно достичь с помощью модификатора Bevel.
![](https://habrastorage.org/getpro/habr/upload_files/f74/625/6f2/f746256f24829188ee946b9fcbf5c161.png)
Для рендера фотографий модели может быть это подойдёт, но вот для динамичного видео не очень. Кроме того, что Bevel сильно увеличивает количество полигонов в сцене, эти скругления при проигрывании анимации вообще не будут заметны. И забегая вперёд скажу, что когда я полностью собрал модель, мне пришлось искать способ, чтобы удалить модификатор Bevel на всех моделях в сцене в один клик, но сделать это стандартными способами просто нельзя. Мне помог один крутой способ.
![](https://habrastorage.org/getpro/habr/upload_files/279/4ef/a7d/2794efa7d263f475f35fe695e6d23ccb.png)
Я использовал безграничные возможности Blender и написал такой скрипт из одной строчки кода. Достаточно выделить нужные объекты, указать название модификатора, который вы хотите удалить и выполнить код в консоле программы.
![](https://habrastorage.org/getpro/habr/upload_files/f92/cdc/242/f92cdc242526386e485c8f230c2520d9.png)
Наконец-то я полностью собрал модельку и, по-моему, уже сейчас она выглядит очень круто. Мне оставалось добавить несколько деталей по типу полосок на крыше и дверях, задние стёкла и конечно же фары, которые по моей задумке тоже будут участвовать в анимации. Последние штрихи - шильдик на передней панели с названием моего канала и логотип Ford позади - неотъемлемая отличительная особенность Shelby.
![](https://habrastorage.org/getpro/habr/upload_files/0b5/e22/c62/0b5e22c625ed47ae491450ad55f2746c.png)
Совсем скоро машина поедет по трассе сметая всё на своём пути, ну а пока мне нужно было создать для неё противника. Я просто скопировал все созданные модельки и поменял салатовый цвет на синий. Вот так, в пару кликов можно создать целый автопарк.
![](https://habrastorage.org/getpro/habr/upload_files/e41/d4b/419/e41d4b41972e3d327cc22bdaec32da89.png)
Отличное место для гонок на выживание - гоночный трек без лишних машин. Так как главные герои собраны из LEGO, то и трасса, пусть и немного, но должна походить на игрушечную. Я не стал моделировать каждый элемент так, как будто он сделан из конструктора, но попытался сохранить общий стиль.
![](https://habrastorage.org/getpro/habr/upload_files/9b9/8ae/bcd/9b98aebcd7811d450241e21997717937.png)
Кроме газонов и разметки я создал стойки с фонарями и трибуны с креслами, где в лучшие времена разместятся зрители. А текстуру трека настроил так, чтобы она походила на асфальт.
![](https://habrastorage.org/getpro/habr/upload_files/61c/668/830/61c66883078af52f54e7408db9553a6e.png)
Для создания освещения сцены, как и для много другого в 3д, есть огромное количество разных вариантов. Можно добавить HDRI карту с готовыми источниками света, расставить источники по периметру или использовать такой нод.
![](https://habrastorage.org/getpro/habr/upload_files/e8e/8dc/c98/e8e8dcc9820ad6bd2ca6d042d1db7e85.png)
С помощью нехитрых манипуляций вы получите нужное освещение, которое очень даже будет походить на настоящее.
Я ещё некоторое время потратил на то, чтобы трасса была чуть более насыщена элементами. Добавил разметку финишной прямой, покрасил стойки с фонарями, а фонарям настроил свечение. Построил несколько боксов для машин и смоделировал ещё много других мелких объектов. Большинство из них будут видны где-то на задних планах и размыты глубиной резкости, но всё-таки помелькают в видео.
![](https://habrastorage.org/getpro/habr/upload_files/98b/c93/e12/98bc93e12c24d1afad48b49afa416905.png)
Чтобы заставить передвигаться машину в Blender, как вы могли догадаться, есть несколько способов. Самый удобный и правильный на мой взгляд - создание рига. Моделлер указывает расположение колёс и центра кузова, а программа сама создаёт скелет для всех оставшихся элементов.
![](https://habrastorage.org/getpro/habr/upload_files/c2b/742/fea/c2b742feaa7f730d3b8e0f026f958139.png)
Передвигая несколько направляющих вы можете показать реакцию кузова машины и колёс на торможение, ускорение, столкновение и так далее. Это не полностью автоматический способ, но от того не менее удобный.
Можно сказать, что только сейчас начинается то, ради чего я затеял весь этот проект - создание анимации. Недостаточно просто смоделировать машины, трассу, настроить риг. Без анимации просто не будет никакой магии.
![](https://habrastorage.org/getpro/habr/upload_files/ef8/ace/977/ef8ace977a28552359d6e3951bbb2221.png)
В своём видео я хотел рассказать маленькую историю, а не просто показать как круто машины гоняют по кругу. А чтобы эта история была понятна зрителю, нужно было поработать над движением машин, камер и даже глубиной резкости. Насколько мне удалось это сделать, судить только вам.
И прямо сейчас я хочу показать вам то, что у меня получилось.
![](https://habrastorage.org/getpro/habr/upload_files/6a7/20d/6d2/6a720d6d23267758a162d931fef8a289.png)
Чем больше я изучаю 3д, тем больше понимаю что знаю про него совсем мало. Всегда есть куда расти и рост для меня заключается в поиске того, чего я никогда раньше не делал. Ставьте невыполнимые цели и после их неожиданного для себя завершения, вы будете счастливее себя прежнего.
Оригинальное видео: