mcpField
3
3d-spatial

3d-spatial

github.com/dylantarreクリエイティブ・メディア132776 回インストール43 週間前に更新
リポジトリ

3d-spatial について

Disneyの12のアニメーション原則を、3D、VR/AR、空間コンピューティングに応用する実践ガイドです。アニメーターや開発者向けに、リギング、タイミング、快適性、パフォーマンスを解説します。

主な機能

  1. 0112の原則を3Dに応用
  2. 02BlenderとUnityの手法例
  3. 03VR/ARの快適性と操作の指針
  4. 04空間アニメーションの性能のヒント

活用シーン

  1. 013Dソフトでのキャラクターアニメーションの計画
  2. 02VR/ARで快適な動きへの調整
  3. 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 では、何よりもフレームレートを維持します

コメント