こんにちわ、Unityエンジニアのオオバです。

UnityでSpriteRendererを使用して2Dを扱う際、
必要知識としてスプライトの単位についてまとめておきます。

この記事の内容

Unityの単位はメートル

基礎の基礎から

Unityのスプライトの単位についてまとめておく_0

X, Y, Zのスケールが1のこの立方体は、
1立方メートルの立方体ということになります。

また、ポジションが(1, 0, 0)であれば、
原点から1メートルX座標を移動した位置ということになります。

2Dではどうなるのか?

ここからが本題です。

結論から示すと、 単位 = PixelPerUnitの数値 です。

Unityのスプライトの単位についてまとめておく_1

PixelPerUnitは、各テクスチャに設定される値で、テクスチャごとに設定値を変えることができます。

デフォルト100なので、ポジションが (1, 0, 0) であれば
原点からX座標100ピクセル移動した位置ということになります。

Unityのスプライトの単位についてまとめておく_2

例えば上記のように幅200×100ピクセル PixelPerUnitが100の画像を2枚用意します。

Unityのスプライトの単位についてまとめておく_3

それぞれの位置を(0, 0, 0)(0, 1, 0)とすれば、
このようにぴったりとくっついた状態になります(当たり前ですが)。

まとめ

2DではPixelPerUnitがとても大事になります。
前述しましたが、PixelPerUnityはテクスチャごとに設定を変更することができます。
経験上1プロジェクトで扱うPixelPerUnitはすべて揃えた方がオペミスや事故率が下がると思います。

期間限定 最大95%オフセール
効率UPメガバンドル開催中!最大95%オフ!!!
期間 : 11月1日午後15時59分まで
オススメ記事