默认情况下,当您启用它时,场景中的所有相机一个组件,用于创建场景中特定视点的图像。输出要么绘制到屏幕上,要么作为纹理捕获。 更多信息
请参阅 词汇表 使用 Mipmap 流式传输。
请按照以下步骤操作
请按照以下步骤操作
使用流式控制器组件中的Mipmap 偏差设置强制 Unity 加载比 Mipmap 流式传输自动选择的 Mipmap 等级更小或更大的 Mipmap 等级。
Unity 会将Mipmap 偏差值添加到相机视图中纹理的 Mipmap 等级。例如,如果您将Mipmap 偏差设置为 2,而 Mipmap 流式传输为纹理选择了 Mipmap 等级 1,则 Unity 将加载 Mipmap 等级 3 (1 + 2)。
您还可以使用StreamingController.streamingMipmapBias API 来控制此设置。
要设置 Unity 用于纹理的最大 GPU 内存,请按照以下步骤操作
内存预算用于 Mipmap 流式传输和所有不使用 Mipmap 流式传输的纹理的 Mipmap 等级。例如,如果您将内存预算设置为 100 MB,而您有 90 MB 的不使用 Mipmap 流式传输的纹理,则 Mipmap 流式传输的内存预算为 10 MB。
为了避免超出内存预算,Unity 会执行以下操作
您可以使用最大级别减少属性来阻止 Unity 删除小于特定级别的 Mipmap 等级。此值也是 Unity 在首次启动时加载的 Mipmap 等级。例如,如果您将最大级别减少设置为 2,则 Unity 只会加载级别 2 及更大的 Mipmap 等级,并将它们保留在内存中。
Unity 必须将高于最大级别减少值的 Mipmap 等级保留在 GPU 内存中。这可能意味着 Unity 超出了内存预算。
要估计项目的内存预算,请按照以下步骤操作
这使您可以确保 Unity 拥有足够的纹理内存可用于场景中最资源密集的区域,并防止纹理降至较低的分辨率。如果您有额外的可用内存,您可以设置更大的内存预算,以便 Unity 可以将场景中不可见的纹理数据保存在 GPU 缓存中。
注意:如果您在编辑器中使用Texture.desiredTextureMemory
,则总大小可能包括 Unity 用于渲染编辑器窗口的纹理。
您可以使用以下 API 在运行时设置和控制内存预算
QualitySettings.streamingMipmapsActive
。