スクリプトで Image に Texture2D を設定する方法メモ。
一番簡単なのは直接設定。
1 2 |
Image img = GameObject.Find("XXX/YYY/Image").GetComponent<Image>(); img.material.mainTexture = tex2d; |
これで問題ないはずだけど、何故かSpriteを設定していないImageのテクスチャが全て変更されました(Version Unity5.5.0f3)。
追記:これはデフォルトマテリアルを操作してしまうようです(コメント参照)
原因を探るのも面倒なのでちょっと変更してスプライトを変更するようにする。
1 |
img.sprite = Sprite.Create(tex2d, new Rect(0,0,tex2d.width,tex2d.height), Vector2.zero); |
これで意図通りに変更できた。