版本: Unity 6 (6000.0)
语言英语
  • C#

Texture2D.Reinitialize

建议修改

成功!

感谢您帮助我们提升 Unity 文档的质量。虽然我们无法采纳所有提交的内容,但我们确实阅读用户提出的每项更改建议,并在适用情况下进行更新。

关闭

提交失败

由于某种原因,您的更改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提升 Unity 文档的质量。

关闭

取消

声明

public bool Reinitialize(int width, int height);

声明

public bool Reinitialize(int width, int height, Experimental.Rendering.GraphicsFormat format, bool hasMipMap);

声明

public bool Reinitialize(int width, int height, TextureFormat format, bool hasMipMap);

参数

width 纹理的新宽度。
height 纹理的新高度。
format 纹理的新格式。
hasMipMap 纹理是否为完整的 mipmap 链保留内存。

返回值

bool true 如果重新初始化成功。

描述

重新初始化一个 Texture2D,使您可以替换该纹理的 widthheighttextureformatgraphicsformat 数据。

此操作还会清除与纹理相关联的 CPU 和 GPU 中的像素数据。

此函数与 Texture 构造函数非常相似,只是它作用于已存在的 Texture 对象,而不是创建新的对象。

无法重新初始化 Crunched 纹理,因此如果将 Crunched 纹理传递给此方法,它将返回 false。有关压缩和 crunched 纹理的更多信息,请参阅 纹理格式

调用 Apply 将更改的像素上传到显卡。

Texture.isReadable 必须为 true

Texture2D.Reinitialize 不会自动更新 特殊纹理属性 {TextureName}_TexelSize 和 {TextureName}_HDR,这些属性由 Unity 在使用该纹理的着色器和材质上自动设置。在使用 Texture2D.Reinitialize 后,如果您需要这些属性,则应更新材质或着色器上的 {TextureName}_TexelSize 和 {TextureName}_HDR