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);
|