Kursach_StealthAction/.opencode/skills/timeline-clip-set-timing/SKILL.md

136 lines
4.0 KiB
Markdown

---
name: timeline-clip-set-timing
description: "Set the timing of a clip on a Timeline track: start, duration, clip-in (trim), blend-in / blend-out durations, ease-in / ease-out durations, and time scale. Only the values you supply are changed."
metadata:
generated-by: mcp-plugin-dotnet
---
# Timeline / Set Clip Timing
Adjust the timing of an existing clip identified by track + clip index. Any value left null is untouched, so this tool can tweak a single property or several at once.
## Inputs
- `assetPath` — required path to the `.playable` TimelineAsset.
- `trackName` / `trackIndex` — which track holds the clip (name wins; index default 0).
- `clipIndex` — required zero-based index of the clip on its track.
- `start` — optional new start time (seconds).
- `duration` — optional new duration (seconds).
- `clipIn` — optional clip-in / trim offset into the source asset (seconds).
- `blendInDuration` / `blendOutDuration` — optional crossfade blend durations (seconds).
- `easeInDuration` / `easeOutDuration` — optional ease (fade) durations (seconds).
- `timeScale` — optional playback time scale of the clip.
## Behavior
Resolves the clip, applies each supplied value, saves the asset, and returns the resulting timing. Runs on the Unity main thread.
## How to Call
```bash
unity-mcp-cli run-tool timeline-clip-set-timing --input '{
"assetPath": "string_value",
"clipIndex": 0,
"trackName": "string_value",
"trackIndex": 0,
"start": 0,
"duration": 0,
"clipIn": 0,
"blendInDuration": 0,
"blendOutDuration": 0,
"easeInDuration": 0,
"easeOutDuration": 0,
"timeScale": 0
}'
```
> For complex input (multi-line strings, code), save the JSON to a file and use:
> ```bash
> unity-mcp-cli run-tool timeline-clip-set-timing --input-file args.json
> ```
>
> Or pipe via stdin (recommended):
> ```bash
> unity-mcp-cli run-tool timeline-clip-set-timing --input-file - <<'EOF'
> {"param": "value"}
> EOF
> ```
### Troubleshooting
If `unity-mcp-cli` is not found, either install it globally (`npm install -g unity-mcp-cli`) or use `npx unity-mcp-cli` instead.
Read the /unity-initial-setup skill for detailed installation instructions.
## Input
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `assetPath` | `string` | Yes | Assets-rooted path to the TimelineAsset (.playable). |
| `clipIndex` | `integer` | Yes | Zero-based index of the clip on its track. |
| `trackName` | `string` | No | Name of the track holding the clip. Takes precedence over trackIndex. |
| `trackIndex` | `integer` | No | Zero-based root-track index, used when trackName is null/empty. |
| `start` | `number` | No | Optional new start time in seconds. |
| `duration` | `number` | No | Optional new duration in seconds. |
| `clipIn` | `number` | No | Optional clip-in (trim offset into the source asset) in seconds. |
| `blendInDuration` | `number` | No | Optional blend-in (crossfade) duration in seconds. |
| `blendOutDuration` | `number` | No | Optional blend-out (crossfade) duration in seconds. |
| `easeInDuration` | `number` | No | Optional ease-in (fade) duration in seconds. |
| `easeOutDuration` | `number` | No | Optional ease-out (fade) duration in seconds. |
| `timeScale` | `number` | No | Optional playback time scale of the clip. |
### Input JSON Schema
```json
{
"type": "object",
"properties": {
"assetPath": {
"type": "string"
},
"clipIndex": {
"type": "integer"
},
"trackName": {
"type": "string"
},
"trackIndex": {
"type": "integer"
},
"start": {
"type": "number"
},
"duration": {
"type": "number"
},
"clipIn": {
"type": "number"
},
"blendInDuration": {
"type": "number"
},
"blendOutDuration": {
"type": "number"
},
"easeInDuration": {
"type": "number"
},
"easeOutDuration": {
"type": "number"
},
"timeScale": {
"type": "number"
}
},
"required": [
"assetPath",
"clipIndex"
]
}
```
## Output
This tool does not return structured output.