Визуальные эффекты для Skyforge: теория и практические советы

в 13:26, , рубрики: effects, game development, VFX, Анимация и 3D графика, арт, Блог компании Mail.Ru Group, игры, разработка игр, эффекты

Визуальные эффекты для Skyforge: теория и практические советы

Художник по эффектам — это алхимик. Его задача: за неимением золота это золото добыть. В любом случае это будет фейк, но от опыта художника зависит, насколько он будет правдоподобным. Художник по эффектам — универсал. Если задача не укладывается в стандартный пайплайн художников, значит эта задача для художника по спецэффектам. Нужно уметь как можно больше и не бояться нестандартных решений, но только если они дадут выгоду. В этой статье я постараюсь подробно рассказать, чем руководствуются художники по эффектам на нашем проекте. Расскажу о некоторых хитростях. Затрону сторону оптимизации арта и расскажу о взаимоотношениях в команде.

Художественные термины и их влияние на эффекты

В этом разделе хочется поговорить о теоретической стороне вопроса. Эффекты лежат на пересечении нескольких видов классического и современного искусства. Вкупе с различными техниками и ответвлениями теория визуальных эффектов дополняется новыми терминами и принципами. Опишу самые значимые и применяемые мной повседневно. Я не буду много говорить о базисе, при желании его можно найти в учебниках. Предлагаю сосредоточиться на том, как они влияют на визуальную составляющую.

Масса цвета

Визуальные эффекты для Skyforge: теория и практические советы

Это общее количество цвета в кадре за определенное время. Увеличить массу можно за счет размера пятна, увеличения плотности, яркости, времени отображения, уменьшения скорости движения. Также можно компенсировать одно другим. Но каждая составляющая вносит и свой вклад. Чем больше масса, тем больше внимания уделит ей зритель. Чем важнее часть эффекта, тем большая масса должна быть, и наоборот. Для меня это самый важный обобщающий параметр.

Стилизация

Визуальные эффекты для Skyforge: теория и практические советы

Создает уникальный визуальный ряд. Сохраняет целостность арта. Делает проще понимание нового за счет увиденного. Основной прием здесь — это наследование элементов, динамики, и в грамотном подходе позволяет достичь хорошего переиспользования артовых элементов, экономя время разработки.

Детализация

Визуальные эффекты для Skyforge: теория и практические советы

Стиль диктует уровень детализации. На детализацию влияет количество деталей в кадре за определенное время. Детали притягивают внимание зрителя, поэтому их нужно добавлять в важные части эффекта. Избыточное количество деталей будет смотреться «кашей». Если переборщить с детализацией для минорных элементов, то зритель будет постоянно испытывать дискомфорт, пытаясь рассмотреть то, что не несет полезной информации.

Динамика

Изменение всех составляющих эффекта во времени. Чем больше динамики, тем больше детализации. Динамика может использовать ритм для увеличения детализации. Динамика — очень важная составляющая эффекта. С помощью нее можно задать настроение и характер эффекта. Можно акцентировать внимание или, наоборот, уменьшить. Не думайте о динамике только как о движении. Динамика больших масс и силуэта важнее для зрителя, чем динамика внутри элементов.

Ритм

Чаще всего он улучшает гармоничность восприятия эффекта, но увеличивает детализацию. В играх, завязанных на звук, это может быть частью геймплея. Например, Patapon или Guitar Hero.

Контраст

Контраст — это сильное изменение чего-либо за малый промежуток времени. Чаще всего самый сильный контраст используется как акцент в эффекте, обозначающий, что действие свершилось. Контраст — раздражитель, он привлекает внимание, но чрезмерное увлечение им будет раздражать и утомлять зрителя. Если вы хотите добиться контраста, то необязательно делать яркую вспышку. Можно быстро изменить любую составляющую массы цвета. Количество контрастов в кадре напрямую действует на детализацию. Не забывайте также, что контраст динамики — это отсутствие динамики, и контрасты тоже составляют ритм. Если вы забьете кадр постоянными вспышками, то вам будет очень трудно на этом фоне показать что-то более важное.

Художественные и технические приемы

Game Mechanics — first!

Так уж мы устроены: для нас игра — это в первую очередь правила, а затем уже то, как это выглядит. Отсюда правило: механика — first. Но художественная часть тоже очень важна. Она вносит уникальную составляющую, улучшает восприятие от первого взгляда на игру. Делает промошоты и трейлеры более конкурентными, позволяет игрокам хвастать перед друзьями скриншотами со своими персонажами. Но чем больше арт в эффектах самодостаточен и красив, ажурен и детален, тем больше его основа как эстетика начинает доминировать, а значит мешать геймплею. А мы договорились, что механика — first. Самым идеальным решением было бы создать арт, дополняющий гейм-механику и не мешающий понимать происходящее. Но, как известно, нет в нашем мире ничего идеального, и арт никогда до конца не подружится с законами игры. Это важно понимать и уметь находить баланс между ними.

Приоритеты элементов в сложносоставных эффектах на примере заклинаний

Самым важным для зрителя должен быть результат заклинания на цели. Затем эффект связи цели и того, кто это заклинание использовал. Далее эффект, показывающий, что автор заклинания это заклинание произвел. Затем эффект подготовки заклинания, затем эффект продолжительного воздействия, если требуется.

Обучение геймплею

Ваш визуальный дизайн в идеале должен быть интуитивно понятен с первого взгляда, но на практике это труднодостижимо. Иногда приходится показывать не самый понятный арт и надеяться, что игрок, прочитав аннотацию, проассоциирует ее с артом и в дальнейшем не будет ошибаться. Ключевое слово здесь — иногда. Это ужасный подход, и гоните в шею тех, кто считает это нормальным! Самым правильным подходом в дизайне эффекта является поиск наиболее близкой визуальной ассоциации.

Конструктор

Конструктор — это классификация и переиспользование элементов различных эффектов. Не художественный, но очень важный прием. Его можно отнести к стилизации, но он служит одной цели — экономии времени разработки. Помимо прочего, он помогает сохранить целостность арта. В эффектах это могут быть текстуры, материалы, геометрические примитивы и даже динамика.

Цветовой код

Часть конструктора. Это известное средство систематизации артовых элементов. Для зрителя это наиболее значимый классификатор. Не стесняйтесь его использовать. А лучше всего в начале проекта разработайте табличку с оттенками для главных составляющих геймплея. Например, для класса Паладин у нас используется три цвета. Основной цвет — золотой. Дополняющий — более холодный, красноватый. Для усиленных атак — голубой. В эффекте могут использоваться все три оттенка. Это обеспечивает приемлемую, нескучную гамму и дифференцирует класс, не сильно пересекаясь по оттенкам с остальными.

Контраст — вещь относительная

Если ваш визуальный ряд забит постоянными взрывами и стрельбой или прочими контрастами, то самым лучшим способом показать что-то значимое в кадре — это сделать не еще бóльший бадабум, а перед эффектом добавить паузу, разгрузив кадр как можно сильнее. На фоне паузы ваш эффект будет гораздо значимее для зрителя.

Прогресс в динамике. Градиенты в цвете

Визуальные эффекты для Skyforge: теория и практические советы

Продолжительное использование какого-либо объекта/предмета в игре или длительная подготовка заклинания могут утомить зрителя. Старайтесь для таких процессов использовать прогресс динамики и ритм. Не стоит обходить стороной прогресс в цвете. На этапе дизайна эффекта старайтесь всегда придумывать начальное и конечное состояния вещества/сущности, которое вы показываете. Это подскажет вам изменение цвета и формы. Для прогресса часто подходят такие ассоциации как нагрев, остывание и тому подобные. Берите пример с природы.

Ритм из музыки. Аккорды

Лично мне проще воспринимать, придумывать и оценивать эффект, если динамика элементов в нем складывается в какой-нибудь аккорд. Это позволяет убрать мишуру элементов, стартующих в разношерстное время.

Простота — залог здоровья кадра и нервов зрителя

Беда начинающих художников по эффектам в использовании всевозможных вариаций текстур, элементов и цветов, перегружающих эффект. Я не сторонник минимализма, но нужно думать о том, что помимо вашего эффекта будет еще в кадре и постоянно держать в голове приоритеты важности вашего эффекта относительно всего кадра. Начинайте делать эффект с основных элементов, которые раскроют идею, и добавляйте декор, только убедившись, что все основные элементы готовы, пусть даже в черновом варианте. Это убережет вас от случая, когда добавление последних основных элементов, раскрывающих механику, будет перегружать эффект настолько, что вы решите их не добавлять.

Прототипирование

Это самое лучшее, что есть для снятия всевозможных рисков. Суть в том, чтобы быстро сделать простой эффект, объясняющий гейм-механику, либо раскрывающий визуальную идею или тестирующий фичи проекта. Начинающих художников этот этап утомляет своей не художественностью, и они стараются его пропустить или сделать «на отвяжись». Учтите, самые жестокие грабли ждут тех, кто в процессе своего саморазвития так и не ощутит выгоду от прототипов. =)

Реальный реф как концепция и база для магии

Если хотите изобразить телепортацию, почитайте, как ведет себя свет, попадая в черную дыру. Хотите показать интересное движение магической энергии, посмотрите на распространение краски в воде. Хотите обогатить элементами сверхбыстрое движение, посмотрите различные слоу мо, например, выстрел под водой. Вашими примерами могут стать многие процессы из реальной жизни, но достаточно редкие для повседневности. Еще одним неоспоримым плюсом является то, что подобные примеры наглядно показывают прогресс, связь и аффект на окружение, а также обогащают базу в голове. Вы можете комбинировать кусочки этих примеров, достигая новых визуальных решений, но у каждого будет логическое обоснование, а значит достоверность.

Примеры:

Связь и аффект на окружение. Тряска. Свет

Нельзя забывать о связывании вашего эффекта с окружением. Это добавит достоверности происходящему. Если вы создаете взрыв или сильный удар по земле, то добавьте отлетающую пыль и камушки. Если создаете светящийся яркий объект, то добавьте лампочку, которая будет светить на окружение, или большую частицу с Virtual Offset'ом или полусферу, смотрящую на камеру, у которой полигоны на краю плавно уходят в прозрачность. Если удар в кадре достаточно мощный, то потрясите камеру и добавьте круговую волну (shockwave) с дисторшеном, или просто пыльную или световую волну. Если вы рисуете пролитую воду, то добавьте темную подложку, это придаст ощущение, что поверхность намокла и впитала воду.

Разрушение чего-либо воспринимается как негатив, потеря

Это кажется очевидным, но чаще всего ошибка в том, что люди используют этот прием, сами того не желая. Например, один из художников предлагал идею для заклинания, которое поглощает урон. После поглощения дополнительная броня исчезает. Его идея — показать светящийся щит и смачно разломить его на множество кусочков. С одной стороны, это то, что может произойти с этой броней в жизни. Но зритель в пылу сражения увидит у себя над головой еще один жуткий «ба-бах!», и он явно проассоциируется с негативом по отношению к своему аватару. Конечно же, акцент здесь должен быть на том, что щит сдюжил, и урон не прошел, а вот исчезновение элементов эффекта должно быть минорным, так как зрителю эта информация не особо интересна.

Стремительность как агрессия

Вроде тоже очевидно, но ошибка все та же, что и в предыдущей подсказке. В пылу разработки художники забывают, как воспринимается резкая динамика и пихают ее там, где зритель должен воспринимать эффект как лечение или еще что-либо позитивное.

Шаблонное восприятие формы и силуэта

Проверяйте форму отдельных элементов и в какой силуэт они складываются.
Округлая — защита, позитив.
Вытянутая — стремительность.
Угловатая — агрессия.

Шаблонное восприятие динамики

Нельзя забывать, что скорость — вещь относительная, как впрочем и любая составляющая динамики. Хотите показать быстрое движение, тогда вы должны сначала двигать элемент как можно медленнее или в обратном направлении.

Долгая раскачка придает мощность и вес воздействию. Контраст скорости — для усиления впечатления об ускорении. Обратный замах — для увеличения скорости и расстояния удара. Движение внутрь, чаще всего, у зрителя ассоциируется с накоплением, негативом, поглощением. Наружу — с позитивом, переполняющей мощью или энергией. Вверх — с усилением, позитивом, повышением характеристик. Вниз — с ослаблением, понижением характеристик, негативом.

Принцип перебарщивания

Часто в поиске идеального значения требуется подкручивать какой-нибудь параметр множество раз. Это отнимает массу времени. Ситуация ухудшается, если просмотр результата не интерактивен. В этом случае стоит изменить параметр сразу намного, заведомо больше, чем нужно. Одна такая итерация позволит сразу определить границу допустимого и на уточнение параметра потребуется меньше итераций.

Хороший фидбек нужно уметь собирать

Перед созданием эффекта не стесняйтесь рассказать идею своим коллегам или ведущему направления. Покрутите на экране незаконченный эффект пока вы не за компьютером. Возможно, кто-то подкинет вам хорошую идею. Перед сдачей эффекта расскажите изначальную задумку и какими элементами или приемами хотели донести зрителю гейм-механическую составляющую. Расскажите от каких вариантов отказались или чего не получилось добиться и по каким причинам. Это избавит вас от длительного обсуждения различных «велосипедов» или бесполезной траты времени и сделает фидбек более концентрированным.

Дать людям взглянуть на свой арт спустя время

Если прошло множество итераций, и все сроки вышли, но художник так и не смог добиться требуемого качества, то стоит принять задачу как есть и вернутся к ней позже, когда художник прокачает скилл. Он по-другому взглянет на свою старую работу и потратит гораздо меньше времени и нервов на улучшение.

Scrolling UV, типы враппинга

Большинство графических движков позволяют задавать тип враппинга (расчет текстурных координат когда они вне диапазона 0-1) при отрисовке объектов. Чаще всего используется тип тайлинга, то есть повторения текстуры. Но есть и менее популярный, когда для пикселей, выходящих за границы текстурных координат 0-1, берется цвет на границе текстуры.

Это очень полезно, когда нужно что-то проскролить из «неоткуда в никуда» по геометрии. Подобным образом сделано вертикальное пробегание свечения.

Distortion как motion blur

Честный motion blur не всегда доступен. Его можно имитировать distortion'ом, если расположить нормали карты distorton'a по направлению движения.

Motion blur как обобщение

Тут сложно что-либо добавить. Он смазывает детали и, тем самым, обобщает кадр. Как совет вытекающий из предыдущего — можно экономить на деталях во время сильного motion blur.

Noise UV как детализация

Noise UV — это техника использования дополнительной карты нормалей. Текстурные координаты искажаются в зависимости от векторов в этой карте. Про Noise UV можно написать книгу или как минимум отдельную статью. Самая клевая штука, магический трюк наших и не только художников по эффектам. Если у вас еще нет этой опции, срочно просите ее у программистов. =)

Пример вижуала, построенного на материалах с Noise UV и маленькой текстурой 2*128 с вертикальным градиентом. Сразу оговорюсь, я выключил остальные части эффекта для демонстрации Noise UV.

Virtual Offset вместо Soft Particles

Virtual Offset — это смещение геометрии или частицы на камеру без изменения ее размера. Используется для того, чтобы избежать пересечения частицы или геометрии эффекта с геометрией, на которой он проигрывается.

Soft Particles — это плавное уведение частицы или геометрии в прозрачность, когда она пересекает непрозрачную геометрию. Первый подход гораздо экономичнее, старайтесь его использовать вместо Soft Particles.

Additive VS Alpha blending — плюсы и минусы

Additive blending в старых рендерах с LDR (low dinamic range) картинкой позволял делать всяческие volumetric и прочие свечения. В HDR-рендере яркость не ограничена и сделать сверх яркий элемент можно альфа-блендом. Отличия в блендах будут проявляться, если элемент рисуется на светлом фоне, который ярче volumetric-эффекта. Аддитивный бленд любой фон сделает еще ярче, и эффект пропадет. Альфа-блендинг яркий фон будет затемнять, что добавит читаемости эффекту. Минусы у альфа-бленда все те же. Он требует сортировки.

Экономия во всем

Fill Rate — количество отрисованных пикселей на экране за секунду.

  • Чем больше размер частиц относительно экрана, тем больше Fill Rate и тем самым меньше fps. Нужно следить, чтобы частицы и другие полупрозрачные элементы не были отрисованы крупным планом продолжительное время. Чаще всего такая проблема возникает, когда эффект начинает занимать больше четверти кадра. Этого можно избежать следующими способами: не рисовать продолжительно крупные элементы, не допускать чтобы сложные элементы рисовались крупно, либо упрощались, т.е. для ближних Лодов использовался упрощенный Лод с меньшим overdraw, либо эффект при приближении уходил в прозрачность.
  • Для уменьшения Fill Rate не нужно рисовать ненужные/невидимые зрителю пиксели. Если эффект на треть никогда не виден зрителю, то стоит исправить эффект или передвинуть его так, чтобы невидимая часть вообще отсутствовала в эффекте. Нужно следить за эффективным использованием текстурного места. Невидимая часть текстуры, имеющая полную прозрачность в альфе или близкая к нулю все еще отрисовывается и тратит fps в холостую.
  • Значительное количество Fill Rate съедают огромные декали. Например, нам нужно нарисовать контур круга, обозначающий границу АОЕ эффекта радиусом 30 метров. Если рисовать одной декалью такую область, то потребуется огромная текстура и большое количество пикселей в центре области будет иметь прозрачность 0 и видеокарта будет рисовать вхолостую. Для экономии текстурного места и Fill Rate нужно этот круг рисовать несколькими декалями. Каждая декаль выглядит, как небольшая часть окружности, например 1/16 часть. Из таких декалей можно собрать круг. Это правило распространяется и на другие элементы.
  • Иногда можно обменять Fill Rate на частицы. Например, есть желание нарисовать одним партиклом несколько искорок. Это хорошо, экономит партиклы, но если подобный эффект требуется отрисовать крупно, например, в четверть экрана, то количество партиклов становится гораздо менее важным, чем Fill Rate. При крупном плане все прозрачные пиксели на партикле будут тратить fps, а таких пикселей много. В таком случае лучше каждую искорку рисовать отдельным партиклом.

Overdraw — количество отрисованных пикселей в одном месте. Как пример: несколько крупных частиц, отрисованных одна поверх другой. Чем больше этих частиц в кадре, тем меньше fps.

  • Нужно стараться обходится как можно меньшим количеством частиц, которые отрисовываются одна на другой. Это можно добиться, упрощая эффекты или заменяя несколько частиц одной, но с другой текстурой, либо изменяя дизайн эффекта.
  • Используйте систему лодирования.

Текстурное место. На нашем проекте объем памяти, отведенный для текстур эффектов максимум 15 мегабайт. Но сколько бы места не было, его всегда не хватает, поэтому нужно экономить.

  • Нужно следить, чтобы маппинг был эффективным. Незанятого текстурного пространства было как можно меньше.
  • Нужно использовать текстуры как можно меньшего разрешения. Часто в эффектах не требуется качественных текстур, из-за того что эффект показывается в движении или имеет собственную динамику, то есть зритель не успевает заметить лоурезность. Этим нужно пользоваться, то есть чем динамичнее эффект, тем меньшую текстуру можно использовать и наоборот.
  • Можно увеличить детализацию текстуры за счет тайлинга или карт детализации. Также хорошо увеличивает детализацию Noise UV. Но нужно понимать, что карты детализации и Noise UV требует более тяжелого шейдера.
  • Нужно переиспользовать текстуры. Это экономит время на рисовании новых и экономит память под текстуры.

Количество эмиттируемых элементов. Чем их меньше, тем лучше.

  • Для обычного эффекта в среднем мы используем 100-150 частиц. Партиклы гараздо экономнее, чем геометрия. Грубо говоря, один квадратный полигон примерно равен одному партиклу, то есть лучше родить 30 партиклов, чем 1 геометрический объект состоящий из 60 треугольников.
  • Количество эмиттируемых элементов менее важно, чем экономия Fill Rate. Количество частиц начинает быть важно, только если их общее число в кадре приближается к максимальному.

Количество полигонов. Чем их меньше, тем лучше. Чаще всего стоит подумать над оптимизацией когда:

  • эффект небольшой;
  • эффект далеко;
  • эффект кратковременный;
  • эффект видим только с одного ракурса;
  • эффект имеет малую важность для кадра;
  • всегда делайте лоды!

Скрипты — постоянно работающие скрипты понижают fps.

  • Если есть возможность использовать вместо постоянно работающих скриптов скелетную анимацию или запечённую динамику в эффекте, то это стоит сделать.

Decals. Важен fill rate. Нужно избегать ситуации, когда несколько декалей рисуются одна на другой.

На чем еще можно сэкономить?

На всем! В игре все можно померить в объеме занимаемой памяти, Fill Rate и CPU/GPU времени затрачиваемое на отрисовку. Это как раз те ресурсы, за которые стоит бороться. Ведь чем больше мы сэкономим на неважном, тем больше бы сможем показать зрителю важных вещей!

И все-таки, на чем еще можно экономить?

  • На количестве аттрибутов вершин. Чем больше разрывов на маппиге или хард эджей (hard edges), тем больше данных.
  • На количестве костей.
  • На размере текстур и сложности шейдера.
  • На количестве объектов в кадре.
  • На декалях. Если декаль небольшая, то лучше вместо нее использовать квад или частицу.
  • Остающиеся в мире частицы тяжелее, чем не остающиеся.
  • Чем меньше разных материалов в кадре тем лучше. Можно объединять схожие по настройке и часто используемые вместе текстуры в текстурные атласы.
  • Чем меньше полупрозрачных материалов в кадре, тем лучше.
  • Чем меньше теневых источников, тем лучше.
  • Чем меньше источники света, тем лучше.
  • Непрозрачный или dither материал отрисовывается быстрее, чем полупрозрачный.

Правильная культура и мотивация художника по эффектам в команде

Это выдержка из внутреннего документа по эффектам. Надеюсь, она будет полезна и для ваших сотрудников. По крайней мере, она нам сильно помогает.
Если что-то непонятно, неизвестно, забыли — спрашивайте!

  • Отговорки – «Я не знал», «Мне не сказали» не принимаются. Спрашивайте сами! Подходите сами!
  • Проявляйте активность, саморазвивайтесь. Предлагайте идеи, но не забывайте изучать возможности движка и игры.

Прислушивайтесь к советам.

  • Можете просить помощи у любого члена команды.
  • Можете комментировать и вносить предложения в работу любого члена команды.
  • Прислушивайтесь к советам и особенно к ведущим специалистам. В случае неработоспособности их идей шишки повалятся на их головы. В противном случае на ваши.
  • Если вы не согласны, скажите об этом! Обсудите это! Но придерживайтесь правила: «критикуя, предлагай». Не нужно себя пересиливать и делать что-то плохо, либо молча не делать того, что требуется.

Принимайте решения обдуманно. Всегда знайте ответы на вопросы:

  • Позаботился ли я о прототипе? Действительно ли я уверен, что мой дизайн арта реализуем в игре? Требуется ли дополнительный саппорт от других команд?
  • Есть ли готовые эффекты, которые можно зареюзать?
  • Почему я делаю этот элемент арта? Чем он полезен?
  • Действительно ли я трачу больше времени на производство важных для механики вещей и меньше времени на неважные?
  • Сколько мне нужно времени на производство ассета?
  • Могу ли я быть уверенным, что мой ассет будет использован где-либо еще?
  • Может ли кто-нибудь сделать часть моей работы быстрее меня? Возможно есть более подходящий человек для производства геометрии, текстуры, анимации?
  • Если я думаю над проблемой больше 20 мин, значит я что-то делаю не так.

Куда двигаться дальше?

Наша профессия тем и хороша что мы — универсалы. Для нас также полезны книги и уроки из всех областей искусства. Если смотреть глубже, то видно, что корни или так называемая база у всех видов искусства общая — это человеческое восприятие окружающего мира, а это неисчерпаемая тема.

В техническом плане можно и нужно изучать графические популярные API (DirectX, OpenGL). Изучать сторонние движки и программные решения (Unity, UDK, PopcornFx). Читать лекции с тематических конференций (Siggraph, HPG, GDC и т.п.). Разобраться и понять как работают современные графические движки претендующие на звание Physical Based Render (PBR).

Заключение

Движение индустрии вперед идет с постоянным ускорением. Просто делать свою работу хорошо уже недостаточно. Знания будут устаревать очень быстро и качество работы, в сравнении с другими проектами, будет постепенно снижаться. Нужно постоянно развиваться. Информации по эффектам для игр гораздо меньше чем хочется, но я надеюсь, что своей статьей закрыл хотя бы некоторые пробелы. Начинающим советую посмотреть мой доклад для КРИ2009 (ссылка ниже).

Часто встречаемые игровые термины в проекте SkyForge

Caster (кастер) — тот, кто производит заклинание в игре.

Target (таргет) — тот, кто является целью заклинания.

Single Damage атака — атака в одну цель. Чаще всего не цикличный эффект.

АОЕ — атака по площади. Чаще всего не цикличный эффект. Площадь может быть задана кругом, прямоугольником, сектором.

Projectile. Например летящий фаербол или лужа кислоты на земле, наносящая урон. Есть два типа projectile:

  • Механический, например, фаербол, гоняющийся за целью и дамажащий всех на своем пути. Расчет движения на сервере.
  • Клиентский, например, фаербол, летящий в цель, но не причиняющий никаких воздействий пока не долетит до цели.

Эффекты для projectile должны быть цикличными, так как время, которое они существуют, меняется в процессе игры.

Precast-эффект — цикличный эффект вокруг кастера или вокруг частей кастера. Показывает что заклинание подготавливается.

Channel-эффект — цикличный эффект, который в игре будет растянут от кастера до цели. Вижуал внутри эффекта должен быть направлен вдоль одной оси.

Длину channel-эффекта нужно делать такой же как в игре при обычном использовании заклинания. Если в игре чаще всего эффект кастится на цель, расположенную на расстоянии 15 метров, то эффект нужно делать тоже 15 метров.

Полезные ссылки

Slow motion video (замедленная съемка):
http://www.sonicbomb.com/
http://www.artbeats.com/
https://www.youtube.com/user/theslowmoguys
https://www.youtube.com/user/FPSRussia
https://www.youtube.com/user/ratedrr

Vfx channel. Уроки по эффектам для игр для Unreal Engine и CryEngine
Лекции с конференции Siggraph
Про PBR рекомендую вводную статью 2006 года Нати Хофмана

William Kladis. Realtime VFX in Games — Reel 2013 (Injustice: Gods Among Us)
Cedric Humeau. VFX Reel 2012 (Ghost Recon Future Soldier)

Mark Eaton. VFX Reel 2013
Mark Eaton. VFX Reel 2012
Работал над Borderlands, Mass Effect 2, TRON: Evolution, Halo 4, Borderlands 2, Guardians of Middle-earth, Batman:Arkham Origins и многими другими играми

Peter Clark (GRiD, DiRT Showdown)
Doug Holder (Uncharted 3, Last of Us) блог dougvfx.blogspot.ru/
Mark Wood vfx reel 2014 (inFAMOUS: Second Son, F.E.A.R. 2: Project Origin, Condemned 2: Bloodshot, Gotham City Impostors, and Halo 4)
KEVIN HART FX REEL 2012-2013 (Halo 4, Destiny)
Klemen Lozar
Fabio M. Silva. Ryse FX Reel

Книги

Elemental Magic, Volume I: The Art of Special Effects Animation
Elemental Magic, Volume II: The Technique of Special Effects Animation
Автор Joseph Gilland.

Предыдущие публикации

Доклад 2009 года на КРИ. Если скачать, то можно почитать комментарии к слайдам.

Автор: parallelno

Источник

* - обязательные к заполнению поля