界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
开发与工程 · SKILL.md

unity-animation

unity-animation

【开发与工程】Unity Animation skill for Animator controllers, Animation Rigging, Timeline integration, and animation state machines.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: unity-animation description: Unity Animation skill for Animator controllers, Animation Rigging, Timeline integration, and animation state machines. allowed-tools: Read, Grep, Write, Bash, Edit, Glob, WebFetch graph: domains: [domain:gaming] specializations: [specialization:game-development] skillAreas: [skill-area:animation-transitions, skill-area:game-engines] roles: [role:game-developer]

Unity Animation Skill

Animation system implementation and configuration in Unity.

Overview

This skill provides capabilities for implementing character and object animation using Unity's Animator, Animation Rigging, and Timeline systems.

Capabilities

Animator Controllers

  • Create state machines
  • Configure blend trees
  • Set up animation layers
  • Handle state transitions

Animation Rigging

  • Implement IK constraints
  • Create procedural animation
  • Set up multi-aim constraints
  • Handle runtime rigging

Timeline

  • Create animation clips
  • Sequence cutscenes
  • Integrate with Cinemachine
  • Handle animation events

Avatar System

  • Configure humanoid avatars
  • Set up animation retargeting
  • Handle muscle settings
  • Manage avatar masks

Prerequisites

  • Unity 2021.3+
  • Animation Rigging package (optional)
  • Timeline package (built-in)

Usage Patterns

Animator Controller

public class CharacterAnimator : MonoBehaviour
{
    private Animator animator;
    private static readonly int SpeedHash = Animator.StringToHash("Speed");
    private static readonly int JumpTrigger = Animator.StringToHash("Jump");

    void Update()
    {
        float speed = GetMovementSpeed();
        animator.SetFloat(SpeedHash, speed, 0.1f, Time.deltaTime);

        if (Input.GetButtonDown("Jump"))
        {
            animator.SetTrigger(JumpTrigger);
        }
    }
}

Animation Rigging

[RequireComponent(typeof(RigBuilder))]
public class AimRig : MonoBehaviour
{
    [SerializeField] private MultiAimConstraint aimConstraint;
    [SerializeField] private Transform aimTarget;

    public void SetAimWeight(float weight)
    {
        aimConstraint.weight = weight;
    }
}

Best Practices

  1. Use parameter hashes for performance
  2. Organize layers by body part
  3. Use avatar masks for partial animations
  4. Profile animator updates
  5. Use sub-state machines for organization

References

我的收藏