この記事でのバージョン
Unity 5.1.0f3 Personal
はじめに
Texture2DにはResizeというメソッドが用意されており、
これを使うことでサイズ変更を行う事が出来ます。
texture2D.Resize(width, height);
しかし、これを使うと画像が灰色になります。
リファレンスを見ると以下の通りで、
サイズ変更した後、テクスチャピクセルは定義されません。この関数は、テクスチャコンストラクターと非常に似ています。
Unity - スクリプトリファレンス:Texture2D.Resize
サイズは変更出来るけど、色は無くなるよー初期化してるようなもんだねー。 (意訳)
という事らしいです。
TextureScale
Resizeメソッドの必要性はよく分かりませんが、とりあえず単純にリサイズができないらしく、
途方に暮れていた所、Unity Answersに同じような方がいました。
回答の中に、これ使えばいいよ!とTextureScaleなるものが挙げられていました。
TextureScale - Unify Community Wiki
実際にこのTextureScaleをコピペして作成し、以下のようなコードでリサイズが可能です。
//補完してして指定サイズに拡大or縮小 TextureScale.Bilinear (texture2D, width, height); //補完せずにして指定サイズに拡大or縮小 TextureScale.Point (texture2D, width, height);
Bilinearを使うと補完してくれて、ある程度綺麗に拡大ができます。
ドット絵等、補完されると逆におかしくなる場合はPointを使ったほうが良さげですね。