Unityの2Dゲームテンプレートを触っていたのですが、キャラの座標が-5とかで画面の端になってしまいます。この画像は128x128なんですが。
Unityは3Dありきでカメラ位置で2Dを実現しているからのようです。
CameraのSizeを10に調整して、画面の比率を調整して色々試してみました。
まず、座標軸。画面の中央をX=0,Y=0として、上に行くにつれプラス、右にいくにつれプラス。数学の座標と一緒ですね。
CameraSizeの10は画面の高さにそのまま当てはまり、幅は画面比率で決まります。
Sizeはどうすればいいのか? じゃあ、縦の画素数を300にしたいんだったら、Camera.Sizeを300にすればいいんじゃない?
と思いました。そしたら、全然表示されませんでした。Camera.Sizeが大きすぎるんでしょう。
Camera.Sizeは何が適切なのか?
上記の記事を参考にさせていただいたところ、以下になるようです。
縦に表示したい画素数 / Pixels Per Unit(100) / 2 = Size
Pixels Per Unitはデフォルトが100なので、100固定で計算して良さそうです。
つまり、300にしたいなら、Camera Sizeは3.00です。
ピクセルとしての座標に対して100で割って、原点中央で算出すれば良いので、とても扱いやすいですね。
画像を切り出すときは左下原点で算出する必要があるので注意です。私は、左上原点に慣れているので、ここがハマってしまいました。