| disable-model-invocation | true |
| name | setup-pixel-perfect |
| description | Unity 6 でピクセルパーフェクト描画をセットアップする時に使う。RenderTexture への低解像度レンダリング → 合成カメラで整数倍アップスケールの手順を自動化する (Zenn 記事 https://zenn.dev/matsu_friends/articles/c4a5d36b1de94e ベース)。トリガー: 「ピクセルパーフェクト設定して」「setup pixel perfect」「ドット絵 Unity 設定」等のユーザー指示、または `setup-pixel-perfect` スキル指定。 |
Unity ピクセルパーフェクト描画セットアップスキル
Zenn記事(https://zenn.dev/matsu_friends/articles/c4a5d36b1de94e)に基づき、Unity 6でピクセルパーフェクト描画を完全にセットアップします。RenderTextureへの低解像度レンダリング → 合成カメラでの整数倍アップスケーリングにより、鮮明なドット絵表示を実現します。
入力
$ARGUMENTS
以下のパラメータを受け取ります:
- 仮想解像度(幅×高さ): ゲームの内部描画解像度(例: 320×180)
- PPU(Pixels Per Unit): 全アセット共通のピクセル密度(例: 16)
- (任意)スプライト検索パス: 一括設定するスプライトの格納フォルダ(例: Assets/Sprites)
- (任意)フォントアセットパス: TMPフォントアセットのパス
- (任意)サンプリングポイントサイズ: フォントのサンプリングサイズ(整数)
前提条件
- Unity 6 + URP(Universal Render Pipeline)
- 2D Renderer使用
com.unity.2d.pixel-perfect パッケージがインストール済み
- 未インストールの場合: Package Managerから「2D Pixel Perfect」を追加
Step 1: スプライト設定(Presetベース)
See step1-sprite-settings.md for:
- TextureImporterのPreset作成(Point filter / 圧縮なし / PPU統一 / Full Rect)
- Preset Managerへのデフォルト登録(新規インポート時に自動適用)
- 既存スプライトへのPreset一括適用
- SpriteAtlasの設定
Step 2: RenderTexture + メインカメラ設定
See step2-rendertexture-camera.md for:
- RenderTexture作成(R8G8B8A8_UNorm / Point filter)
- メインカメラ設定(orthographicSize計算 / UI除外)
- Pixel Perfect Cameraをメインカメラに付けない理由
Step 3: TMPフォントアセット設定
See step3-tmp-font.md for:
- Font Asset Creator起動・設定ガイド(RASTERモード)
- 生成済みフォントアセットの検証・修正コード
- フォントサイズの制約(Sampling Point Sizeの整数倍のみ)
Step 4: 合成カメラ + 表示Canvas
See step4-composite-camera.md for:
- 合成カメラ作成(PixelPerfectCamera / Upscale RT / CropFrame)
- Canvas + RawImage構成(Screen Space - Camera)
execute-dynamic-code用コード例
注意事項
See notes.md for:
- PPU統一の必須ルール
- Transform Scale/Rotationの制約
- ポストプロセシングの適用先
- 8bit Color Formatによる2D Lighting離散化
検証手順
See verification.md for:
- uLoopコマンドによるコンパイル・ヒエラルキー・ビジュアル確認
- 全設定の整合性を検証する
execute-dynamic-codeコード
実行手順まとめ
- パラメータ(仮想解像度・PPU)を確認
- Step 1: TextureImporterのPreset作成 → Preset Managerに登録(→ 既存スプライトがあれば一括適用)
- Step 2: RenderTexture作成 → メインカメラ設定
- Step 3: TMPフォントアセットの検証・修正(フォントがある場合のみ)
- Step 4: 合成カメラ + Canvas + RawImage作成
- 検証: compile → get-hierarchy → Play + capture-window で動作確認