Я буду работать с моими друзьями над нашим последним проектом. Наша игра будет FPS, и мне нужно нарисовать некоторые анимации для FPS и других вражеских персонажей, которые можно легко запрограммировать, чтобы сделать хорошую игру.
Я хотел бы знать, как игровые персонажи сделаны подвижными? Какое программное обеспечение и движки используются для этих персонажей?
Ответы:
Игровые персонажи обычно анимируются с использованием техники скелетной анимации : (Источник изображения: Valve Software )
Каждая 3d модель имеет невидимую структуру кости (красные и бирюзовые линии на изображении выше). Каждый многоугольник модели связан с костью. Когда вы определяете последовательность движения, вы определяете ее как последовательность вращений костей вокруг их соединений с другими костями. Когда кость движется, связанные с ней многоугольники движутся вместе с ней. Это позволяет определять последовательности движения без необходимости изменять положение каждого отдельного многоугольника. Когда несколько персонажей имеют одинаковую структуру кости, они также могут использовать одни и те же анимации, поэтому вам не нужно заново создавать каждую анимацию для каждого персонажа (хотя вы можете захотеть сделать некоторые анимации разными для персонажей разных полов, типов личности и уровней физической подготовки).
Большинство программ 3D-моделирования поддерживает скелетную анимацию и имеют экспортные форматы, которые читаются широко используемыми 3D-движками. Пожалуйста, не спрашивайте рекомендации по продукту здесь, потому что они не по теме.
Однако позволить художнику создавать анимацию с нуля не всегда приводит к лучшим результатам. Трудно воссоздать все тонкие нюансы языка тела человека по памяти, поэтому результаты часто выглядят роботизированными и неестественными. Вот почему большие игровые студии, у которых есть ресурсы, используют процесс, называемый Motion Capturing .
Человеческие актеры нанимаются, чтобы воспроизвести действия игровых персонажей. Во время спектакля актеры носят специальные костюмы, на которых нанесены хорошо заметные следы. Когда они записываются видеокамерой во время принятия, движение этих меток может быть сопоставлено с костями 3D-моделей персонажей. Таким образом, движения актеров могут быть применены к любой 3d модели, которая использует ту же структуру кости. Этот метод обычно приводит к гораздо более естественным результатам, и когда требуется создать большое количество анимаций, он также может значительно сэкономить время. (Источник изображения: Toptear Games )
Однако стоимость оборудования, необходимого для захвата движения, вероятно, намного превысит ваш бюджет, поэтому вам придется прибегнуть к определению скелетной анимации вручную в программе трехмерного моделирования.
источник
На самом деле, ответ Филиппа довольно хороший, но упускает важный момент.
Некоторые игры (наиболее заметные примеры - Quake / Q2) вообще не использовали скелетную анимацию - вместо этого они прибегали к анимации вершин (то есть, анимировали положение вершин в сетке). На самом деле поддерживать код намного проще, хотя для больших проектов это обычно не так (но все же многие игры были созданы таким образом *).
Для подробностей смотрите, например,
https://en.wikipedia.org/wiki/MD2_(file_format)
Кроме того, это был стандартный способ определения анимации во Flash, 3D Studio и 3DSmax в прежние времена (хотя после реализации скелетной анимации он прекратил быть таким). Я думаю, что для простых игр основанная на кадрах интерполяция вершин по-прежнему является самым простым (с точки зрения как кода, так и моделирования) способом начать работу.
источник
Ответ Филиппа верен, но стоит добавить, что существуют (относительно) недорогие решения для захвата движения без маркеров , в которых используются датчики, обычно встречающиеся дома, такие как набор веб-камер, датчики Microsoft Kinect или Sony PS Eyes. Они обычно не выводят анимации производственного качества (в большинстве случаев можно ожидать посредственную точность и дрожание), но у вас будет правильное время, и если вы захотите провести некоторую очистку и некоторую подстройку, это сэкономить много времени по сравнению с ручной анимацией скелета (или непосредственно сетки).
Кроме того, есть Mixamo , сервис, который продает готовые анимации для обычных скелетных сеток. Если я правильно помню, они дают количество анимаций бесплатно, в целях оценки.
источник