Agent Skills: 3D Spatial Animation

Use when working in Blender, Unity 3D, Unreal Engine, Cinema 4D, VR/AR applications, or any three-dimensional animation work.

UncategorizedID: dylantarre/animation-principles/3d-spatial

Install this agent skill to your local

pnpm dlx add-skill https://github.com/dylantarre/animation-principles/tree/HEAD/skills/01-by-domain/3d-spatial

Skill Files

Browse the full folder contents for 3d-spatial.

Download Skill

Loading file tree…

skills/01-by-domain/3d-spatial/SKILL.md

Skill Metadata

Name
3d-spatial
Description
Use when working in Blender, Unity 3D, Unreal Engine, Cinema 4D, VR/AR applications, or any three-dimensional animation work.

3D Spatial Animation

Apply Disney's 12 animation principles to 3D software, VR/AR, and spatial computing environments.

Quick Reference

| Principle | 3D/Spatial Implementation | |-----------|--------------------------| | Squash & Stretch | Lattice deformers, blend shapes | | Anticipation | IK/FK wind-ups, camera pre-motion | | Staging | Camera angles, lighting, depth | | Straight Ahead / Pose to Pose | Layered animation vs blocking | | Follow Through / Overlapping | Bone chains, physics simulation | | Slow In / Slow Out | F-curve editing, animation curves | | Arc | IK handles, motion paths in 3D space | | Secondary Action | Cloth sim, particle systems, environment | | Timing | Frame timing, VR 90fps requirements | | Exaggeration | Stylized deformation, pushed poses | | Solid Drawing | Volume preservation, silhouettes | | Appeal | Character design, satisfying motion |

Principle Applications

Squash & Stretch: Use lattice or mesh deformers for organic squash. Blend shapes for facial deformation. Scale bones in hierarchies. Always preserve volume—if Y compresses, X/Z expand.

Anticipation: IK rig wind-ups for character animation. Camera pulls back before push-in. Objects coil before release. VR: telegraph actions clearly for user comfort.

Staging: Camera angle sells the action. Three-point lighting directs focus. Depth of field isolates subjects. In VR, use spatial audio and lighting to guide attention.

Straight Ahead vs Pose to Pose: Block key poses first (pose to pose), then refine (spline). Use layered animation—body first, then overlapping elements. Procedural secondary motion is straight ahead.

Follow Through & Overlapping: Bone chains for tails, hair, capes. Physics simulation for cloth and particles. Delay child bones from parents. Jiggle deformers for organic follow-through.

Slow In / Slow Out: F-curves (Blender), Animation Curves (Unity), Graph Editor (Maya). Tangent handles control easing. Flat tangents = slow, steep = fast. Never leave curves linear.

Arc: Motion paths visible in 3D space. IK handles naturally create arcs. Check arcs from multiple camera angles. FK rotation creates inherent arcs in hierarchies.

Secondary Action: Cloth simulation responds to primary motion. Particles emit on impacts. Environment objects react to character. Facial animation supports body action.

Timing: Film: 24fps with motion blur. Games: 60fps minimum. VR: 90fps required (72-120fps). Frame timing affects perceived weight—heavy = slower, light = faster.

Exaggeration: Push poses beyond anatomical limits for style. Smear frames for fast motion. Exaggerated anticipation and follow-through. VR: be careful—exaggeration can cause discomfort.

Solid Drawing: Check silhouettes from all angles. Maintain volume during deformation. Strong poses read in profile. Avoid interpenetration and broken geometry.

Appeal: Character design serves animation needs. Weight and balance feel believable. Movement has personality. In VR, presence and comfort are paramount.

Software Techniques

Blender

# Add follow-through with driver
# On child bone, add driver to rotation
driver.expression = "var * 0.3"
driver.variables["var"].source = parent_bone.rotation

# Physics-based secondary
bpy.ops.object.modifier_add(type='CLOTH')
bpy.context.object.modifiers["Cloth"].settings.quality = 10

Unity

// Spring-based follow through
public class SpringFollow : MonoBehaviour {
    public Transform target;
    public float springStrength = 10f;
    public float damping = 0.5f;

    private Vector3 velocity;

    void Update() {
        Vector3 delta = target.position - transform.position;
        velocity += delta * springStrength * Time.deltaTime;
        velocity *= 1f - damping * Time.deltaTime;
        transform.position += velocity * Time.deltaTime;
    }
}

VR/AR Considerations

| Aspect | Requirement | |--------|-------------| | Framerate | 90fps minimum, 120fps preferred | | Motion | Avoid camera animation—user controls view | | Comfort | Gradual acceleration, avoid sudden motion | | Scale | Animations must work at world scale | | Interaction | Clear feedback for hand/controller input |

Performance Notes

  • LOD (Level of Detail) for distant animations
  • Bake complex simulations when possible
  • GPU skinning for character meshes
  • Culling animations outside view frustum
  • VR: maintain framerate above all else