Среди моих читателей много студентов, которые учатся на программистов и хотят понять, пригодятся ли им эти знания, когда они будут устраиваться на работу 3D- и VFX-художниками. А еще есть читатели, которые уже работают программистами, но хотят попробовать себя в создании мультиков и игр.
Также, в связи с тем, что на территории бывшего СССР нет высшего образования по 3D тематике, то выпускники школ задаются вопросом "Можно ли сейчас пойти на факультет связанный с программированием, чтобы в будущем эти знания использовать для 3D?"
Вот два письма, где мои читатели спрашивают как можно совместить навыки программирования и 3D работу. А под письмами я даю свой ответ.
Первое письмо.
Реально ли совмещать графику и программирование?
Здравствуйте, Юрий!
Зовут меня ****, я из г. Омска.
Читаю ваш блог давно, спасибо за интересные статьи. Некоторые перечитываю каждый раз заново.
Вот у меня какая проблема возникла: занимался программированием все время (ну как занимался, пытался, хотел стать хакером так сказать качественным :-))))
Через некоторое время понял, что дело не движется, нужно себя в чем-то реализовывать. В университете проводились занятия по 3ds max, очень понравилась тема, пытался что-то создавать, но как-то забыл об этом.
С некоторых пор появилось желание заняться графикой.
Хочется и графикой заниматься и программированием, но понимаю, что нужно выбирать, т.к. области большие и одновременно и тем и другим быть сложно. Голова разрывается от противоречий, спать иногда полночи не могу, думаю что выбрать. Последнее время все-таки больше графика перевешивает ))
Такой вопрос - реально совмещать графику и программирование или выбрать одно направление лучше?
Каков инструментарий у 3d-шника, какие приложение использовать, с чего начать?
Извините, если может быть не понятно изъяснился. Если советом поможете - буду очень благодарен! ))
Второе письмо.
Какие языки программирования и технологии нужно изучать для 3D?
Здравствуйте Юрий.
Ответьте пожалуйста на такой вопрос. Я увлекаюсь 3d графикой некоторое время, и со школы мечтаю работать в мультипликационной студии. Но т.к. дизайнерские (художественные) способности развиты не были, учусь на программиста (2 курс). Т.к. после третьего надо уже идти работать, у меня возникают противоречия, в каком направлении продолжать развитие.
Программирование перспективно и позволяет хорошо зарабатывать, но не так интересно. И пойдя по этому пути, я заберу у себя время на развитие дизайнерских способностей и навыков работы с 3d.
Поэтому я думаю над тем, что бы использовать навыки программирования в 3d и найти работу которая объединяет в себе 2 эти специальности. Что бы оставаясь программистом, работать и с 3d графикой. Тогда, разобравшись в себе, я смогу либо остаться в этой роли, либо перейти в одну из этих специальностей уже в чистом виде.
У меня не достаточно опыта, что бы выбрать подходящую для этой цели специальность, поэтому я обращаюсь к вам. Подскажите пожалуйста, есть ли такая возможность в Украине, и если да, то какие языки и технологии изучать для этого?
Например сетап персонажей. Стоит ли углубляться в эту область? И на сколько важную роль играет в нём программирование?
Теперь мой ответ.
Совмещать программирование и 3D можно. Причём в разном процентном соотношении.
Существует несколько вариантов такого совмещения:
- Создание своих или чужих 3D игр на готовых игровых движках. Вот, к примеру, я с другом-программистом (Сергеем) делаю игру. Чтобы сделать игру на движке Unity понадобится знание языка Javascript, .NET (C#), баз данных, облачных технологий (Microsoft Azure) - это то, что использует Сергей.
- Разработка игрового движка с нуля.
- Создание сайтов для просмотра и редактирования 3D контента прямо в браузере онлайн (HTML5, WebGL).
- Написание плагинов/рендереров для 3ds Max, Maya, Houdini и других 3D-пакетов. Здесь нужно знать язык Python или С++. А начать можно с написания скриптов на MAXScript (для 3ds Max) или MEL (для Maya). Скрипты обычно решают повседневные проблемы/задачи 3D-шников, которые они повторяют по много раз. К примеру, перед тем как нажать кнопку Render (даже если он тестовый), нужно выбрать нужную папку, создать там новую папку, придумать имя для файла, указать расширение изображения, выбрать настройки для сохранения картинки и только потом нажать Рендер. Это всё можно автоматизировать, а значит сэкономить тридешнику уйму времени.
- Устроится в R-n-D отдел какой-то анимационной студии. Это почти то же самое, что и пункт выше, но здесь вы будете писать инструменты, которые никто, кроме вашей команды, не сможет использовать 😉
- Выбрать практически любую классическую профессию 3D- или VFX-художника. В любом таком деле вы найдёте применение вашим навыкам программиста.
Распишу последний пункт поподробней.
- Вы захотели стать моделером. У моделера есть куча повторяющихся операций, которые он выполняет часто, а значит их можно автоматизировать с помощью скриптов.
- Вы мечтаете сетапить персонажей. Где-то 10-15% времени вам придётся что-то программировать и как-то улучшать даже существующий риг (не говоря уже о создании рига с нуля).
- Вы желаете устроится в отдел рендера. Здесь также пишут код - пишут свои шейдера.
- Вы хотите стать лайтером? Одел лайтинга пишет свои тулзы для освещения.
- Вам сильно хочется что-то взрывать, тогда вам дорога в отдел динамики. Тут пишут свои инструменты для управления динамикой, симуляцией одежды, волос, частиц (дыма, огня, жидкостей) и так далее.
- Казалось бы только художники по текстурам не нуждаются в навыках программирования, но и здесь всё не так просто. Посмотрите, к примеру, на инновационный пакет Substance Painter, где текстуры рисуются не кисточкой, а эффектами погоды, которые накодил какой-то программист.
Может вы еще какие примеры приведёте, где можно совмещать работу программиста и тридешника?
А если не знаете с чего начать изучать 3D, то вам точно сюда.
Подпишитесь на обновление блога (вот 3 причины для этого).
P.S. Программист на заглавной картинке нарисован в Photoshop художником Bruno Hamzagic de Carvalho.
Вам понравилась статья? Хотите отблагодарить автора? Расскажите о ней друзьям.
Или подпишитесь на обновление блога по E-Mail.
комментариев 15 к статье “Можно ли совместить знания программиста и 3D работу: ответ на письма”
Извините, в данный момент комметарии закрыты.
Напишу как было со мной 😀 Вот уже не первую пятилетку пытаюсь связать эти 2 масштабных направления. За это время повстречал множество людей, которые абсолютно уверены что программирование и графика (в общем) — это совершенно разные направления. Камень преткновения в том, что для работы с ними нужны разные типы мышления. С этим, пожалуй, соглашусь. Поэтому чтобы обойти этот нюансы нужно потратить гораздо больше времени чем кажется. Дальше. На самом деле и в графике можно обойтись без программирования, и в программировании без графики. Но если попытаться связать все вместе работая над одним проект (в котором не сугубо только разработка какой-то утилиты или нарисовать человека) а в реальном проекте, в котором действительно присутствуют и графика и программирование, тогда можно получить много и много пользы от этой связки. Как-то мы работали над одним проектом, в котором нужно было в одном моменте быстро вырезать землю из-под домиков. Товарищ знал MEL и буквально несколько строк — и много рутинной работы выполнил скрипт. Так же как-то был архивчик с анимациями, и снова MEL помог — товарищ написал небольшой скриптик который сам загружает анимацию и правильно ее накладывает в сцену для просмотра. Пару кликов — и вуаля. Естественно работаю в сфере ИТ поверхностные знания никогда не будут лишними с любой сферы деятельности. Но нужно понимать что наступит такой момент, когда придется делать что-то одно и делать это хорошо…
Полностью согласен с постом выше. у меня 10 летний опыт разработки. первые 5 лет я работал 3D артистом. Последние 5 лет работаю по специальности, программистом (инженером). Думаю могу достаточно достоверно, сравнить эти два направления.
Совет. Вам нужно выбрать, что-то одно или ничего!
Если вы художник и хотите заниматься искусством, то не трате свое время на изучения программирования. Оно на самом деле не как не связанно. Те варианты или оправдания, что написаны в статье не годятся, работу человеку оркестру найти сложнее, чем специалисту в узкой области, по причине написанной в коммент. выше. В одном случае ты будешь инженером, в другом художником. Разное мышление, по разному смотришь на окружающий мир, даже в быту это сильно проявляется.
Есть должности технический артист, в этом случае артист знает инструментарий или умеет в нем разбираться, читает и пишет спецификации. Программирование тут если и поможет, то не как не окупит ваши знания как программиста. Чтобы писать на скриптовых языках не нужно быть программистов, все скрипты создаются не для программистов, программисты пишут на полноценных языках программирования.
Многие думаю, что если они будут знать то и другое, то смогут сделать свой продукт, да это так, но есть маленький нюанс, деняг они на этом не заработают (не надо приводить примеры, типа вася что то сделал и заработал много деняг, это не статистика, это тоже самое что играть в рулетку). Если вы хотите делать свой продукт, чтобы зарабатывать деньги. То вы не должны быть не тем не другим, это будет лишь отодвигать вас от цели. В этом случае вы должны быть в первую очередь предпринимателем, менеджером, маркетологом и думать как люди этих профессий.
Вы не сможете что-то спрограммировать дельное, не разбираясь в графике/задаче и нюансах которые с ними связаны. Отсюда вывод — разбираться в графики нужно, но это лишь вершина айсберга, так же нужно хорошо понимать архитектуру приложения, уметь проектировать собственные, разбирать и анализировать западные аналоги, чтобы внедрить в свой пайплайн.
А вывод такой. Что программистам лучше всего заниматься тем, что у них получается лучше всего — написанием 3д, 2д, инструментов для моделлеров, художников, текстурщиков, визуализаторов, ригеров, и.т.д. 🙂
А еще программистам можно себя попробовать в среде визуального программирования Houdini 🙂
Как это?
Распространенное мнение, что в Гудини больше всего нужны именно навыки программиста для работы. Или это не правда?
Ну я бы так не сказал 😉 Как я уже писал к одному из комментариев, у меня есть друг (классический художник: живопись картин маслом и т.д.), так вот он без проблем самостоятельно разобрался с Гудини до приличного уровня (волосы, симуляция одежды, риг персонажей и т.д.) без навыков программиста:
Это не может не радовать 🙂 Удивительно, что художник выбрал именно Гудини. Там ведь все такое процедурное. Казалось, что для работы в Гудини нужен математичекий склад ума.
Ну на вики ведь написано среда ВИЗУАЛЬНОГО программирования 😉
А можно по интересоваться, почему он выбрал именно Гудини? Меня интересовал моделинг, мне он там показался очень сложным.
Там долгая история. С одной стороны ему не хватало функционала по симуляции (тканей, волос) в Cinema4D, с другой стороны он выиграл лицензию на Гудини…
Спасибо. Я так понял он сидел на Cinema4D. А почему сразу начал не с Мая скажем?
Обычно первый пакет — это то, что посоветовал друг 😉
По собственному опыту могу сказать, что навыки программирования очень нехило могут сократить рутину на производстве. Я себе волшебные кнопки и в максе делал, и в майке. И даже в тотал коммандере на пайтоне пишу какие-то кнопки на полку верхнюю для работы с файлами.
Но полноценно заниматься и тем и другим проблематично. Или программируешь, или моделишь.