Unityで動的に画像を読み込んで、指定の矩形を取得する場合
Sprite.Createを用います。以下のようなコード。
var texture = Resources.Load<Texture2D>("Levels/tileset"); var sprite = Sprite.Create(texture, new Rect(32, 0, 32, 32), new Vector2(0.5f, 0.5f));
おまけ
これだけなのですが、動かすまでに意外と苦労しました。
あれ、画像が表示されない? なぜだ?と
Resources.Loadの引数にポイントがあって
となります。Resources.Loadで正しく取得できなかった場合は例外にはなりません。返り値がnullになります。
あと、たまにUnityのスクリプトの内容がゲームに反映されないことがありました。
ただ、この処理、重いらしく、多くの方がさまざまなアーキテクチャを検討されているようです。