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. } }