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

立方体贴图.Apply

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

声明

public void Apply(bool updateMipmaps = true, bool makeNoLongerReadable = false);

参数

updateMipmaps 当此值为 true 时,Unity 会重新计算多级渐远纹理等级,并使用渐远纹理等级 0 作为源。默认值为 true
makeNoLongerReadable 当此值为 true 时,Unity 会在将纹理上传到 GPU 后删除 CPU 内存中的纹理,并将 isReadable 设置为 false。默认值为 false

说明

将您对 CPU 纹理执行的更改复制到 GPU。

对于大多数类型的纹理,Unity 可以在 CPU 和 GPU 内存中同时存储纹理的副本。

CPU 副本是可选的。如果存在 CPU 副本,您可以比 GPU 副本更灵活地读写 CPU 副本。但是,为了渲染更新的纹理,您必须使用 Apply 将其从 CPU 复制到 GPU。

如果将 makeNoLongerReadable 设置为 true,Unity 会在将纹理上传到 GPU 后删除纹理的 CPU 副本。

通常,只有在您已使用 SetPixels 等方法更新多级渐远纹理等级时,您才将 updateMipmaps 设置为 false

Apply 是一项开销大的操作,因为它会复制纹理中的所有像素,即使您只更改了一些像素也是如此,因此在调用之前请尽可能多地更改像素。

using UnityEngine;

public class Example : MonoBehaviour { public Cubemap cubeMap;

void Start() { cubeMap.SetPixel(CubemapFace.PositiveX, 0, 0, Color.red); // Do more changes to the faces... cubeMap.Apply(); // Apply the stuff done to the Cubemap. } }