Как анимируются игровые персонажи? [закрыто]

10

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

Я хотел бы знать, как игровые персонажи сделаны подвижными? Какое программное обеспечение и движки используются для этих персонажей?

Ahmed
источник
Это дубликат? Если это так, я проголосую за закрытие, но в противном случае для этого сайта, вероятно, будет хорошей идеей один раз ответить на этот основной вопрос.
Джоккинг
1
Сначала я искал об этом, затем задал этот вопрос :-)
Ахмед
Вы имеете в виду 2D или 3D персонажей? Персонажи, у которых есть скелет или аморфные капли? Вы ищете автономные результаты или интеграцию с физическим движком? Это может быть хороший вопрос, но на данный момент полный ответ будет заполнен несколькими книгами.
Анко

Ответы:

18

Игровые персонажи обычно анимируются с использованием техники скелетной анимации : введите описание изображения здесь (Источник изображения: Valve Software )

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

Большинство программ 3D-моделирования поддерживает скелетную анимацию и имеют экспортные форматы, которые читаются широко используемыми 3D-движками. Пожалуйста, не спрашивайте рекомендации по продукту здесь, потому что они не по теме.

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

Человеческие актеры нанимаются, чтобы воспроизвести действия игровых персонажей. Во время спектакля актеры носят специальные костюмы, на которых нанесены хорошо заметные следы. Когда они записываются видеокамерой во время принятия, движение этих меток может быть сопоставлено с костями 3D-моделей персонажей. Таким образом, движения актеров могут быть применены к любой 3d модели, которая использует ту же структуру кости. Этот метод обычно приводит к гораздо более естественным результатам, и когда требуется создать большое количество анимаций, он также может значительно сэкономить время. введите описание изображения здесь (Источник изображения: Toptear Games )

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

Philipp
источник
1
Хороший ответ. Но , может быть , вы могли бы отметить , что это , на самом деле, низкие методы Захват движения стоимости, с использованием компьютерных камер (веб - камеры, Kinects или PS Eyes). Существуют также сервисы, которые продают многократно используемые анимации для стандартных скелетных сеток.
TC
1
@TheodorosChatzigiannakis Я не очень хорошо осведомлен ни в одной области. Может быть, вы хотели бы уточнить собственный ответ?
Филипп
«Разрешение художнику создавать анимацию с нуля не всегда приводит к лучшим результатам». Утверждать, что захват движений по своей природе лучше, чем ручная анимация, все равно, что утверждать, что фотография по своей сути лучше, чем рисование на холсте. И ручная анимация, и mo-cap - это разные художественные приемы, используемые для разных целей, и компетентные художники в каждой технике обеспечат отличные результаты. Если ваши художники по движению не могут делать хорошую ручную анимацию, тогда, возможно, вам следует найти более хороших художников ...
Panda Pajama
2
Я работал с кучей первоклассных 3D-аниматоров, и большинство из них предпочитают анимировать вещи вручную, чем с помощью mo-cap, поскольку они имеют гораздо больший контроль над выражениями в анимации, которую они делают, и у них гораздо больше свободы над тем, что персонажи могут делать по сравнению с тем, что может делать человеческое тело. Однако, когда репликация определенного движения человека является критически важной (например, в спортивных играх ААА с участием реальных игроков), mo-cap совершенно необходим.
Панда Пижама
Вы можете добавить, что рекомендации по программному обеспечению можно задать в рекомендациях по программному обеспечению StackExchange.
Рамчандра Апте
3

На самом деле, ответ Филиппа довольно хороший, но упускает важный момент.

Некоторые игры (наиболее заметные примеры - Quake / Q2) вообще не использовали скелетную анимацию - вместо этого они прибегали к анимации вершин (то есть, анимировали положение вершин в сетке). На самом деле поддерживать код намного проще, хотя для больших проектов это обычно не так (но все же многие игры были созданы таким образом *).

Для подробностей смотрите, например,

https://en.wikipedia.org/wiki/MD2_(file_format)

Кроме того, это был стандартный способ определения анимации во Flash, 3D Studio и 3DSmax в прежние времена (хотя после реализации скелетной анимации он прекратил быть таким). Я думаю, что для простых игр основанная на кадрах интерполяция вершин по-прежнему является самым простым (с точки зрения как кода, так и моделирования) способом начать работу.

user1306322
источник
Действительно, но большинство движков (я понимаю, что это общий вопрос) изначально поддерживают скелетную анимацию, и, по крайней мере, на мой взгляд, их
гораздо
1
Это не столько и / или столько, сколько историческая заметка. Игры раньше делали это, но они больше не делают. Пока мы делаем исторические заметки, до того, как игровые движки поддерживали анимацию вершин, они делали иерархическую анимацию (например, N64 / PS1)
jhocking
Также описание этого как «основанного на ключевом кадре» очень вводит в заблуждение, так как скелетная анимация также использует ключевые кадры. Я отредактирую это как "анимация вершины".
Джокинг
@jhocking / согласен, особенно с иерархической анимацией; и да, вершина анимации на самом деле термин здесь. И да, новые игры больше не делают этого.
@ Kroltan Как я уже сказал, для простых игр без реального движка скелетной анимации это может быть лучшим вариантом. Я вручную закодировал и вершинную анимацию, и скелетную анимацию для своего физического проекта в OpenGL пару лет назад - и, поверьте мне, я смог закодировать анимацию вершин примерно за один час, в то время как скелеты заняли у меня пару дней. Если вы используете специальный движок (например, Ogre), то скелет является очевидным способом.
1

Ответ Филиппа верен, но стоит добавить, что существуют (относительно) недорогие решения для захвата движения без маркеров , в которых используются датчики, обычно встречающиеся дома, такие как набор веб-камер, датчики Microsoft Kinect или Sony PS Eyes. Они обычно не выводят анимации производственного качества (в большинстве случаев можно ожидать посредственную точность и дрожание), но у вас будет правильное время, и если вы захотите провести некоторую очистку и некоторую подстройку, это сэкономить много времени по сравнению с ручной анимацией скелета (или непосредственно сетки).

Кроме того, есть Mixamo , сервис, который продает готовые анимации для обычных скелетных сеток. Если я правильно помню, они дают количество анимаций бесплатно, в целях оценки.

TC
источник
1
Я хотел бы добавить, что университетская лаборатория MOCAP здесь фактически заменила все их дорогое (несколько лет) оборудование на решение без маркера на основе кинекта, что дало лучшие результаты. Конечно, без маркера не может конкурировать с первоклассным оборудованием. Но Kinect чертовски хорош (особенно если принять во внимание цену) для подобных вещей.
Рой Т.