mcpField
U
unity-dotween

unity-dotween

github.com/besty0728開発1.9k71 回インストール今日更新
リポジトリ

unity-dotween について

unity-dotweenは、UnityでDOTweenの診断、設定の読み取りと変更、APIの検索、実行時ツイーンスクリプトの生成を行うスキルモジュールです。DOTween Proでは、エディター上でDOTweenAnimationコンポーネントも設定できます。

主な機能

  1. 01インストール状態と設定の検証
  2. 02DOTween設定の読み取りと変更
  3. 03モジュールとショートカットAPIの検索
  4. 04実行時ツイーンスクリプトの生成
  5. 05ProでのDOTweenAnimation設定

活用シーン

  1. 01DOTweenの未導入や設定不備の診断
  2. 02利用可能なツイーンモジュールやショートカットの検索
  3. 03ツイーンまたはシーケンスMonoBehaviourの生成
  4. 04間隔を付けたDOTweenAnimation演出の設定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/besty0728/unity-skills --skill unity-dotween

インストール後、Claude Code で/unity-dotweenを入力して読み込まれたか確認します。

詳細

このモジュールのスキルを呼び出す前に: 名前や説明から推測したパラメーターでスキルを呼び出そうとしている場合は、いったん停止し、まずこのファイルを読むか、GET /skills/recommend?includeSchema=true でスキーマを取得してください。recommend/schema からパラメーター定義をすでに取得している場合は、そのまま dryRun に進めます。

トリガー

  • DOTween のセットアップ
  • インストール/モジュールの検証
  • DOTweenAnimation コンポーネントの設定
  • DOTween の導入、インストール/モジュールの検証、DOTweenAnimation コンポーネントの設定

DOTween スキル

プロジェクトの診断、設定、モジュール/API の検出、ランタイムスクリプトの生成に対応する、DOTween Free/Pro 向けのスキルです。DOTween Pro 専用の DOTweenAnimation のエディター時設定は、引き続き dotween_pro_* スキルから利用できます。

ガードレール

動作モード(v1.9 の 3 段階):

  • Approval(デフォルト):クエリ/診断スキル(dotween_get_status、dotween_settings_get、dotween_settings_find、dotween_settings_validate、dotween_list_modules、dotween_list_shortcuts、dotween_pro_get_animation、dotween_pro_list_animations)はそのまま実行されます。ミューテーター(設定変更、その他の dotween_pro_* 書き込み系)は FullAuto です。MODE_RESTRICTED の場合は、許可プロトコルを実行してください。スクリプト生成スキルと dotween_pro_remove_animation は別途、自動的に禁止されます(次の項目を参照)。許可を付与しても、これらは解除されません。
  • Auto/Bypass:SemiAuto と FullAuto はそのまま実行されます。
  • このモジュールで自動的に禁止されるスキル:dotween_generate_tween_script、dotween_generate_sequence_script、dotween_generate_lifetime_script(いずれも新しい .cs ファイルの書き込みによりスクリプトのコンパイルと Domain Reload が発生するため、MayTriggerReload = true、RiskLevel = "high" が設定されています)、および dotween_pro_remove_animation(SkillOperation.Delete — RiskLevel は "low" のままですが、Delete ビットがあるだけで NeverInSemi が適用されます)。この 4 つは Approval および Auto で MODE_FORBIDDEN を返し、Bypass モードまたはユーザー管理の Allowlist エントリー経由でのみ実行できます。許可フローでも MODE_FORBIDDEN が返されます。ほかの Pro 書き込み系スキル(dotween_pro_add_animation、dotween_pro_set_*、dotween_pro_copy_animation など)には Delete ビットがないため、引き続き許可を付与できます。
  • DOTween Free/Pro がない場合、DOTweenPresenceDetector は DOTWEEN/DOTWEEN_PRO の定義を追加しません。そのため、ほとんどのスキルは実行されず、「未インストール」の診断を返します。dotween_pro_* ファミリーには、Pro 専用の DG.Tweening.DOTweenAnimation を使用するため、Pro も必要です。

前提条件:

  • DOTween Free または Pro がインストールされている必要があります。インストール後、DOTweenPresenceDetector が DOTWEEN/DOTWEEN_PRO の定義を自動的に追加します。
  • Free スキルは DOTween Free と Pro のどちらでも動作します。対象は、ステータス、設定の読み取り/検索/検証/変更、モジュール/ショートカットの一覧表示、ランタイムスクリプトの生成です。
  • dotween_pro_* スキルには、DG.Tweening.DOTweenAnimation が Pro 専用のため、DOTween Pro が必要です。

Free と Pro を混同しないでください:

  • Free スキルは DOTweenAnimation コンポーネントを作成またはエミュレートしません。
  • ランタイムのトゥイーン生成では .cs スクリプトのみが作成されます。Unity では先に Domain Reload が必要になる場合があるため、スクリプトがシーンオブジェクトに自動でアタッチされることはありません。
  • ソースレベルでのランタイム API 設計ルールについては、dotween-design を読み込んでください。

Free スキル

診断と設定
  • dotween_get_status — DOTween/Pro のインストール状況、DOTweenSettings.asset のパス、表示されているモジュール数を報告します。
  • dotween_settings_find — DOTweenSettings という名前のプロジェクトアセットを一覧表示します。
  • dotween_settings_get — DOTweenSettings.asset の一般的なフィールドを読み取ります。
  • dotween_settings_validate — 設定の欠落、重複した設定、無効な容量、SafeMode に関する注目すべき警告を報告します。
  • dotween_settings_configure — Resources/DOTweenSettings.asset を編集します。パラメーター:defaultEaseType?、defaultAutoKill?、defaultLoopType?、safeMode?、logBehaviour?、tweenersCapacity?、sequencesCapacity?。使用中の DOTween バージョンでフィールドが宣言されていないパラメーターは、適用済みとして扱われず、代わりに unsupported 配列に返されます。DOTween Pro 1.0.381 のアセットには容量フィールドがありません(容量は DOTween.SetTweensCapacity によるランタイム呼び出しで設定します)。容量は 1 以上である必要があります。無効な列挙値は拒否され、指定可能な名前が示されます。
API の検出
  • dotween_list_modules — 読み込み済みの DG.Tweening.DOTweenModule*、ShortcutExtensions、TweenExtensions、TweenSettingsExtensions 型を一覧表示します。オプション:includeMethods=false、methodLimit=20。
  • dotween_list_shortcuts — パブリック拡張メソッドを一覧表示します。オプションのフィルター:targetType、methodPrefix、limit=100。
ランタイムスクリプトの生成

すべての生成スキルで className が必要です。デフォルトの folder=Assets/Scripts/DOTween、任意の namespaceName を指定でき、既存ファイルを上書きすることはありません。

  • dotween_generate_tween_script — ランタイム tween MonoBehaviour を 1 つ作成します。
  • dotween_generate_sequence_script — ランタイム Sequence MonoBehaviour を 1 つ作成します。任意で {op:"Append|Join|AppendInterval", tweenKind, duration} の配列を stepsJson に指定できます。
  • dotween_generate_lifetime_script — デフォルトで SetLink(gameObject) を使用し、無効化/破棄時に KillTween() を呼び出す、ライフサイクルに安全なラッパーを作成します。

共通パラメーター:targetKind=Transform、tweenKind=DOMove、duration=1、ease=OutQuad、loops=1、autoPlay=true、useSetLink=true。

対応する v1 の targetKind/tweenKind の組み合わせ:

  • Transform:DOMove、DOLocalMove、DORotate、DOLocalRotate、DOScale、DOPunchPosition、DOShakePosition
  • RectTransform:DOAnchorPos、DOSizeDelta
  • CanvasGroup:DOFade
  • Graphic/Image:DOColor、DOFade
  • Generic:DOTween.To

例:

dotween_generate_tween_script className=HeroPanelIntro targetKind=RectTransform tweenKind=DOAnchorPos duration=0.35 ease=OutBack

Sequence の例:

dotween_generate_sequence_script className=ButtonPop targetKind=Transform stepsJson='[
  {"op":"Append","tweenKind":"DOScale","duration":0.12},
  {"op":"AppendInterval","duration":0.05},
  {"op":"Join","tweenKind":"DOPunchPosition","duration":0.25}
]'

Pro スキル

dotween_pro_add_animation

1 つの GameObject に DOTweenAnimation を追加し、すべての主要フィールドを設定します。 パラメーター: target/animationType/endValueV3?/endValueFloat?/endValueColor?/endValueV2?/endValueString?/endValueRect?/duration=1/ease="OutQuad"/loops=1/loopType="Yoyo"/delay=0/isRelative=false/isFrom=false/autoPlay=true/autoKill=true/id?

3 つの追加スキルに共通する数値/列挙値の条件は、追加処理を行う前にチェックされます。duration > 0、loops は -1(無限)または 1 以上、delay >= 0 である必要があります。また、animationType/ease/loopType は、インストール済みの DOTween が宣言している列挙型の値でなければなりません(スペルを間違えた ease は以前、黙って無視されていました)。

dotween_pro_batch_add_animation

複数の GameObject に同じアニメーションを追加します。 パラメーター: targetsJson(JSON 文字列配列)+ dotween_pro_add_animation のすべてのパラメーター。

dotween_pro_stagger_animations

遅延を段階的に増やしながら一括追加します。UI のカスケード表示パターンに使用します。 パラメーター: targetsJson/animationType/endValueV3?/endValueFloat?/endValueColor?/endValueV2?/duration=0.5/ease="OutBack"/loops=1/loopType="Yoyo"/baseDelay=0/staggerDelay=0.1/isFrom=true/autoPlay=true/autoKill=true baseDelay と staggerDelay はどちらも 0 以上である必要があります。負の値は、DOTween が後からクランプして無効化するのではなく、事前に拒否されます。

dotween_pro_set_duration

既存の DOTweenAnimation の duration を変更します。パラメーター:target、animationIndex=0、duration(必須、0 より大きい値)。

dotween_pro_set_ease

既存の DOTweenAnimation のイージングを変更します。パラメーター:target、animationIndex=0、ease="OutQuad"、easeCurveJson?。両方が指定された場合は easeCurveJson が優先されます。解析できないカーブは、ease に暗黙的にフォールバックせず、拒否されます。

dotween_pro_set_loops

ループ回数や loopType を変更します。パラメーター:target、animationIndex=0、loops?(-1 = 無限、それ以外は >= 1)、loopType?。loops / loopType の少なくとも一方を指定してください。両方を省略すると、ループ回数を 1 にリセットするのではなく、リクエストが拒否されます。一方だけを指定した場合、もう一方はそのまま維持されます。

dotween_pro_set_animation_field

duration/ease/easeType/easeCurve/loops/loopType を除く DOTweenAnimation のフィールドを設定する汎用セッターです。これらのフィールドには専用のスキルを使用してください。fieldName と fieldValue の両方が必須です。文字列フィールドをクリアするには、明示的に "" を渡してください。

dotween_pro_get_animation

1 つの DOTweenAnimation のシリアライズ済みフィールドをすべて読み取ります。パラメーター:target、animationIndex=0。

dotween_pro_list_animations

ターゲット上またはシーン全体の DOTweenAnimation コンポーネントを一覧表示します。パラメーター:target?、recursive=false。animationIndex は、そのコンポーネントが自身の GameObject 上で占める位置です。これはセッターや削除ツールが受け取るインデックスとまったく同じなので、そのまま渡してください。

dotween_pro_copy_animation

sourceTarget[sourceIndex] のすべてのフィールドを destTarget 上の新しい DOTweenAnimation にコピーします。コピーできなかったフィールドは skippedFields に列挙されます。

dotween_pro_remove_animation

インデックスを指定して、1 つの DOTweenAnimation コンポーネントを削除します。

animationType → endValue の対応関係

animationType必須パラメーター
Move / LocalMove / Rotate / LocalRotate / Scale / PunchPosition / PunchRotation / PunchScale / ShakePosition / ShakeRotation / ShakeScale / AnchorPos3DendValueV3("1,2,3" または "[1,2,3]")
AnchorPos / UIWidthHeightendValueV2("1,2")
Fade / FillAmount / CameraOrthoSize / CameraFieldOfView / ValueendValueFloat
Color / CameraBackgroundColorendValueColor("#FF8800" または "1,0.5,0,1")
TextendValueString
UIRectendValueRect("x,y,width,height")

正確なシグネチャ

正確な名前、パラメーター、デフォルト値、戻り値は、このファイルではなく、GET /skills/schema または unity_skills.get_skill_schema() で定義されています。

コメント