Sci-Fi Chamber
Научно-фантастическая камера для клонирования или взращивания чего-либо. : )
Научно-фантастическая камера для клонирования или взращивания чего-либо. : )
Итак, вы захотели делать эффекты для игр. Куда бежать, с чего начать?
Осторожно! Огромное количество ссылок может вызвать эпилепсию.
Для начала вам нужно обладать какими-то базовыми знаниями по 3м софтовым направлениям:
Графический редактор (Photoshop, GIMP, Krita)
3D-пакет (Blender, Maya, 3D’s Max, Cinema4D, Houdini)
Игровой движок (Unreal Engine, Unity)
С первыми двумя пунктами все относительно просто:
если не обладаете базовыми знаниями, то, открываете строку гугла и вбиваете “<нзвание_софта> базовые уроки”.
Из редакторов я бы выбрал фотошоп, потомучто он более универсален и по нему больше уроков. Что вы выберете из 3D-пакетов - не столь существенно. Единственное из всего списка хочется отметить Houdini — это самый сложный для старта с нуля в 3D софт, но для позиций Middle VFX Artist и выше вам так и так придется в нём работать :)
После успешного изучения основ, когда слова RGBA каналы вас перестанут пугать, простой моделинг будет освоен и придет четкое понимание, что такое развёртка, можно переходить к движку.
Я сам прокачивал своего перса по ветке Unreal Engine, поэтому начнём с него. А так же по этой причине ветка Unity будет выглядеть ампутированной культёй на фоне анриловской (но статья будет ещё дополняться, поэтому я открыт к предложениям ссылок на материалы по Unity эффектам в чате).
Так вот, анрил, и опять же, прежде чем творить красоту, нужно изучить инструмент и основы. Регистрируетесь и скачиваете двиг с офф сайта, и переходите в раздел с обучением, где собраны бесплатные мини-курсы по различным тематикам движка. Ищете основы и проходите пару-тройку таких мини-курсов как эти — Your First Hour in Unreal Engine или Editor Introduction. Помимо основ делаете упор на создание материалов (например вот Materials Master Learning и Material Editor Fundamentals). Эти знания вам пригодятся при создании эффектов.
Помимо этого есть рускоязычный канал Unreal Engine Rus с большой библиотекой базовых уроков по различным тематикам. Также обратите внимание на канал Мэтью Вадштейна WTF Is?, в котором наглядно можно посмотреть как работать с тем или иным инструментом\нодой в движке. Ну и конечно можно влиться в рускоязычное комьюнити в телеге или международное в дискорде.
Отмечу, что не стоит искать курсы или уроки только по пятой версии движка — четвертая версия в базовых вещах практически не отличается от пятой, поэтому вам подойдут уроки по обеим версиям. Ну и тем более стоит забыть про русский язык в обучении и запастись гугл транслейтом или переводчиком ютуба в яндекс браузере, если с этим проблемы.
Что можно сказать про Unity? Так же качается с офф сайта, так же есть раздел с обучением, где можно найти базовые уроки по движку. Так же уделяйте внимание шейдерам. Есть ещё хороший канал со всякими разными вещами, в том числе и базовыми. И есть рускоязычный чат в телеге.
В двигле разобрались, самое время переходить непосредственно к эффектам. Для начала рекомендую внимательно ознакомиться с этими двумя супер полезными ссылками:
В ссылках представлен материал и по Unity и по Unreal Engine. Ну а мы по традиции начнём со второго. Итак, при создании эффектов в движке зачастую вы будете работать с двумя вещами: редактор материалов и системы частиц. В Unreal Engine на данный момент существуют две системы частиц: старая Cascade и новая Niagara. В идеале неплохо бы знать обе, потому что старые проекты в компаниях скорее всего используют Каскад и, если вы попадете на такой проект только со знаниями Ниагары, то придется в экстренном порядке переучиваться :)
Однако, на текущий момент думаю целесообразнее начинать обучение именно с Ниагары, так как она начинает быть более востребованной и все новые проекты будут уже на этой системе частиц. Ну и зная Ниагару, будет сильно легче потом при надобности изучить Каскад, так как они достаточно схожи по логике.
Изучение Niagara я советую начать с этого плейлиста от хорошего спеца Томаса Харле и с этого плейлиста базовых уроков канала GameDev Outpost. Они отлично дополняют друг друга и дают неплохую базу в понимании системы частиц. Также можно собственноручно посмотреть и потрогать примеры систем частиц на уровнях Niagara_Particles и Niagara_Advanced_Particles в проекте Content Examples, который можно найти во вкладке Samples в лаунчере. В нём же, кстати, а также вообще в разделе Samples, можно найти много интересного по базе движка.
Если вдруг имеется потребность в изучении Cascade, то можно с начать с этого официального плейлиста, а далее по ссылкам ниже, в некоторых из них уроки по старой системе. Также в проекте Content Examples можно изучить примеры систем частиц на уровнях Cascade_Legacy_Particles и Cascade_Legacy_Effects.
Дальше можно двигаться так:
Туториалы от Луоса по эффектам в Cascade и материалам на его канале (вообще весь его канал советую прошерстить, там много полезного и интересного)
Туториалы по Niagara от Art Hiteca, где вы не только будете настраивать модули, но и попрактикуетесь в написании своих
Много базовых и продвинутых вещей по материалам от Бена Кловарда
Хороший контент по материалам в Unreal Engine все от того же tharleVFX
Tips&Tricks в эффектах и системах частиц (и каскад и ниагара) от Саймона, а так же его бомбезный сайт с описанием некоторых визуальных трюков, которые использовались в играх
Канал Jason Keyser на котором куча полезной инфы по эффектам
Крутые туторы по шейдерной логике от техарта Epic Games Taizyd Korambayil. К сожалению, открываются только через веб-архив, но этот гемор того стоит.
Туторы от Janga FX: всплески и серия из трех уроков про огненный прожектайл
Неплохие туторы по эффектам с материалами на канале UnrealCG
Канал выступлений с GDC, на котором можно найти много лекций по визуальным эффектам
А что по Unity?
Сейчас там тоже присутствуют две системы частиц: старая Shuriken (вводник туть) и новая VFX Graph (вводник туть).
Но из каналов с эффектами на Unity я знаю только эти:
Супер клёвый канал Hovl Studio с подробными уроками на русском и украинском
Канал про эффекты в Unity от Gabriel Aguiar
И этот, который уже фигурировал здесь выше. Там тоже есть уроки по эффектам
Канал PolyTools - туторы по эффектам и шейдерам
Принимаю ваши предложения по дополнению этого раздела с уроками по юнити в чате.
Во всей этой суматохе не забывайте про теорию! Терминология в эффектах, принципы создания визуальных эффектов, математика и вектора. А еще неплохо бы пользоваться принципами анимации в своих работах. Можно так же глянуть стайл-гайды стилизованных эффектов для LoL.
Вдохновляться эффектами других людей и вообще всяким разным можно вот здесь:
А еще эффекты можно невозбранно глядеть в превью абилок у персонажей на подобных сайтах: LostArk, LoL, Valorant, Овервочб, Дока 2.
Параллельно с изучением систем частиц в движке следует начать изучать и симуляции в сторонних пакетах. Это необходимо для создания реалистичных эффектов дымов, огня, взрывов, всплесков воды, крови, флюидной магии и прочего, чего невозможно с нуля создать в игровом движке. Вы будете симулить это в соответствующем пакете, а затем переносить в движок спрайт-шитом или вертексной анимацией.
Для подобного рода симуляций идеально подойдет Houdini, но, так как он неописуемо сложен, добавлю ещё несколько альтернативных вариантов:
EmberGen — новый пакет для рил-таймовых флюидных симуляций ориентированный на геймдев. Очень функциональная вещь, хотя и до сих пор в активной разработке. Отлично заменяет гудини в изготовлении огня, дыма, взрывов. С симуляцией воды пока никак, но обещают после релиза заняться и ею. Бесплатный 14-ти дневный триал без ограничений можно забрать на офф сайте. Туторы смотреть на офф канале тут, и тут (старый интерфейс) по дефолту с программой ставится около сотни пресетов разных эффектов их тоже можно поковырять, чтобы разобраться. А ещё есть чат в телеге.
Плагины для симуляций для вашего почти любого любимого 3D-пакета. Такие как FumeFX, TurbulenceFD, Krakatoa, RealFlow. Туторы под конкретно ваш пакет и выбранный вами плагин лежат в широком ассортименте в этих ваших ютубах.
Из коробки флюидные симуляции есть в Maya и Blender. К сожалению, сильно не в курсе в каком они там состоянии и с каким функционалом, но для начала возможно может хватить.
Ну и вернемся к любимому Houdini. На офф сайте есть бесплатная урезанная версия для обучения. Начать обучение можно отсюда, отсюда и отсюда. Затем перейти к Энтагме и Houdini по-русски. Ещё вам может очень сильно помочь чат в телеге.
Что касается взаимодействия Houdini и игровых движков:
Очень хорошая серия туторов Houdini for Games от Андреаса Глада. Собрал все выпущенные уроки здесь в одном месте. Делаем сетапы в Houdini, переносим в Unreal Engine. Крайне рекомендуется к просмотру даже если вы не собираетесь пока сильно лезть в гудини.
От него же годный маленький курс на плюре про создание и перенос взрыва из Houdini в Unreal Engine. На сайте вроде есть триальный период, за который можно успеть глянуть курс.
Официальная серия уроков по взаимодействию Houdini и Niagara.
Перенос эффектов с помощью вертексной анимации (VAT) в Unreal Engine и Unity. На текущий момент самая актуальная это версия 3.0, гайды по ней здесь. Но в сети вы можете встречаться с туторами по более ранним версиям 1.0 и 2.0. Они немного отличаются пайплайном, но суть одна и та же.
На Houdini по-русски есть серия уроков (около 20ти штук) про перенос эффектов и всякого в Unity. Жаль нету для серии отдельного плейлиста, но легко находится на канале по превьюшкам, например один из уроков вот.
У Энтагмы есть серия уроков про UE от Матеаса Винкельмана, но там больше для моушен дизайна, чем про эффекты.
А еще есть канал чатика Houdini for Games в котором подобного добра навалом для Unity и UE.
Помимо всего вышепречисленного VFX артисты активно юзают Adobe After Effects для эффектов и работы со спрайт-шитами и Substance Designer для процедурной генерации текстур для эффектов.
Для After Effects из полезного могу направить только на полезные бесплатные скрипты: один собирает спрайт-шит из анимации, другой наоборот превращает спрайт-шит в обычную анимационную композицию.
По сабстансу можно начать с этого: Basics of SD for Real-time FX. Также могу отметить паренька, который делает уроки по текстурам для стилизованных эффектов. Хороший канал с уроками так же тут. И этот полезный тред Substance Designer for VFX. А ещё бесплатный мини-курс на артстанции.
Для тех, кто всё ещё хочет, чтобы ему напихали по самые небалуйся ещё, вот дополнительные ссылочки:
Отличный плейлист с уроками по написанию шейдеров в Unity от Артёма Кагарманова
Лекция раз и лекция два от Александра Виноградова про визуальные эффекты
Хороший видос про базовые аспекты и продвинутые штуки в материалах Unreal Engine
Подборка клевых докладов с GDC про эффекты
Новые возможности Niagara и возможности модулей симуляции в ней
Сайт Тома Лумана с полезной технической и шейдерной инфой
Niagara Tips&Tricks от Андреаса Глада
Короткие, но ультраполезные типсы по Ниагаре от Beyond-FX
Тутор про разные типы дисолвов в UE4 от Семёна Альмяшева
Мои весёлые туторы с кеками и в конце плейлиста более серьёзные уже без них (там скоро будут новые туторы, когда-нибудь)
Огромная база уроков по Niagara от Ashif Ali. Но новичкам следует быть осторожными — часто техники, которые он показывает очень неоптимизированы. Поэтому этот канал я рекомендую смотреть, только когда вы уже немного понимаете что нагружает фпс
Твиттер Klemen Lozar с разборами эффектов
Твиттер Криса Мёрфи с типсами и триксами по анрилу и эффектам
Подборка лекций и уроков по Ниагаре с официального канала Эпиков
Для тех, кто хочет потратить шекели на курсы: мой курс про эффекты в Ниагаре, курс на Udemy VFX for Games — Beginner to Intermediate, курсы на RebelWay по стилизованным эффектам и по реалистичным, курсы от Jason Keyser по традиционным эффектам
Группа в вкшечке, в которой рассказывают про эффекты, телеграм-канал и, конечно же, телеграм-чат где эффекты обсуждают
Тогда не было крутых и простых игровых движков как сейчас, да и в 10 лет катастрофически не хватало знаний и концентрации.
Потом пошли установки своих серверов для Lineage 2, просто поиграть с друзьями. Кода в этом было мало, но чувство, что ты создаешь что-то свое было неописуемо.
Далее был Warcraft 3 и создание карт. Это было так давно, что даже мамонты застали ту эпоху. Blizzard с их редактором научили меня простому порядку:
Событие - Условие - Действие
На самом деле это базовый принцип разработки:
Пользователь открыл сайт - Если пользователь не авторизован - Отправить его на страницу регистрации
Все остальное детали.
Первый раз действительно познакомиться с кодом мне удалось, когда появился SAMP (San Andreas Multiplayer). Разработка требовала знания просто языка PAWN и чтение документации разработчиков.
После появления уверенности в своих силах я начал изучать Java и PHP.
В Java я работал с VK API, хотел создать standalone клиент (Тогда еще его не было)
Спасибо тому специалисту поддержки, который ответил на мой вопрос. Если ты это читаешь - Спасибо тебе, ты мне очень помог!
Даже после того как я устроился работать в компанию, выбрав профессию PHP-разработчика я не отпускал мысль, что я найду способ создать игру.
Вернемся в наше время. Я создаю сервис обучения, в котором информация подана в виде игры для более понятного и интересного обучения. Но чего не хватает…
Конкуренция всегда была топливом для мотивации. Только встретив сопротивление, в сравнении с другим специалистом, ты можешь оценить свои способности.
После изучения сервисов, которые, якобы являются играми, но в то же время обучающей платформой и сотни часов залипания в одну точку, я понял как бы я хотел чтобы это выглядело.
Это будет дуэль алгоритмов двух людей, которые должны описать свои ходы еще до начала боя, в зависимости от ситуации на арене.
Я хочу поделиться с Вами, каждым этапом разработки в режиме онлайн, ведь на своем примере я могу лучше объяснить что такое программирование, рассказать о нюансах работы и вызвать у вас интерес к этой профессии.
В следующей статье я напишу какие сервисы в виде программируй-играй я нашел, чем они мне понравились или не понравились. И как они повлияли на мою будущую игру.
Что то мне кажется ироничным в том, что инженер который в России делает автомобили, никогда не сможет купить себе автомобиль 🤡
Нет, меня не забанили в гугле, однако многочисленные топы вызывают у меня серьёзный скепсис, так как, зачастую, складывается впечатление, что автор топа просто поискал в интернете информацию о том, какие есть профессии в IT, а затем выдал свой мега экспертный топ.
Теперь к делу: я, в общем-то, уже являюсь трудоустроенным программистом. Недавно обратилась знакомая за советом, она хочет работать в IT, но с направлением ещё не определилась. Проблема в том, что за пределами областей, с которыми я, тем или иным образом, взаимодействовал, я знаю очень мало. Не говоря уже о том, что о лопнувшем IT-шном пузыре не говорил, наверное, только ленивый (только сегодня 2 видео на эту тему просмотрел). Да и на личном опыте могу сказать, что, перед тем, как устроится на работу, я провалил немало собеседований (были ситуации, когда, при идеально выполненном тестовом задании, даже не пригласили на собеседование) и пробиваться пришлось действительно "потом и кровью".
К слову, в одном из просмотренных видео, автор говорит, что сейчас в android соваться вообще бессмысленно (он как раз разработчик под android, ввиду чего, возникает вопрос, что бы я услышал от специалиста из другой области).
В общем, ввиду всего этого, у меня к Вам вопрос, в какую область IT сейчас имеет смысл идти, где меньше, а где больше конкуренции, как это всё анализировать и т.д.
P.S. Меня интересуют как программистские, так и не программистские направления.
Всем привет! Я учусь геймдизайну на обучающей платформе Skillbox, и одним из заданий является сделать публикацию о придуманной мной игре. То, что вы сейчас читаете, и есть та самая публикация!
Название игры, которую я хотел бы представить - Paper Simulator. В этой игре вам предстоит принять на себя роль бумажного листа, который нужно будет формировать в различные бумажные поделки-оригами для прохождения препятствий.
Поделки формируются в специальном редакторе, напоминающим Blender, в котором игроку и нужно будет придавать поделкам форму посредством выделения областей, которые будут подвержены сгибам, и делая сами сгибы в одну из двух сторон. И эти формы в дальнейшем и будут использоваться в прохождении уровней.
В то время, как изначальный бумажный лист почти ничего не умеет, поделки, сделанные из него, обладают различными свойствами: бумажный самолётик может далеко планировать и взлетать на потоках воздуха, бумажный комочек быстро катится по поверхности, бумажный кораблик плавает по воде.
При этом в редакторе можно будет создать поделку любой формы, и свойства поделке должны будут передаваться автоматически в зависимости от её формы. На уровнях также будут находиться листы с инструкцией о том, как создавать ту или иную поделку, чтобы игрок не потерялся с такой огромной свободой.
Ниже находится скриншот из Blender - программы, которой я вдохновлялся, когда придумывал редактор поделок:
Эта игра - 3D-платформер с элементами симулятора. В ней будет представлена реалистичная физика бумаги, которую и надо будет учитывать для прохождения уровней.
На уровнях будет представлено множество различных препятствий, которые могут как помешать, так и помочь бумажной поделке с продвижением. Например, огонь, сжигающий поделку, вода, в которой поделка не в форме кораблика тонет, острые предметы, портящие поворотливость поделки в воздухе, а также потоки воздуха, помогающие поделке подняться в воздух.
Ниже находится скриншот из игры “I Am Bread”, в арт-стиле которого я и представляю Paper Simulator:
Однако всё это было лишь вступительной информацией о Paper Simulator. Об остальных деталях проекта написано в документе-метрике игры:
https://docs.google.com/spreadsheets/d/188cB7Yi_hnMj3ebjlg2Z...
В общем, это всё, что я хотел бы вам показать! Если всё написанное выше вас заинтересовало, пожалуйста расскажите, что вам понравилось, а что нет! Помогут только честные отзывы! :)
Предложу своё видение материалов для начинающего python-разработчика на 2022 год. Есть общая часть для любого backend developer, она же годится для старта в data science и devops.
Сразу скажу, что 80% успеха в изучении — это самостоятельная работа. Ни один курс или преподаватель не сделает из вас специалиста, это доступно только вам. Помочь может размеренное изучение — 1 час изучения каждый день куда эффективнее, чем 10 часов в воскресенье.
Подборка бесплатного материала по python:
0. При погружении в новую область знаний сразу возникает вопрос, куда копать и с чего начать. Ответ можно найти в книгах, обзорных статьях, видео и других источниках. Одним из вариантов визуализации подобных знаний является roadmap. Это такая "дорожная карта" с пометками, что следует освоить. Самым популярным проектом является roadmap.sh. В их github 220к звёзд, настолько это общее место для индустрии. Прописаны roadmap для самых разных специализаций и технологий, в том числе по python. Недавно к каждому навыку они стали прикреплять пачку статей и видео из изучения. Roadmap позволяет выявить пробелы в текущих знаниях и наметить актуальные вопросы для изучения.
1. Классическим хорошим курсом для начала из бесплатных считаются Поколения Python на stepik для начинающих и для продвинутых от школы BEEGEEK. Первые два курса (для начинающих и для продвинутых) бесплатные, третий (для профессионалов) платный, стоит в районе 3к. В каждом курсе порядка 200+ тестов и ~300 интерактивных задач. Для начинающих покрывает базовые типы данных, циклы и ветвления, строки, списки, функции и не большой мини-проект в конце. Для продвинутых вложенные списки, кортежи, множества, словари, работа с файлами. Для профессионалов - исключения, итераторы, генераторы, регулярки.
2. Дополнить текст можно годными лекциями Тимофей Хирьянова из МФТИ.
3. Python: основы и применение на stepik. Тут пространства имён, классы, наследование, исключения, итераторы и генераторы, файловая система, лямбды, pep8, регулярки, немного про http и API.
4. Не питоном единым, поэтому надо ещё и немного в базы. Начинать однозначно стоит с реляционных баз. Можно посмотреть на Интерактивный тренажер по SQL. Тут и про реляционную модель в целом, про запросы, групповые операции, CRUD, и много практики
5. Надо освоить git, достаточно 4 глав из книги Pro Git. Сейчас git без вариантов, у него 97% рынка. Не писать код без локального git-репозитория вообще. Использовать серверный github/gitlab по желанию.
6. Дополнительно можно практиковаться на codewars и leetcode. Берём и решаем по задаче в день. Конкретно leetcode популярен при подготовке к собеседованиям.
7. Для общего развития есть крутой вводный курс в computer science CS50 от Гарварда. Он большой и на английском, начинается с Си и алгоритмов, а дальше про память, структуры данных, python, SQL, HTML, CSS, javascript и даже Flask. Такая сборная солянка. Есть видео-лекции, лабораторные работы с заданиями и всё такое. Говорят, что яндекс.браузер умеет на лету всё переводить, но я не пользовался.
8. Связанный с предыдущим пункт. Без английского нынче никуда. Кто посоветует, как тут можно начать? Мне кажется, что нужны основы языка (база типа грамматика по любому учебнику), а потом много практики уровня "перевод со словарём". Словарный запас всему голова.
9. В современном проекта никуда без тестов. Для python лидером является pytest, могу порекомендовать гайд Python Testing with pytest. Просто, Быстро, Эффективно и Масштабируемо
10. Без linux никуда, все сервера работают на linux. Кто знает хороший гайд для начинающего? Легко сказать "поставь ubuntu и разберись", но это сложно.
11. Без docker тоже никуда. Мне нравится огромный гайд Introduction to Containers в виде 829-страничной презентации. Тут и теория, и практика. Для углубления знаний есть Best Practices.
Когда есть базовый опыт на питоне, дальнейшим развитием является свой проект. Не гонитесь за чем-то уникальным, просто самостоятельно реализуйте что-то уже существующее. В процессе реализации вы начнёте сталкиваться со злым реальным миром, что даст вам много опыта. Например, можно повторить мой часовой стрим по созданию небольшого проекта на python с нуля до небольшого логического завершения.
Из книг для более глубокого понимания внутренностей Python рекомендую Лутца (двухтомник, нужно свежее 5 издание 2019-2020 годов). Многие жалуются, что книга тяжёлая для начинающего. Крутой книгой для повышения уровня я считаю Python. К вершинам мастерства Лучано Рамальо (в 2022 году вышло второе издание, лучше его).
При создании не учебного, а уже боевого проекта важно смотреть на готовые подходы. В статье Как анализировать предметную область перед разработкой на примере видеоаналитики я делился своим опытом подобной работы.
Постоянным источником материалов может быть телеграмм-канал devfm, где мы разбираем разные нюансы из жизни разработчика на Python и не только. Зачем нужен докер, что такое WSGI, чему стоит научиться в вузе, шаблоны проектирования микросервисов с недавнего highload++. По пятницам у нас культурный код с фильмами, книгами и всяким разным.