roblox-animation について
Roblox 開発向けのアニメーションスキルです。リグアニメーション、TweenService、プロシージャル IK の選択と連携を案内し、演出イベントを同期しながらゲームプレイの結果をサーバーで検証します。
主な機能
- 01リグ・トゥイーン・IK の選択
- 02アニメーショントラックの読み込みとブレンド
- 03マーカーによるイベント起動
- 04TweenService による UI トランジション
- 05プロシージャル IK ポーズの設定
- 06ゲームプレイ効果のサーバー検証
活用シーン
- 01移動アニメーションと上半身 IK の重ね合わせ
- 02アニメーションマーカーで効果音や演出を起動
- 03レスポンシブな UI アニメーションの作成
- 04リグ削除時のアニメーション後処理の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nonlooped/ roblox-suite --skill roblox-animationインストール後、Claude Code で/roblox-animationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/3d-animations.mdintegration-and-events.mdui-tweens-and-sequences.mdscripts/AnimationLoader.luaIKSetup.luaTweenHelper.lua詳細
roblox-animation
作成済みのリグモーションにはアニメーショントラック、プロパティの変更には TweenService、プロシージャルなポーズには IKControl を選択します。クライアントのアニメーションが視覚効果を発生させる場合でも、ゲームプレイ上の結果はサーバーで検証してください。
主な公式情報源:
- https://create.roblox.com/docs/animation (概要)
- https://create.roblox.com/docs/animation/editor
- https://create.roblox.com/docs/animation/inverse-kinematics
- https://create.roblox.com/docs/animation/events
- https://create.roblox.com/docs/ui/animation (UI のトゥイーン+タイプライター)
- エンジン:Animator、AnimationTrack、Animation、AnimationClipProvider、IKControl、TweenService、TweenInfo、Tween、Enum.AnimationPriority、Enum.EasingStyle など。
- 完全なリファレンス:https://create.roblox.com/docs/reference/engine
スキルをまたいだ活用:
- UI のモーションの詳細や「UI 内のパーティクル」については、roblox-user-interfaces と組み合わせます。
- アニメーションからマーカーを使ってエミッター、ビーム、トレイルを発生させる場合は、roblox-vfx と組み合わせます。
- Animator の取得、RunService のタイミング制御、ContentProvider による事前読み込みについては、roblox-core と組み合わせます。
- アニメーションをどこで再生・制御するか(サーバーでのレプリケーションか、クライアント限定の演出か)の判断には、roblox-networking を使用します。
モーションシステムの選択
作成済みのモーションらしさとブレンド可能性が必要な 3D リグ/キャラクターのモーションですか?
→ アニメーションシステム(Animator+AnimationTrack)。エディターまたはカタログで事前作成し、優先度、ウェイト、フェード、速度を設定して再生します。ゲームプレイはマーカーで制御します。
シンプルなプロパティ変更、UI の遷移、または一度限りのオブジェクトモーションですか?
→ TweenService。GuiObjects(スケール+AnchorPoint+UDim2)、CFrame、Color3、Transparency、NumberSequence などに使用します。
環境とのプロシージャルなインタラクション(手を伸ばす、頭を追従させる、起伏のある地面に合わせて足を配置する)が必要ですか?
→ IKControl(プロシージャル)+必要に応じて、可動範囲を制限するための AnimationTrack または制約を使用します。アニメーションイベントと組み合わせることもよくあります。
**システムの組み合わせ:**低い優先度でロコモーションのトラックを再生しながら、IKControl またはトゥイーンを使って上半身や UI オーバーレイを動かします。トラック内のマーカーを使って IK を開始・停止したり、トゥイーンやエフェクトを発生させたりします。
詳細は references/3d-animations.md と references/ui-tweens-and-sequences.md を参照してください。
リグのアニメーションと IK
リグのアニメーションを作成、読み込み、ブレンドする場合や、IK を設定する場合は、3d-animations.md をお読みください。
Animatorを通じてトラックを読み込みます。アクションに合わせて優先度、ウェイト、フェード時間、速度を選択します。- 足音、エフェクト、その他のタイミングイベントには名前付きマーカーを使用します。アセットを再公開する際も、マーカー名を変更しないでください。
- 再生場所を決め、アセットの所有権を確認します。ゲームプレイ上の効果はサーバーで検証してください。
- Animation アセットを事前読み込みし、読み込んだトラックを再利用します。リグが削除されたらトラックを停止し、シグナルを切断します。
- IK では、チェーンのルート、エンドエフェクター、ターゲットを定義します。プレイモードで応答性と関節の可動範囲を調整します。
TweenService による UI アニメーション
プロパティの例、イージング、連鎖する遷移、タイプライター形式のテキストについては、ui-tweens-and-sequences.md をお読みください。
レスポンシブなモーションにはスケールと AnchorPoint を使用し、デザイン上、縦横比を固定する必要がある場合はアスペクト比の制約を追加します。パネル全体をフェードさせるには CanvasGroup を使用します。競合するトゥイーンをキャンセルし、シーケンスが終了するか GUI が破棄されたら完了ハンドラーを切断してください。
テキストを表示するには TextLabel.MaxVisibleGraphemes を使用し、ローカライズと Unicode の文字境界を考慮してください。
モーションをほかのシステムと組み合わせる
- アニメーションマーカー → ほかのすべて:足音マーカー → サウンドを再生し、足の Attachment でパーティクルを発生させます。攻撃マーカー → ヒットボックスまたは IK リーチを有効にし、マズルフラッシュを生成します。「AbilityStart」マーカー → UI のクールダウンリングまたは BillboardGui で Tween を開始します。
- レイヤリングの優先度とウェイト:アイドル(低)+歩行(中)+アクション(高、フェード付きでウェイト 1.0)。実行時に AdjustWeight と AdjustSpeed を使用します。
- クライアントとサーバーでの再生:プレイヤー自身のキャラクターでは、クライアントで再生したアニメーションは Animator を介してサーバーに複製されます(所有権や権限に従います)。NPC やほかのキャラクターでは、サーバーが権限を持ちます。見た目だけのアニメーションや予測に適したアニメーションは、クライアントのみで再生できます。ゲームプレイに影響するタイミング(ダメージが有効な時間帯、移動ロック)はサーバー側で検証してください。クライアントのマーカーをヒットの確かな証拠として扱わないでください。
- トラックを事前読み込みしてキャッシュ:リグの種類ごとに一度だけ読み込み、AnimationTrack オブジェクトを再利用します。プレビューやストリーミング動作が必要な場合は、非同期でアニメーションを読み込むために
AnimationClipProviderを使用します。 - UI と 3D の調和:3D のパーツまたは Attachment を Tween するのと同時に、その上の BillboardGui または SurfaceGui も Tween します(または、パーツ/メッシュ/カメラを含む 3D プレビューには ViewportFrame を使用します。ただし、ParticleEmitters/Beams/Trails/Lights は ViewportFrame 内ではレンダリングされません)。
- テスト:デバイスによってフレームレートや入力レイテンシーは異なります。モバイルとデスクトップでイージングの感触をテストしてください。同時に実行する Tween が多い場合は MicroProfiler を使用します。
よくある間違い
Humanoid:LoadAnimation(anim)(非推奨です。Animator を使用してください)。- 毎フレーム
track.TimePositionを確認する(マーカーを使用してください)。 - AnchorPoint とスケールではなく、生のピクセルオフセットを Tween する(解像度やアスペクト比が変わると崩れます)。
- フェード時間を設けずに優先度の高いアクションを再生する(不自然になります)。
- 事前読み込みをまったく行わない(初回再生時に引っかかりが発生します)。
- すべてに同じ低い AnimationPriority を使う(アイドルアニメーションがアクションと競合します)。
- IK の制約を無視する(肘や膝が逆向きに曲がり、手首が不自然な角度になります)。
- CanvasGroup またはレイアウトを使わず、個別の UI 要素を数十個 Tween する。
例と検証
ヘルパーがタスクに適している場合は、AnimationLoader.lua、TweenHelper.lua、または IKSetup.lua を応用してください。
アニメーションを変更した場合は、意図した優先度で再生され、マーカーが発火し、リグが削除されたときにクリーンアップされることを確認してください。UI モーションでは、対象となる画面サイズとキャンセル処理を確認します。モーションがほかのシステムを動かす場合は、integration-and-events.md を使用してください。
リファレンス一覧
- 3d-animations.md:リグのアニメーションを作成または読み込み、トラックをブレンドしたり、IK を設定したりします。
- integration-and-events.md:アニメーションマーカーをゲームプレイ、エフェクト、オーディオ、UI と同期します。
- ui-tweens-and-sequences.md:UI プロパティを Tween し、トランジションを連結したり、テキストを表示したりします。