1:克隆Texture2D
//originTex为克隆对象
Texture2D newTex;
newTex = new Texture2D(originTex.width, originTex.height);
Color[] colors = originTex.GetPixels(0, 0, originTex.width, originTex.height);
newTex.SetPixels(colors);
newTex.Apply();//必须apply才生效
2:Sprite转Texture2D
//sprite为图集中的某个子Sprite对象
var targetTex = new Texture2D((int)sprite.rect.width, (int)sprite.rect.height);
var pixels = sprite.texture.GetPixels(
(int)sprite.textureRect.x,
(int)sprite.textureRect.y,
(int)sprite.textureRect.width,
(int)sprite.textureRect.height);
targetTex.SetPixels(pixels);
targetTex.Apply();
参考:https://answers.unity.com/questions/651984/convert-sprite-image-to-texture.html
3: Texture2D转Sprite
//t2d为待转换的Texture2D对象
Sprite s= Sprite.Create(t2d, new Rect(0, 0, t2d.width, t2d.height), Vector2.zero);