新增文档
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
---
|
||||
name: profiler-capture-frame
|
||||
description: Capture the current frame's timing info (delta time, FPS, frame counts, runtime). Snapshot only — historical frames live in Unity's Profiler window.
|
||||
---
|
||||
|
||||
# Profiler / Capture Frame
|
||||
|
||||
Reads `UnityEngine.Time` fields and returns them in a single struct. This tool is intentionally a single-frame snapshot — Unity's runtime API does not expose historical frame-data outside the Profiler window.
|
||||
|
||||
## Fields
|
||||
|
||||
- `FrameTimeMs` — `Time.deltaTime * 1000f`.
|
||||
- `Fps` — `1 / Time.deltaTime` (0 when delta is zero).
|
||||
- `TotalFrameCount` — `Time.frameCount` (includes skipped renders).
|
||||
- `RealtimeSinceStartup` — `Time.realtimeSinceStartup`.
|
||||
- `RenderedFrameCount` — `Time.renderedFrameCount`.
|
||||
|
||||
## Behavior
|
||||
|
||||
Uses only built-in Unity APIs (`UnityEngine.Time`). No external Unity package is required.
|
||||
|
||||
## How to Call
|
||||
|
||||
```bash
|
||||
unity-mcp-cli run-tool profiler-capture-frame --input '{
|
||||
"nothing": "string_value"
|
||||
}'
|
||||
```
|
||||
|
||||
> For complex input (multi-line strings, code), save the JSON to a file and use:
|
||||
> ```bash
|
||||
> unity-mcp-cli run-tool profiler-capture-frame --input-file args.json
|
||||
> ```
|
||||
>
|
||||
> Or pipe via stdin (recommended):
|
||||
> ```bash
|
||||
> unity-mcp-cli run-tool profiler-capture-frame --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 |
|
||||
|------|------|----------|-------------|
|
||||
| `nothing` | `string` | No | |
|
||||
|
||||
### Input JSON Schema
|
||||
|
||||
```json
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"nothing": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Output
|
||||
|
||||
### Output JSON Schema
|
||||
|
||||
```json
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"result": {
|
||||
"$ref": "#/$defs/com.IvanMurzak.Unity.MCP.Editor.API.Tool_Profiler-FrameCaptureData",
|
||||
"description": "Single-frame snapshot of timing information from UnityEngine.Time. No historical frame data; use the Profiler window for that."
|
||||
}
|
||||
},
|
||||
"$defs": {
|
||||
"com.IvanMurzak.Unity.MCP.Editor.API.Tool_Profiler-FrameCaptureData": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"FrameTimeMs": {
|
||||
"type": "number",
|
||||
"description": "Time.deltaTime in milliseconds at the moment of capture."
|
||||
},
|
||||
"Fps": {
|
||||
"type": "number",
|
||||
"description": "Frames per second derived from Time.deltaTime."
|
||||
},
|
||||
"TotalFrameCount": {
|
||||
"type": "integer",
|
||||
"description": "Total frame count since application start (Time.frameCount). May include skipped renders."
|
||||
},
|
||||
"RealtimeSinceStartup": {
|
||||
"type": "number",
|
||||
"description": "Time.realtimeSinceStartup, in seconds."
|
||||
},
|
||||
"RenderedFrameCount": {
|
||||
"type": "integer",
|
||||
"description": "Frames actually rendered (Time.renderedFrameCount)."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"FrameTimeMs",
|
||||
"Fps",
|
||||
"TotalFrameCount",
|
||||
"RealtimeSinceStartup",
|
||||
"RenderedFrameCount"
|
||||
],
|
||||
"description": "Single-frame snapshot of timing information from UnityEngine.Time. No historical frame data; use the Profiler window for that."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"result"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user