mcpField
S
sprite-editor

sprite-editor

github.com/unity-technologiesクリエイティブ・メディア57748 回インストール6 日前に更新
リポジトリ

sprite-editor について

Unity のスプライトを扱うエージェント向けのスキルです。接続した Editor で C# を実行し、データ破損を防ぐための機能チェックを行います。

主な機能

  1. 01Editor で C# のステートメントを実行
  2. 02スプライト名、矩形、ボーダー、ピボットの編集
  3. 03スプライトの追加、削除、スライス
  4. 04スプライトのアウトライン設定
  5. 05機能チェックによる操作の保護

活用シーン

  1. 01スプライトインポーターのメタデータ調整
  2. 02スプライトのアウトラインやピボット設定
  3. 03Unity でのスプライト追加やスライス

インストール

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

$npx skills add https://github.com/unity-technologies/unity-agent-plugin --skill sprite-editor

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

SECURITY.md
references/
api_reference.md
background.md
templates.md
scripts/
AutomaticSliceTexture.cs
GenerateNewSpriteRects.cs
GetTextureSourceImageSize.cs
GetTextureToSlice.cs
GridSliceTexture.cs
IsometricSliceTexture.cs
README.md
SetPivotExample.cs
SpriteToPng.cs

詳細

スプライトエディター

スプライトのメタデータ(矩形、境界線、ピボット、アウトライン)は、編集可能なファイルではなくインポーター内にあります。アクセスするには、実行中のエディターを通じて C# を実行する必要があります。

unity-cli スキルが、そこへ到達するための手順を担います — CLI のインストール、接続済みエディターの確認、プロジェクトへの com.unity.pipeline パッケージの追加、エディターが本当に存在しない場合とセーフモードで停止している場合の見分け方、エディターのコマンドカタログの確認です。まずこの手順に従ってください。ここで同じ内容を再度導き出す必要はありません。

このスキルでは判断できないことが2つあります。

  • 到達可能なエディターがあるだけではなく、特に script eval が必要です。 コマンドカタログに表示されることを確認してください。これは CLI ではなく、Pipeline パッケージのバージョンによって利用できるかどうかが決まります。
  • スプライトのメタデータを変更するために、.meta ファイルを手動で編集してはいけません。 このデータはインポーターが管理しており、破損を防ぐために以下の機能チェックが用意されています。そのため、エディターに接続できない場合は作業を中止してください。独自の方法で対応する指示ではありません。

接続済みエディターを通じて、script eval コマンドで C# を実行します。パラメーターの形式は決めつけずに unity command --format json で確認してください。インライン形式は unity command script eval --caller plugin --skill sprite-editor --code '<snippet>' です。また、Pipeline の一部のバージョンでは、ファイルからスニペットを実行する script eval_file も登録されています。script eval_file を使う前に、必ずコマンドカタログを確認してください。これは登録されていないことがよくあります。 unity command のタイムアウトはデフォルトで30秒です。

ISpriteEditorDataProvider を使用して Unity のスプライトを操作する C# エディタースクリプトを生成します。TextureImporter、PSBImporter、カスタムインポーターに対応しています。

script eval に C# を渡す

script eval がコンパイルするのはファイルではなく、ステートメントブロックです。これにより、どちらも警告ではなくコンパイルエラーになる問題が2つ発生します。

  • using ディレクティブは使えません。 コンパイラーは using UnityEngine; をリソース破棄ステートメントとして読み取り、拒否します(CS0210)。
  • 型名は完全修飾する必要があります。 AssetDatabase や Volume だけでは解決できず(CS0246 / CS0103)、Object だけでは object と曖昧になります(CS0104)。

以下のスニペットがファイルとして記述されている場合(可読性のために using を含む場合や、プロジェクトに保存することを想定している場合)は、script eval に渡す前に型名を完全修飾してください。

ワークフロー

生成するすべてのスクリプトは、references/templates.md に記載されているセーフコアパターンに従う必要があります。このパターンには必須の機能チェックが含まれています。機能チェックに失敗した場合は、操作を絶対に実行しないでください。これによりデータの破損を防ぎます。実行後は、Unity コンソールと Project ウィンドウで結果を確認してください。

一般的な操作

名前/矩形/境界線/ピボットの変更: 対応する SpriteRect フィールドを更新します(ピボットの例については scripts/SetPivotExample.cs を参照してください)

  • 必要な機能:EditSpriteName、EditSpriteRect、EditBorder、または EditPivot

追加/削除/スライス: SpriteRect 配列を作成またはフィルタリングします(Unity 2021.2 以降の要件については references/background.md を参照してください)

  • 必要な機能:CreateAndDeleteSprite

アウトラインの設定: ISpriteOutlineDataProvider を取得 → GUID と Vector2 配列を指定して SetOutlines() を呼び出します

重要な注意事項

  • AssetPostprocessor や MenuItem のパターンは使用しないでください
  • 単独で実行できるスニペットのみを生成してください — AssetPostprocessor も MenuItem も使用しないでください
  • 列挙型の代入: 必ず列挙型の値を使用し、数値型にキャストしてください。数値を直接指定してはいけません。
    • ✅ 正しい例:(int)SpriteAlignment.Center
    • ❌ 誤った例:1(マジックナンバー)

コメント