src | 源纹理。 |
srcElement | 要从中复制的源纹理中的元素。例如,立方体贴图中的CubemapFace或纹理数组中的切片。如果src 是二维纹理,则将值设置为0 。 |
srcMip | 要从中复制的mipmap级别。范围是0 到源纹理的Texture.mipmapCount。默认值为0 。 |
dstMip | 要写入的mipmap级别。范围是0 到此纹理的Texture.mipmapCount。默认值为0 。 |
srcX | 要从中复制的src 的起始x坐标。0 是纹理的左侧。 |
srcY | 要从中复制的src 的起始y坐标。0 是纹理的底部。 |
srcWidth | 要复制的src 的宽度。 |
srcHeight | 要复制的src 的高度。 |
dstX | 要复制到的此纹理的x坐标。 |
dstY | 要复制到的此纹理的y坐标。 |
从 CPU 上的另一个纹理复制像素数据。
此方法将像素数据从源纹理复制到 CPU 上的此纹理。对于纹理和src
,Texture.isReadable必须为true
,并且您必须在CopyPixels
之后调用Apply以将更改的像素上传到 GPU。
Apply是一个代价高昂的操作,因为它会复制纹理中的所有像素,即使您只更改了一些像素,因此在调用它之前,请尽可能多地更改像素。如果您只需要在 GPU 上复制像素,则使用GraphicsTexture参数的Graphics.CopyTexture速度更快。
要使用CopyPixels
,要复制的大小必须在两个纹理中相同。使用基于区域的重载来指定比完整mipmap级别更小的区域。
基于元素的重载不支持压缩纹理格式。基于区域的重载根本不支持压缩纹理格式。如果任一纹理不可读,Unity 将抛出UnityException
,如果CopyPixels
失败,则抛出ArgumentException
。
其他资源:Apply、Graphics.CopyTexture、SetPixels。