Почему больше игр не используют векторное искусство? [закрыто]

84

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

Вопросы: почему больше людей не используют SVG / AI для создания 2D-игр? Будет ли это на самом деле предпочтительным (и кто предпочитает это)? Является ли растровая графика стандартом или ограничением (или, возможно, ни тем, ни другим)?

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

Я думаю, это больше вопрос прагматизма и разработки игр.

Parris
источник
1
Вероятно, это связано с тем, как графические процессоры и аппаратное обеспечение эффективно работают с растровыми изображениями определенного размера , такими как 256x256 (или степенью двойки в целом).
ashes999
4
В большинстве случаев я находил интересующие меня вопросы «основанными на мнении», и они «закрыты». Жаль!
Джо Хуанг
Векторные игры более эффективны, пиксельные игры более элегантны. Я предпочитаю пиксельную графику, а не векторную, только потому, что могу оценить усилия, затраченные на их создание, и то, что они четкие и привлекательные. Векторные игры быстрее создаются и удобнее для камер. Как только пиксельная графика растягивается или сжимается, она перестает восприниматься так, как задумано, и с таким же успехом могла быть векторной графикой. Для меня векторное искусство размыто и разочаровывает.
Дмитрий
Например, речь идет не только о играх, но и о комиксах: растровая графика обычно используется в Photoshop чаще, чем в Illustrator. Трудно нарисовать тонкие градации цвета, смешать пиксели, смягчить края и т. Д. Очень точно, используя векторную графику. Вы не можете размазать пиксели вокруг так легко, как рисовать на холсте с векторной графикой. Они, как правило, довольно четкие - подходят для определенных стилей мультфильмов, но не настолько, чтобы рисовать тонкие округления форм, мягкие тени, сфумато и т. Д.

Ответы:

58

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

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

Кстати, масштабируемость на самом деле тоже не проблема для растровой графики, рисование в 10-кратном разрешении не так уж важно, как рисование в том разрешении, которое будет отображаться. Что-то, что делается довольно много в наши дни (часто рекламируется как «HD-графика»).

API-Beast
источник
аааа это имеет смысл!
Пэррис
1
@ Mr.Beast Я знаю, что на этот вопрос ответили некоторое время назад, но что означает рисование в разрешении 10x?
bitbitbot
@bitbitbot Если ваш спрайт обычно отображается с разрешением 20x20 пикселей, нарисуйте его с разрешением 200x200 пикселей. Таким образом, при увеличении изображение будет оставаться четким. Не нужно быть более подробным, просто чтобы оно не выглядело неравномерно.
API-Beast
1
-1 Я думаю, что это в основном связано с историей игр, которые начинались со спрайтов с рендерингом пикселей только для повышения производительности. Вы должны иметь в виду, что обработка векторов намного более жадна к процессору, чем простые растеризованные массивы, в то время это решение было просто невозможно с текущими процессорами. Это также не так просто, как может показаться на первый взгляд за пределами векторов, например, игровой движок становится намного хитрее, когда дело доходит до обработки векторов вместо обычных сырых спрайтов. В настоящее время просто чтобы напомнить вам, что большинство игр используют 3D-контент, и степень детализации просто поражает.
user14170
39

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

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

Однако эта проблема зависит от того, говорите ли вы об использовании векторной графики в реальном времени в игре, или если вы говорите о художниках, рисующих в Illustrator, а затем об экспорте в растровые форматы, такие как png.

jhocking
источник
1
Полагаю, я в первую очередь думал о рендеринге векторной графики в реальном времени; однако их растеризация может иметь смысл. Я думаю, что на данный момент нет большой разницы, чем просто использование инструмента растровой графики.
Пэррис
3
Векторная графика не всегда более эффективна для хранения - в общем, по мере увеличения детализации изображения увеличивается и сложность его представления в виде векторного изображения. Обычно наступает момент, когда детальное изображение на самом деле будет более компактным в растровой форме, чем в векторной форме - я полагаю, что большинство текстур попадают в эту категорию, и это хорошая причина, почему растры используются больше, чем векторы.
Mac
7
@Parris рендеринга векторной графики в режиме реального времени будет растеризация их; буфер кадра сам по себе является растровым массивом, поэтому в какой-то момент процесса - будь то в конвейере инструментов, в вашем движке или в драйверах под вашим движком - векторная графика будет преобразована в растр, и это преобразование собирается занять некоторое время. Не обязательно много времени - но немалая сумма.
Стивен Стадницки
1
@ StevenStadnicki да, это правда! Я полагаю, что делать это раньше, это почти оптимизация.
Пэррис
17

Фактически, существует множество 2D-игр, которые используют то, что составляет векторное искусство; Например, «Призрачный трюк» Capcom: Phantom Detective генерирует персонажей в движке как векторную графику. (Чтобы быть более точным, я полагаю, что они даны как плоские многоугольные области, которые в этом случае равны). В более широком смысле, полигональные модели в целом можно рассматривать как данные «вектор» - они представляют собой вершину, ребро и грань объекта - в отличие от (разрешения экрана) «растровых» данных, так что в некотором смысле наиболее 3d игры являются используя векторизованные описания данных.

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

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

Стивен Стадницки
источник
7

Я считаю, что это в основном сочетание традиций, инструментов, технологий и ожиданий, которые все связаны друг с другом.

  • традиция - растровая графика была самым простым способом визуализации детальных изображений для большей части истории разработки игр, и поэтому этот способ работы закрепился среди программистов и художников, начиная с того времени, когда художники даже широко вовлекались в игры. Существующий код вращается вокруг растровых изображений, а существующие художники научились работать с растровыми изображениями. И это всегда дорого переучивать и перепрограммировать.
  • инструменты и технологии - художники, как правило, начинают с растровой графики и инструментов для редактирования фотографий по умолчанию, возможно, потому, что они больше похожи на традиционные медиа, но какой бы ни была причина, в результате хорошие векторные редакторы встречаются реже и менее известны, чем хорошие растровые редакторы. Плюс лишь относительно недавно технология рендеринга векторов была достаточно быстрой для игр - разработчики, использующие Flash для игр, до недавнего времени обычно использовали растровый интерфейс, а технологии типа Canvas / SVG также относительно новы с точки зрения эффективной поддержки. Кроме того, на самом деле не существует доминирующей библиотеки рендеринга векторов (которую я знаю), которую люди могут широко использовать, по сравнению с альтернативами, такими как SDL, XNA, pygame и т. Д., Поэтому программисты не считают это очень жизнеспособным путем. Но это' программисты не обязательно применяют это на художниках - обычно художникам гораздо удобнее редактировать растровые изображения. (В конце концов, художники не всегда графические дизайнеры.)
  • ожидания - по мере развития технологий игроки постоянно ожидают все более реалистичных игр. Это могло быть вызвано самими игроками, или издателями и маркетологами, или производителями оборудования, стремящимися продавать видеокарты, или экспертами, которые думают, что игры - это в основном интерактивные фильмы, или некоторая комбинация вышеперечисленного. Но независимо от того, кто это вызвал, это является фактором, и поэтому рынок обычно движется к реалистичной графике. Векторы плохо подходят для реалистичной графики, поэтому лишь относительно недавно, когда графика сходится на фотореализме и, таким образом, теряет индивидуальность, наблюдается возрождение в стилизованной графике и интерес к различным стилям представления, таким как векторное искусство.

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

Kylotan
источник
5

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

Проверьте мой блог: http://2dgameartforprogrammers.blogspot.com.au/

Полезно начать с самого начала и сначала прочитать предыдущие уроки. :)

SpriteAttack
источник
2

Некоторое время назад я прочитал статью под названием « Дизайн иконок: растровое изображение против вектора», в которой показана четкость деталей, которые теряются при масштабировании векторного изображения. Дело не в том, что происходит потеря, а в том, что он может быть точно настроен как растровое изображение.

Посмотрите на этот пример значка принтера (в каждом случае обведенное кружком изображение является основным):

введите описание изображения здесь

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

PhilJ
источник
10
-1. Вы сравниваете яблоки и апельсины здесь. Вы говорите, что растровое изображение лучше, потому что вы можете добавить больше деталей. Вы также можете создать значок векторной графики для каждого размера значка (с соответствующими деталями, шириной обводки и т. Д.), И это будет работать точно так же. Ясно, что масштабирование векторной графики волшебным образом не добавит больше деталей ... но увеличение растрового изображения приведет к еще худшему качеству.
bummzack
4
«С таким же успехом можно создать значок векторной графики для каждого размера значка». Как создание множества векторных, так и растровых изображений создает больше работы. Я хотел сказать, что было бы хорошо, если бы вы могли создать одно огромное векторное изображение со всеми деталями, которые можно было бы уменьшить для всех размеров. В статье показано, что, к сожалению, это не так просто при любых обстоятельствах.
PhilJ
@PhilJ это то, что я думал. Добавляя все детали, которые вы хотите, затем уменьшайте их, если это необходимо, но это не будет странным, если вы также увеличите масштаб.
Пэррис
2

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

Ниже приведен пример анимируемого персонажа, созданного в AI, с 13 движущимися частями. Было бы здорово использовать это, но мы должны были тщательно разместить каждую часть внутри своего отдельного изображения. Единственным преимуществом было то, что у нас были эти активы, готовые к масштабированию для любого маркетингового искусства.

Пример векторного персонажа для анимации

Другая причина, по которой он не может быть более популярным, заключается в том, что формат EPS имеет другие стандарты, чем AI. Таким образом, все художники, использующие колокольчики и свистки, которые любят вставлять в свои изображения, теряют силу при преобразовании в EPS.

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

Брайан Джеймс
источник
1

Я не могу говорить за всех, но из моего личного опыта программы векторного искусства (читай: Inkscape, единственная, которую я пробовал) труднее использовать и не так интуитивно понятны, как программы для растровой графики. Все понимают кисть и ведро. Кривые сложнее.

tesselode
источник