Search Results for

    Show / Hide Table of Contents

    静态注视点渲染

    在人类的视觉系统中,人眼视力分为中心视力和周边视力两部分。中心视力提供精确和细节的视觉内容,周边视力提供广角视野范围的画面。两者的视敏度差别催生了 VR 领域常用的注视点渲染(Foveated Rendering)技术。

    注视点渲染通过为视野中心提供无损分辨率,同时降低周边视野(人眼焦点区域之外)分辨率的方式来大幅降低计算复杂度,优化 VR 场景渲染效果。

    在静态注视点渲染(Fixed Foveated Rendering)中,视野焦点被固定于视口中心位置,分辨率由中心向周围递减。

    分辨率示意图

    PANCAKE Unity SDK 提供三个注视点渲染等级:FOVEATION_LEVEL_LOW、FOVEATION_LEVEL_MEDIUM、FOVEATION_LEVEL_HIGH。不同等级对分辨率的影响不同。示意图如下:


    效果展示

    Low、Med 以及 High 级别的注视点渲染效果如下:


    设置注视点渲染等级

    1. 在项目设置ProjectSetting中,选中XR Plug-in Management > OpenXR 。
    2. 选择SXR。
    3. 点击 SXR Runtime 将弹出 Feature Settings 面板。
    4. 勾选 Enable Foveation 即可设置Foveation Level。


    已知问题

    若在项目内使用通用渲染管线(URP)并开启静态注视点渲染,会导致静态注视点渲染失效。
    · 原因一:静态注视点渲染能力目前与 Eye Buffer 绑定,由于 URP 引入了 Intermediate Texture,因此会使图像首先被渲染至 Intermediate Texture 上而非 Eye Buffer 上,从而导致静态注视点渲染失效。
    解决方法:禁用后处理、HDR 及会用到 Intermediate Texture 的 Renderer Feature。

    · 原因二:在 URP 10.10.1 版本中,相机的 Clear Flags 设置项行为发生改变,选择 Skybox 时会使 Color Attachment 的 Invalidate 设置丢失,导致静态注视点渲染失效。
    注:10.10.1 之后的版本中可能也存在该问题,具体以实际使用情况为准。
    解决方法:在 ScriptableRenderer 的 GetCameraClearFlag 方法中注释掉 CameraClearFlags.Skybox 部分,使其也返回 ClearFlag.All,如下图所示。


    In This Article
    Back to top Copyright © Shenzhen Skyworth New World Technology Co. ,Ltd.