Morph target animation , per-vertex animation , shape interpolation , shape keys или blend shapes [1] — это метод 3D- компьютерной анимации, используемый вместе с такими методами, как скелетная анимация . В morph target animation «деформированная» версия сетки хранится в виде ряда позиций вершин . В каждом ключевом кадре анимации вершины затем интерполируются между этими сохраненными позициями.
«Цель морфинга» — это деформированная версия формы. Например, при применении к человеческому лицу голова сначала моделируется с нейтральным выражением, а затем для каждого другого выражения создается «целевая деформация». Когда лицо анимируется, аниматор может затем плавно трансформировать (или «смешивать») между базовой формой и одной или несколькими целями морфинга. [2] Типичные примеры целей морфинга, используемых в анимации лица, — улыбающийся рот, закрытый глаз и поднятая бровь. Ранние 3D-видеоигры, такие как Quake [3] и Crash Bandicoot, используют повершинную анимацию для всех анимаций персонажей.
При использовании для лицевой анимации эти целевые морфы часто называют «ключевыми позами». Интерполяции между ключевыми позами при визуализации анимации обычно представляют собой небольшие и простые преобразования движения, вращения и масштабирования, выполняемые 3D-программным обеспечением. [1]
Не все анимации morph target должны быть сделаны путем фактического редактирования позиций вершин. Также возможно взять позиции вершин, найденные в скелетной анимации, а затем использовать их, отрендеренные как анимация morph target.
Анимацию, созданную в одном наборе 3D-приложений, иногда необходимо перенести в другой, например, для рендеринга. Поскольку разные 3D-приложения, как правило, по-разному реализуют кости и другие специальные эффекты, для переноса анимаций между 3D-приложениями иногда используется метод morph target, чтобы избежать проблем с экспортом.
Использование анимации morph target имеет свои преимущества по сравнению со скелетной анимацией . Художник имеет больше контроля над движениями, поскольку может определять отдельные положения вершин в ключевом кадре, а не ограничиваться скелетами. Это может быть полезно для анимации ткани, кожи и выражений лица, поскольку может быть сложно согласовать эти вещи с костями, которые требуются для скелетной анимации.
Однако есть и недостатки. Вершинная анимация обычно намного более трудоемка, чем скелетная анимация, потому что каждая позиция вершины должна быть вручную обработана, и по этой причине количество готовых целевых морфов обычно ограничено. [1] Кроме того, в методах рендеринга, где вершины перемещаются из позиции в позицию в промежутках между кадрами , создается искажение, которое не происходит при использовании скелетной анимации. Критики техники описывают это как выглядящее «шатким» [ требуется цитата ] . С другой стороны, это искажение может быть частью желаемого «вида».
Для больших моделей анимация вершин требует значительного объема памяти и хранилища, поскольку положение каждой измененной вершины должно сохраняться для каждого кадра. Напротив, скелетная анимация требует только хранения преобразований костей для каждого кадра.