強火で進め

このブログではプログラム関連の記事を中心に書いてます。

UnityでPixel Perfectの設定方法

TransformのSacleで設定した値がそのままデバイス上の1Pixelに対応するPixel Perfectな状態を作成する方法の解説。この設定を行うとテクスチャのサイズと同じサイズをScaleに設定するとクリアな画像を表示可能です。

まずはCameraのProjectionの設定をOrthographicに変更します。

ゲームのUI部分にはOrthographicでも良いけどゲーム本編部分は3Dに遠近感をちゃんと出したいのでPerspectiveの設定のままにしたいという場合には新たにCameraを追加してそちらの設定をOrthographicにする様にしてPerspective用とOrthographic用のカメラを分ける様にして下さい。

続いてOrthographicに変更したカメラにスクリプトを追加し、Awakeに以下の様な記述すればOKです。
JavaScriptの場合】

function Awake() {
	camera.orthographicSize = Screen.height / 2;
}

C#の場合】

    void Awake () {
        camera.orthographicSize = Screen.height / 2;
    }

Camera.orthographicSize
http://docs-jp.unity3d.com/Documentation/ScriptReference/Camera-orthographicSize.html

(2014/05/05 追記)
Sprite を使う場合にはちょっと記述が変わるので以下の記事を参照して下さい。

UnityでPixel Perfectの設定方法( Sprite を使う場合) - 強火で進め
http://d.hatena.ne.jp/nakamura001/20140505/1399287710

(追記ここまで)

関連情報

Pixel Perfect and Clean Textures
http://forum.unity3d.com/threads/82265-Pixel-Perfect-and-Clean-Textures