3d-spatial について
Disneyの12のアニメーション原則を、3D、VR/AR、空間コンピューティングに応用する実践ガイドです。アニメーターや開発者向けに、リギング、タイミング、快適性、パフォーマンスを解説します。
主な機能
- 0112の原則を3Dに応用
- 02BlenderとUnityの手法例
- 03VR/ARの快適性と操作の指針
- 04空間アニメーションの性能のヒント
活用シーン
- 013Dソフトでのキャラクターアニメーションの計画
- 02VR/ARで快適な動きへの調整
- 03アニメーションシーンの性能最適化
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ dylantarre/ animation-principles --skill 3d-spatialインストール後、Claude Code で/3d-spatialを入力して読み込まれたか確認します。
詳細
3D 空間アニメーション
Disney の 12 のアニメーション原則を、3D ソフトウェア、VR/AR、空間コンピューティング環境に適用します。
クイックリファレンス
| 原則 | 3D/空間環境での実装 |
|---|---|
| スクワッシュ&ストレッチ | ラティスデフォーマー、ブレンドシェイプ |
| 予備動作 | IK/FK の予備動作、カメラの先行動作 |
| 演出 | カメラアングル、ライティング、奥行き |
| ストレート・アヘッド/ポーズ・トゥ・ポーズ | レイヤーアニメーションとブロッキング |
| フォロースルー/オーバーラッピング | ボーンチェーン、物理シミュレーション |
| スローイン/スローアウト | F カーブ編集、アニメーションカーブ |
| アーク | IK ハンドル、3D 空間内のモーションパス |
| 副次的動作 | クロスシミュレーション、パーティクルシステム、環境 |
| タイミング | フレームタイミング、VR の 90fps 要件 |
| 誇張 | スタイライズされた変形、強調したポーズ |
| 立体感 | ボリュームの保持、シルエット |
| 魅力 | キャラクターデザイン、心地よい動き |
原則の適用
スクワッシュ&ストレッチ:有機的なスクワッシュにはラティスまたはメッシュデフォーマーを使用します。顔の変形にはブレンドシェイプを使用します。階層内のボーンをスケーリングします。常にボリュームを保ちます。Y 軸が縮む場合は、X 軸と Z 軸を広げます。
予備動作:キャラクターアニメーションでは IK リグで予備動作を付けます。カメラは前進する前に後退します。物体は放たれる前にしなります。VR では、ユーザーが快適に感じられるよう、動作を明確に予告します。
演出:カメラアングルでアクションを印象づけます。三点照明で視線を誘導します。被写界深度で被写体を際立たせます。VR では、空間オーディオとライティングで注意を誘導します。
ストレート・アヘッドとポーズ・トゥ・ポーズ:まずキーとなるポーズをブロッキングし(ポーズ・トゥ・ポーズ)、その後で調整します(スプライン)。レイヤーアニメーションを使用し、まず体を動かし、その後に重なり合う要素を動かします。プロシージャルな副次的動作はストレート・アヘッドです。
フォロースルーとオーバーラッピング:尻尾、髪、マントにはボーンチェーンを使用します。布やパーティクルには物理シミュレーションを使用します。子ボーンの動きを親ボーンから遅らせます。有機的なフォロースルーにはジグルデフォーマーを使用します。
スローイン/スローアウト:F カーブ(Blender)、アニメーションカーブ(Unity)、グラフエディター(Maya)を使用します。タンジェントハンドルでイージングを制御します。平坦なタンジェントは遅く、急なタンジェントは速くなります。カーブをリニアのままにしないでください。
アーク:3D 空間内でモーションパスを可視化します。IK ハンドルは自然なアークを作ります。複数のカメラアングルからアークを確認します。FK 回転は階層内で自然にアークを生み出します。
副次的動作:クロスシミュレーションは主要な動きに反応します。衝撃時にパーティクルを放出します。環境内のオブジェクトはキャラクターに反応します。顔のアニメーションは体の動きを補います。
タイミング:映画ではモーションブラーを使用して 24fps です。ゲームでは最低 60fps です。VR では 90fps が必要です(72~120fps)。フレームタイミングは重量感の知覚に影響します。重いものは遅く、軽いものは速く動きます。
誇張:スタイル表現のため、ポーズを解剖学的な限界を超えて強調します。速い動きにはスミアフレームを使用します。予備動作とフォロースルーを誇張します。VR では、誇張によって不快感が生じる可能性があるため注意してください。
立体感:あらゆる角度からシルエットを確認します。変形中もボリュームを維持します。強いポーズは横から見ても認識できます。貫通やジオメトリの破綻を避けます。
魅力:キャラクターデザインはアニメーションのニーズを満たすものにします。重量感とバランスに説得力を持たせます。動きに個性を持たせます。VR では、存在感と快適性が最も重要です。
ソフトウェアのテクニック
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 での考慮事項
| 項目 | 要件 |
|---|---|
| フレームレート | 最低 90fps、120fps を推奨 |
| 動き | カメラアニメーションを避ける。視点はユーザーが操作します |
| 快適性 | 加速は緩やかにし、急な動きを避けます |
| スケール | アニメーションはワールドスケールで機能する必要があります |
| インタラクション | 手やコントローラーの入力に対して、明確なフィードバックを返します |
パフォーマンスに関する注意
- 遠距離のアニメーションには LOD(詳細度)を使用します
- 可能な場合は複雑なシミュレーションをベイクします
- キャラクターメッシュには GPU スキニングを使用します
- 視錐台の外にあるアニメーションをカリングします
- VR では、何よりもフレームレートを維持します