В разделе кредитов игр, в которые я играю, есть имена графических программистов . Если они использовали игровой движок, зачем им графический программист ? Разве игровой движок не выполняет свою работу?
В разделе кредитов игр, в которые я играю, есть имена графических программистов . Если они использовали игровой движок, зачем им графический программист ? Разве игровой движок не выполняет свою работу?
Ответы:
Даже с помощью движка отображение чего-либо на экране так, как вам нужно, не всегда тривиально. Там будет много случаев, когда кто-то со знаниями в области программирования требуется для правильного отображения графики. Эти люди могут называться графическими программистами в титрах (графический программист не является сертифицированным или защищенным названием, и разница между различными названиями может сильно различаться в зависимости от компании).
Давайте приведем конкретный пример. Нам нужен анимированный вращающийся круг, как показано ниже:
Некоторые из наших вариантов:
1 Поставьте кружок на рекламный щит, напишите скрипт для поворота рекламного щита.
2 Используйте анимированный GIF в качестве источника.
3 Делайте все это в шейдере, который позволяет 2 различных варианта:
В 1. Кто-то должен написать этот сценарий, что является некоторой программной задачей, связанной с графикой. Для 2. нам не нужен программист, если движок - как и большинство - не поддерживает импорт анимированных GIF-файлов, и в этом случае кому-то нужно запрограммировать эту часть. В 3. кто-то должен программировать шейдер, которым может быть художник или программист.
РЕДАКТИРОВАТЬ, чтобы решить downvotes:
Понятно, что отрицательные последствия заключаются в том, что эффект слишком прост и, следовательно, не будет реализован «настоящим» графическим программистом. Я на самом деле не знаю, кем еще это будет реализовано, если в команде будет выделенный графический программист, и я иногда реализую такие эффекты вращения в шейдерах - хотя обычно вращение является лишь частью большего целого, как в этот пример .
Игровые движки похожи на кухни, а разработчики (то есть программисты) похожи на поваров.
Игровые движки предлагают возможности, в то время как программисты используют эти возможности для нужд игры.
Таким образом, игровые компании нуждаются в графических программистах, чтобы адаптировать графические возможности движка к потребностям игры.
Если бы игровой движок управлял всем без какой-либо настройки, все игры, созданные этим движком, выглядели бы так, как будто они вышли из одной и той же формы: художники могут создавать разные 3D-модели и 2D-рисунки, приспособленные к видению дизайнеров, но внутриигровая настройка для этой графики будет ограничена тем, что движок предлагает из коробки.
Обратите внимание, что, хотя они позволяют вам изменять используемый стиль, некоторые игровые движки не дают возможности адаптировать другие графические аспекты к потребностям игры. Я думаю, что RPG Maker был таким: он позволял вам менять искусство, но вы были ограничены с точки зрения того, как вы могли бы настроить свою игру, чтобы придать ей особый вид. Это могло измениться за последние годы, так как я некоторое время не касался этого программного обеспечения.
Конкретное значение большинства игр в игровой индустрии сильно различается от студии к студии, так что имейте это в виду. То, что представляет собой «графическое программирование» в одной студии, на самом деле может означать просто настройку шейдеров или материалов, тогда как в другой студии это может означать выполнение работы по оптимизации низкого уровня рядом с базовым графическим API, и так далее.
Тем не менее, в более крупных студиях относительно редко берут какое-то промежуточное программное обеспечение для движка и используют его без каких-либо изменений. В большинстве случаев необходимо будет настроить конкретные аспекты движка, потому что он не совсем соответствует требованиям, или потому что в этой версии есть ошибка, и компания пока не может перейти на более новую версию, которая может исправить ошибку, и т. Д. так далее.
Графика является одной из таких областей, где люди, как правило, делают небольшие изменения. Это может не включать переписывание использования Direct3D или аналогичного в движке, но может по-прежнему включать работу по настройке или оптимизации шейдеров, улучшению управления графическими ресурсами для лучшего учета профилей использования конкретной игры, добавлению новых функций или опций рендеринга, оптимизации конвейер графических активов, чтобы лучше соответствовать рабочему процессу студии, и так далее.
Кроме того, во многих случаях студия может захотеть интегрировать дополнительное связующее программное обеспечение, связанное с графикой. Существуют промежуточные пакеты, такие как Granite, Enlighten и TrueSky, которые предлагают различные графические функции (потоковая передача текстур, глобальное освещение, моделирование и рендеринг неба и т. Д.). Все эти промежуточные пакеты интегрируются с Unreal, но для их интеграции требуется работа. Некоторые из них могут конфликтовать друг с другом или нуждаться в тонкой настройке, чтобы хорошо работать вместе, поскольку все они разработаны разными компаниями. Графические программисты, вероятно, также будут вовлечены в такую работу.
Вы можете поставлять игры без графического программиста довольно легко в настоящее время из-за всех движков. То, для чего вам обычно нужен графический программист, это такие вещи, как
оптимизация
Программист графики знает и / или узнает, как работает конкретный движок, и сможет руководить художниками, модифицировать материалы или модели слияния или использовать другие методы и т. Д., Чтобы получить лучшую производительность от движка.
понимание и обучение
Художник хочет добиться определенного эффекта. Графический программист, который понимает, как работает движок, может объяснить, как добиться этого эффекта.
настройки и эффекты
Некоторые эффекты могут потребовать программирования. Большая часть рендеринга Bound - обычай.
Это ничем не отличается от фильмов. С сотнями программистов, большим бюджетом и плохим написанием вы можете получить Star Wars: The Phantom Menace. Без программистов и хорошего написания вы можете получить Primer. Программисты (или другие технические люди) могут разрешать новые вещи. Программисты принесли CG mud в Шрек, CG hair в Monsters Inc, Bullet Time в The Matrix и т. Д. Но фильмы сами по себе не об эффектах, и вполне возможно сделать потрясающие фильмы без эффектов или новых пользовательских технологий.
То же самое более или менее верно для игр сейчас. Программисты графики могут использовать жидкости в Pixel Junk Shooter или во всей динамической геометрии Bound, но можно создать множество игр со стандартным движком и без графических программистов.
Часто игровые движки не удовлетворяют 100% требований и спецификаций игрового проекта. Это особенно актуально для игр с тройным А, которые всегда расширяют границы игровых технологий. Если какая-то графическая часть игрового движка не совпадает с тем, что художники и дизайнеры хотят достичь «из коробки», они могут нанять графического программиста / специалиста, который поможет им выяснить, возможно ли их ожидание, и если это так, как этого добиться. Это может включать в себя настройку шейдерных / художественных ресурсов, или переработку частей рендеринга, или даже использование промежуточного программного обеспечения. Или их комбинация.
Большинство стандартных методов будут реализованы в любом приличном коммерческом движке, таком как FXAA, освещение, затенение cel, нормальное отображение и т. Д., Но не во всех.
В том случае, если игровой дизайнер указал, что определенный эффект должен произойти, вы либо создаете его из того, что уже есть, либо кодируете новый шейдер, либо модифицируете графический движок, чтобы разрешить его. В обоих случаях требуется графический программист.
Определите движок, затем определите графический движок. Если вы используете существующий движок для создания игры, это не то же самое, что писать игру с нуля в коде. Если с помощью кода можно определить, что такое графика или движок, не имеет значения, как вы это называете, если ваш код сильный. Создание игр в указанном движке, его ограничениях и / или сильных сторонах основано исключительно на способности программиста. Использование чего-то вроде Unity или даже Unreal или любого другого профессионального движка не определяет ваших способностей, игровые движки - это просто абстракция, написанная в чистом C ++. Например, вы можете нанять программистов, черт возьми, даже художников, но вы будете ограничены видением или ограничениями движка. Так что лучше кодировать с нуля, чем использовать уже существующее. Проблема в том, что ты выиграл Я не уверен, что многие люди даже удосужились написать код для игры, не говоря уже о завершении 2d проекта. Я просто немного откладываю, это означает, что не так много самоотверженных ответов объясняют это. Лучший способ - учиться и практиковаться!