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);
Unity中纹理与精灵转换技巧
本文详细介绍了在Unity游戏开发环境中,如何进行Texture2D的克隆、Sprite与Texture2D之间的相互转换。通过具体代码示例,展示了从Sprite转换为Texture2D,以及从Texture2D创建Sprite的方法。
1712

被折叠的 条评论
为什么被折叠?



