unity-timeline について
unity-timeline は、Unity Timeline アセットを作成・編集するスキルです。カットシーンやシーケンス向けに、各種トラック、クリップ、オブジェクトのバインド、尺の設定、エディターでのプレビュー操作に対応します。
主な機能
- 01Timeline アセットと Director インスタンスの作成
- 02音声・アニメーション・アクティベーション・制御・シグナルトラックの追加
- 03トラック名を指定したクリップ追加
- 04トラックへのオブジェクトのバインド
- 05尺とラップモードの設定
- 06エディタープレビューの再生操作
活用シーン
- 01カットシーンのシーケンス作成
- 02Timeline への音声・アニメーショントラック追加
- 03クリップ配置とシーンオブジェクトのバインド
- 04エディターでの Timeline プレビュー
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ besty0728/ unity-skills --skill unity-timelineインストール後、Claude Code で/unity-timelineを入力して読み込まれたか確認します。
詳細
このモジュールのスキルを呼び出す前に: 名前や説明から推測したパラメーターでスキルを呼び出そうとしている場合は、いったん中止し、まずこのファイルを読むか、
GET /skills/recommend?includeSchema=trueでスキーマを取得してください。recommend/schema からパラメーター定義をすでに取得している場合は、そのまま dryRun に進めます。
トリガー
- カットシーンやシーケンスの制作
- Timeline アセットの作成
- トラックやクリップの追加
- カットシーンやシーケンスの制作、Timeline アセットの作成、トラックやクリップの追加
Timeline スキル
Unity Timeline アセットを作成・変更します。型付きトラックの追加、トラックへのクリップの配置、オブジェクトのバインド、長さ/ラップモードの設定、PlayableDirector によるエディターのプレビュー再生/一時停止/停止ができます。
動作モード
- 承認:照会系スキル(
timeline_list_tracks、ソースではSkillMode.SemiAutoと記載)は直接実行します。その他の変更/再生系スキル(timeline_create/ add_*_track /timeline_add_clip/timeline_set_duration/timeline_play/timeline_set_binding、SkillMode.FullAutoと記載)はユーザーの許可が必要です。許可後、サーバーが一度の処理で実行し、結果を返します。 - 自動/バイパス:禁止リストに阻止されていないスキルは直接実行します。
- このモジュールには削除系スキルも含まれます:
timeline_remove_trackはSkillOperation.Deleteとしてマークされており、IsForbiddenInSemiによって静的にブロックされます。呼び出せるのは Bypass モード、または Allowlist に追加されている場合のみです。 timeline_playが操作するのはエディターのプレビューのみです(エディターのコンテキストで PlayableDirector.Evaluate / Play を実行)。Play モードには入りません。
禁止事項(よくある誤認):
timeline_create_animation/timeline_add_trackは存在しません → 型付きトラック用スキルを使用してください:timeline_add_animation_track、timeline_add_audio_track、timeline_add_activation_track、timeline_add_control_track、timeline_add_signal_tracktimeline_add_keyframeは存在しません → Timeline では直接キーフレームを設定するのではなく、クリップを使用します。timeline_add_clipを使用してくださいtimeline_set_durationが設定するのは Timeline アセットの長さであり、個々のクリップの長さではありません
ルーティング:
- Animator のパラメーター/ステートには →
animatorモジュールを使用してください - ランタイムのアニメーション再生には →
editor_playを使用するか、scriptモジュールから C# を記述してください
スキル
timeline_create
新しい Timeline アセットと Director インスタンスを作成します。
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| name | string | Yes | - | Timeline/オブジェクトの名前 |
| folder | string | No | "Assets/Timelines" | アセットを保存するフォルダー |
戻り値: { success, assetPath, gameObjectName, directorInstanceId }
timeline_add_audio_track
Timeline に Audio トラックを追加します。
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| name | string | No | - | PlayableDirector を持つ GameObject の名前 |
| instanceId | int | No | 0 | GameObject のインスタンス ID |
| path | string | No | - | GameObject の階層パス |
| trackName | string | No | "Audio Track" | 新しいトラックの名前 |
戻り値: { success, trackName }
timeline_add_animation_track
Timeline に Animation トラックを追加します。オプションでオブジェクトをバインドできます。
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| name | string | No | - | PlayableDirector を持つ GameObject の名前 |
| instanceId | int | No | 0 | GameObject のインスタンス ID |
| path | string | No | - | GameObject の階層パス |
| trackName | string | No | "Animation Track" | 新しいトラックの名前 |
| bindingObjectName | string | No | - | バインドする GameObject の名前(animator) |
戻り値: { success, trackName, boundObject }
timeline_add_activation_track
オブジェクトの表示状態を制御する Activation トラックを追加します。
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| name | string | No | - | PlayableDirector を持つ GameObject の名前 |
| instanceId | int | No | 0 | GameObject のインスタンス ID |
| path | string | No | - | GameObject の階層パス |
| trackName | string | No | "Activation Track" | 新しいトラックの名前 |
戻り値: { success, trackName }
timeline_add_control_track
ネストされた Timeline またはプレハブの生成に使用する Control トラックを追加します。
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| name | string | No | - | PlayableDirector を持つ GameObject の名前 |
| instanceId | int | No | 0 | GameObject のインスタンス ID |
| path | string | No | - | GameObject の階層パス |
| trackName | string | No | "Control Track" | 新しいトラックの名前 |
Returns: { success, trackName }
timeline_add_signal_track
イベントマーカー用の Signal トラックを追加します。
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| name | string | No | - | PlayableDirector を持つ GameObject の名前 |
| instanceId | int | No | 0 | GameObject のインスタンス ID |
| path | string | No | - | GameObject の階層パス |
| trackName | string | No | "Signal Track" | 新しいトラックの名前 |
Returns: { success, trackName }
timeline_remove_track
Timeline から名前を指定してトラックを削除します。
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| name | string | No | - | PlayableDirector を持つ GameObject の名前 |
| instanceId | int | No | 0 | GameObject のインスタンス ID |
| path | string | No | - | GameObject の階層パス |
| trackName | string | Yes | - | 削除するトラックの名前 |
Returns: { success, removed }
timeline_list_tracks
Timeline 内のすべてのトラックを一覧表示します。
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| name | string | No | - | PlayableDirector を持つ GameObject の名前 |
| instanceId | int | No | 0 | GameObject のインスタンス ID |
| path | string | No | - | GameObject の階層パス |
Returns: { count, tracks: [{ name, type, muted, clipCount }] }
timeline_add_clip
トラック名を指定して、トラックにクリップを追加します。
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| name | string | No | - | PlayableDirector を持つ GameObject の名前 |
| instanceId | int | No | 0 | GameObject のインスタンス ID |
| path | string | No | - | GameObject の階層パス |
| trackName | string | Yes | - | 対象トラックの名前 |
| start | double | No | 0 | クリップの開始時間(秒) |
| duration | double | No | 1 | クリップの長さ(秒) |
Returns: { success, trackName, clipStart, clipDuration }
timeline_set_duration
Timeline の長さとループモードを設定します。
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| name | string | No | - | PlayableDirector を持つ GameObject の名前 |
| instanceId | int | No | 0 | GameObject のインスタンス ID |
| path | string | No | - | GameObject の階層パス |
| duration | double | No | 0 | 固定の長さ(秒) |
| wrapMode | string | No | - | ループモード:Hold/Loop/None |
Returns: { success, duration, wrapMode }
timeline_play
Timeline を再生、一時停止、または停止します(エディターのプレビュー)。
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| name | string | No | - | PlayableDirector を持つ GameObject の名前 |
| instanceId | int | No | 0 | GameObject のインスタンス ID |
| path | string | No | - | GameObject の階層パス |
| action | string | No | "play" | アクション:play/pause/stop |
Returns: { success, action, time }
timeline_set_binding
トラックのバインディングオブジェクトを設定します。
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| name | string | No | - | PlayableDirector を持つ GameObject の名前 |
| instanceId | int | No | 0 | GameObject のインスタンス ID |
| path | string | No | - | GameObject の階層パス |
| trackName | string | Yes | - | トラックの名前 |
| bindingObjectName | string | Yes | - | バインドするオブジェクトの名前 |
Returns: { success, trackName, boundTo }
正確なシグネチャ
正確な名前、パラメーター、デフォルト値、戻り値は、このファイルではなく GET /skills/schema または unity_skills.get_skill_schema() によって定義されています。