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

10

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

  1. Ходьба или движение по неровной местности
  2. Боевое взаимодействие, боевая физика и столкновения
  3. Прикрепление жестких предметов к персонажу и их итерациям в мире физики
  4. Мягкая динамика тела, такая как волосы, растительность, одежда и ткань в соответствии с анимацией и повторениями.
Горький
источник

Ответы:

6

Хотя может показаться, что это 3D, игры «взломай и разреши» (например, Diablo) на самом деле являются 2D играми. Часто компоненты (спрайты) создаются в инструменте трехмерного моделирования, но только реальные рендеры спрайтов используются в реальной игре. Этот тип игры, как правило, гораздо больше касается взаимодействия с данными (карта, игрок, сокровища и монстры), чем о визуальном представлении.

2D-игры, как правило, не используют динамическую анимацию (скелеты и деформации). Вместо этого, анимации часто создаются в 3D-пакете и сохраняются в виде библиотеки изображений. Затем спрайт имеет таблицу поиска изображений (либо хранится в виде одного массивного листа спрайта, либо в виде серии отдельных изображений). Во время фазы анимации игры спрайт определяет, какое изображение отображать, основываясь на текущем состоянии спрайта. Например, у меня есть анимация коровы (http://www.aharrisbooks.net/pythonGame/ch08/cow.py), которая идет в восьми направлениях. Каждое направление - это анимация из десяти кадров.

(больше примеров в Python на http://wwww.aharrisbooks.net/pythonGame )

Пример программы проверяет направление и кадр, а затем отображает соответствующее изображение. Мой пример написан на Python, но язык не важен; идея остается прежней.

Визуальные аспекты нахождения в разных состояниях (бой, раненый и т. Д.) Будут обрабатываться простым добавлением большего количества анимаций в стек.

Однако более сложными аспектами этих вещей являются аспекты данных. Например, как управляется местность. Вероятно, я бы использовал вариант алгоритма A *, чтобы выбрать путь между тем, где находится спрайт, и тем местом, куда он хочет пойти, и я бы добавил некоторый вес к каждому узлу, чтобы изобразить сложность этой местности. (дороги будут иметь очень легкий вес, горы и океаны будут очень «тяжелыми»)

Я, вероятно, не стал бы беспокоиться о динамике мягкого тела в 2D-движке. Это можно добавить позже, но это не является ключом к функционированию игры.

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

Удачи тебе....

Два пи
источник
Во-первых, вы абсолютно правы в динамике и деталях игры, которые имеют значение в хакерских и слэш-играх. И для примера Diablo это правда. Я знаю, что концепция спрайтов одинакова для многих h & s, frp и mmorpg-игр на основе тайлов, таких как ultima online. Но что мне было интересно, так это движения в стиле варкрафт. Если вы увеличите масштаб достаточно, чтобы увидеть ноги существ, вы увидите, что могут быть наклонные плитки, и в то время как одна нога существа находится на более высокой земле, другая может быть на нижней и без столкновений. Может быть, взломать и косая черта не правильное слово для моего вопроса.
Горький
Я слышал, что есть инструмент / метод для извлечения информации о мешах / объектах из файлов игры WoW. Интересно, может ли это пролить свет?
Кара Марфия