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

RenderTexture.RenderTexture 构造函数

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

切换到手册

声明

public RenderTexture(RenderTexture textureToCopy);

声明

public RenderTexture(RenderTextureDescriptor desc);

声明

public RenderTexture(int width, int height, int depth, RenderTextureFormat format = RenderTextureFormat.Default, RenderTextureReadWrite readWrite = RenderTextureReadWrite.Default);

参数

width 纹理宽度(以像素为单位)。
height 纹理高度(以像素为单位)。
depth 深度缓冲区中的位数(0、16、24 或 32)。请注意,只有 24 位和 32 位深度支持模板缓冲区。
format 纹理颜色格式。
colorFormat RenderTexture 的颜色格式。
depthStencilFormat RenderTexture 的深度模板格式。
mipCount 为 RenderTexture 分配的 mip 贴图数量。
readWrite 如何在纹理读写时应用颜色空间转换。
desc 使用 RenderTextureDescriptor 中的设置创建 RenderTexture。
textureToCopy 复制另一个 RenderTexture 的设置。

描述

创建一个新的 RenderTexture 对象。

渲染纹理以 width x height 的大小创建,深度缓冲区为 depth 位(深度可以是 0、16、24 或 32),格式为 format 格式,并开启或关闭 sRGB 读/写。

请注意,构造 RenderTexture 对象不会立即创建硬件表示。实际的渲染纹理在首次使用时或手动调用 Create 时创建。因此,在构造渲染纹理后,可以设置其他变量,例如 formatdimension 等。

另请注意,您的图形设备功能决定了 RenderTexture 的最大大小。要确定最大大小,请对 2D 和立方体贴图 RenderTexture 使用 SystemInfo.maxTextureSize,对 3D RenderTexture 使用 SystemInfo.maxTexture3DSize,对 2D 数组 RenderTexture 使用 SystemInfo.maxTextureSizeSystemInfo.maxTextureArraySlices

当请求的大小超过最大大小时,Unity 的行为会有所不同。如果 RenderTexture 不是 3D 纹理,并且请求的大小是 2 的幂,则 Unity 会自动将请求的大小缩小 2 倍,直到它低于最大值,然后以该大小创建 RenderTexture。否则,Unity 将无法创建 RenderTexture,并抛出错误。

其他资源:formatGetTemporary

using UnityEngine;

public class Example : MonoBehaviour { public RenderTexture rt;

void Start() { rt = new RenderTexture(256, 256, 16, RenderTextureFormat.ARGB32); } }