Анимация в Unreal Engine 5: быстрый гайд и практические советы
Что в UE5 важно для анимации- Control Rig — авторинг и правки рига прямо в UE.
- IK Retargeter/Retarget Pose — современный ретаргет между скелетами.
- Full Body IK, Two Bone IK — стойкая IK для рук/ног.
- Animation Blueprint, State Machine, Blend Spaces — логика состояний и плавные переходы.
- Anim Montage, Notifies — боевые/контекстные клипы и события.
- Motion Warping — “приварпить” рут-мошн к цели (прыжки, финишеры).
- Sequencer — кат-сцены и синхронизация с камерой/светом.
- Chaos Cloth, Physical Animation, Ragdoll — физика, тряска, бленд из/в рагдолл.
- MetaHuman + ARKit/Live Link — лицо, липсинк, мимика.
- Pose Search/Motion Matching (Lyra) — плавные переходы без огромных FSM.
Базовый пайплайн1. DCC (Maya/Blender)- Чистая иерархия, единый скелет для всего набора клипов.
- Единицы: в UE — сантиметры (Z-up). Следите за масштабом: рост персонажа в UE ≈ реальный (например, 180 см).
- Анимируйте “in-place” или с рутом — осознанно, заранее выберите подход.
- FBX 2018/2019, bake anim, удалите лишние кривые/constraints.
2. Импорт в UE- Создайте Skeleton Asset и привязывайте все клипы к нему.
- Проверяйте Reference Pose, направление осей, длину кадра.
- Для корректного шаффлинга спрайсетов — одинаковые имена костей.
3. Ретаргетинг (UE5)- Создайте IK Retargeter, настройте Chains (spine/arms/legs) и IK Goals.
- Сведите позу ретаргета (Retarget Pose) — это критично для совпадения плеч/таз/стоп.
- Для метрахуманов используйте готовые пресеты.
Animation Blueprint: базовая схема- Переменные: Speed, Direction, bIsInAir, bIsAccelerating.
- Blend Space 1D/2D для Idle/Walk/Run/Strafe.
- State Machine: Idle/Locomotion, Jump/Fall, Land, Crouch.
- Layered Blend per Bone — верх тела (оружие) поверх бега.
- Additive анимации — прицел, дыхание, реактивные позы.
Мини-пример кода (AnimInstance) для вычисления параметров
// MyAnimInstance.h
UCLASS()
class UMyAnimInstance : public UAnimInstance {
GENERATED_BODY()
public:
UPROPERTY(BlueprintReadOnly) float Speed = 0.f;
UPROPERTY(BlueprintReadOnly) bool bIsInAir = false;
virtual void NativeUpdateAnimation(float DeltaSeconds) override;
};
// MyAnimInstance.cpp
void UMyAnimInstance::NativeUpdateAnimation(float DeltaSeconds) {
if (APawn* P = TryGetPawnOwner()) {
FVector V = P->GetVelocity();
V. Z = 0.f;
Speed = V. Size();
if (auto* C = Cast
(P)) {
bIsInAir = C->GetCharacterMovement()->IsFalling();
}
}
}
Root Motion, Montage и Motion Warping- In-place: проще для сети, лучше для реактивности.
- Root Motion: кинематичность, точные траектории (меле, добивания).
- Motion Warping: совмещает рут-мошн с целями в мире. Используйте Warp Targets в блюпринтах и Root Motion Montages.
IK и постановка ног- Трейс ногами землю, сохраняйте расстояние до поверхности, корректируйте таз.
- Two Bone IK для коленей, Full Body IK для устойчивости позы.
- Для ретаргинга ног используйте IK Goals (ik_foot_l/r) и корректный Retarget Pose.
Монтажи, нотифаи, события- Anim Montage — атаки, перезарядки, интеракции; секции и ветвления.
- Anim Notifies — шаги, удобные фрейм-ивенты (звук, VFX, урон).
- Curves — интенсивности (икра, прицел, поворот головы), смешивание эффектов.
Лицо и MetaHuman- ARKit 52 blendshapes, Live Link Face для капчура.
- Control Rig для правок бровей/губ прямо в Sequencer.
- Для диалогов — аудио-драйвинг кривых + corrective shapes/ML Deformer.
Оптимизация и качество- Сжатие: включите ACL (Anim Compression Library) для высококачественного компрессора.
- Update Rate Optimization — понижайте частоту апдейта для дальних персонажей.
- Переключение LOD скелета и отключение неиспользуемых кривых.
- Мониторинг: Anim Insights, ShowDebug Animation, Pose Watch.
Частые ошибки- Несовпадение имён и иерархий костей между клипами.
- Неправильная Retarget Pose — “ломает” плечи/бедра.
- Случайный масштаб/поворот root, scale ≠ 1.0.
- Неверная база для additive — дрейф позы.
- Конфликт “Root Motion from Montages Only” vs настройки в AnimBP.
#UE5