2D Pixel Perfect
2D Pixel Perfect パッケージには、Pixel Perfect Camera コンポーネントが含まれています。このカメラは、ピクセルアートをさまざまな解像度で鮮明な状態に保ち、モーションを安定した状態にします。
これは、解像度の変更に応じたビューポートのスケーリングに必要な計算を (手動で行う必要がないように) すべて実行する単一のコンポーネントです。このコンポーネントの設定を使用すると、カメラのビューポート内にレンダリングされるピクセルアートの定義を調整できます。また、Run in Edit Mode 機能を使用すると、変更をゲームビューですぐにプレビューできます。
Pixel Perfect Camera コンポーネントは、シーン内の Main Camera ゲームオブジェクトにアタッチします。このコンポーネントは、シーンビューの カメラ ギズモを中心とした 2 つの緑色のバウンディングボックスで表現されます。緑色の実線のバウンディングボックスは、ゲームビューに表示される範囲を示し、点線のバウンディングボックスは、Reference Resolution (基準解像度) を示します。
基準解像度 は、アセットの意図された本来の解像度です。コンポーネントの機能に対するこの解像度の影響については、ドキュメントで詳しく説明しています。
このコンポーネントを使用する前に、最適な結果が得られるように、以下の手順でスプライトを正しく準備してください。
スプライトの準備
テクスチャをスプライトとしてプロジェクトにインポートした後、すべてのスプライトの Pixels Per Unit を同じ値に設定します。
スプライトの Inspector ウィンドウで、Filter Mode を ‘Point’ に設定します。
Compression を 'None' に設定します。
以下の手順に従って、スプライトのピボットを正しく設定します。
選択したスプライトの スプライトエディター を開きます。
Sprite Mode が ‘Multiple’ に設定されていて、スプライト 要素が複数ある場合、個々のスプライト要素ごとにピボットポイントを設定する必要があります。
スプライトの設定で、Pivot を ‘Custom’ に設定し、Pivot Unit Mode を ‘Pixels’ に設定します。これにより、ピボットポイントの座標をピクセル単位で設定したり、スプライトエディター でピボットポイントを自由にドラッグして、ピクセルの角に自動的にスナップさせたりすることができます。
必要に応じて、各 スプライト 要素についてこの手順を繰り返します。
スナップ設定
スプライトのピクセル単位の動きを一貫したものにするために、以下の手順に従って、プロジェクトで適切なスナップ設定を指定します。
Edit > Snap Settings に移動し、Snap settings を開きます。
Move X/Y/Z プロパティを、1 を Pixel Perfect Camera の Asset Pixels Per Unit (PPU) で割った値に設定します。例えば、Asset PPU が 100 の場合、Move X/Y/Z プロパティを 0.01 に設定します (1/100 = 0.01)。
Unity はスナップ設定を事後適用することはありません。シーン内に既存のゲームオブジェクトがある場合は、それぞれのゲームオブジェクトを選択し、Snap All Axes を選択してスナップ設定を適用します。
プロパティ
コンポーネントの Inspector ウィンドウ
プロパティ | 機能 |
---|---|
Asset Pixels Per Unit | シーンの 1 ユニットを構成するピクセルの数です。この値を、シーン内のすべてのスプライトの Pixels Per Unit の値と一致させます。 |
Reference Resolution | アセットの意図された本来の解像度です。 |
Crop Frame | アスペクト比が異なる場合の処理方法を示します。 |
Grid Snapping | スナップの処理方法を示します。 |
Current Pixel Ratio | 元のサイズと比較した、レンダリングされるスプライトのサイズ比を示します。 |
その他のプロパティの詳細
Reference Resolution
アセットの意図された本来の解像度です。この解像度からシーンやアセットをスケールアップすると、ピクセルアートが高解像度でも鮮明な状態に保たれます。
Grid Snapping
Upscale Render Texture
デフォルトでは、シーンはフルスクリーン解像度に最も近いピクセルパーフェクトな解像度でレンダリングされます。
このオプションを有効にすると、フルスクリーンのアスペクト比を維持しながら、Reference Resolution にできるだけ近い解像度に設定された一時的なテクスチャにシーンがレンダリングされます。この一時的なテクスチャは、画面全体に合わせてアップスケールされます。
結果のピクセルは、エイリアスがなく回転されていない状態になります。ゲームプロジェクトによっては、このようなビジュアルスタイルが望ましい場合もあります。
Pixel Snapping
この機能を有効にすると、レンダリング時にスプライトレンダラーがワールド空間のグリッドにスナップします。グリッドのサイズは、Assets Pixels Per Unit の値に基づきます。
Pixel Snapping を使用すると、サブピクセル単位での移動を防ぎ、スプライトがピクセル単位で移動しているように見せることができます。ゲームオブジェクトのトランスフォームの位置には影響しません。
Crop Frame
選択されたオプションに基づいてビューポートを切り抜き、Reference Resolution に合わせて黒いバーを追加します。黒いバーは、フルスクリーン解像度にゲームビューが収まるように追加されます。
切り抜きなし | 切り抜きあり |