# 3d Spatial

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

- Skill: `tomevault-io/3d-spatial` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/3d-spatial`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/3d-spatial/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/3d-spatial

---


# 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
```python
# 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
```csharp
// 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

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/dylantarre) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-11 -->

