多层次细节

    通常的 LOD 的做法是对于某些离屏幕较远或者不重要的物体,使用低模进行代替。

    在引擎中,如果要启用 LOD,可以在 属性检查器 内选择 添加组件 按钮并选择 LOD Group 组件。

    添加后,场景中会显示 剔除() 或者 LOD 字样。

    enabled

    LOD Group 组件的属性描述如下:

    点击属性检查器上任意 > LOD(0 ~ 3) 展开后会显示如下图示:

    lod0

    其属性及描述如下:

    属性说明
    Screen Ratio(%)最小屏占比,取值范围 [0, 1]。
    开发者可以在后方的输入框内输入自定义的屏占比,也可以通过 Apply Current Screen Ratio 自动计算屏占比
    当屏占比低于当前配置的值时,LOD 会自动向下个层次切换;如没有更多层次,则物体会被剔除
    Apply Current Screen Ratio应用当前屏占比
    按下后,LOD Group 组件会将当前显示状态的屏占比作为 Screen Ratio(%) 的值
    Mesh Renderers网格渲染器
    请参考下方文档以获取更详细的信息
    0 Triangle - 0 Sub Mesh(es)该属性显示了当前层次所配置的三角面的数量以及其子网格的数量

    网格渲染器可以通过点击下方的 以及 - 按钮进行添加或者删除操作。

    LOD

    将鼠标放在 LOD 的右侧显示网格信息处可以显示添加或删除层次按钮。

    add-remove-level

    点击 时会在数组尾部添加一个新的 LOD。

    点击 - 时删除当前鼠标所指的 LOD。删除后,后续的 LOD 会自动向前位移。

    配置好 LOD 后,在场景管理器内通过鼠标滚轮即可以预览不同的层次。

    随着鼠标滚动的变化,场景相机逐渐拉远,此时 LOD 的层次会变化,如当前物体的屏占比低于 LOD2 所配置的屏占比时,场景管理系统会将其剔除(Culled)。屏幕中会显示当前该 LOD Group 的层次状态 LOD(0~3) 或 剔除。

    脚本的使用

    开发者可以通过 方法获取到该组件:

    更多 API 可参考

    在实际项目开发中,美术工作者可在 DCC 软件(Maya、3D Max、Blender)中进行减面操作,并将模型导出。

    export

    自动匹配

    通过 DCC 软件导出的模型如果其子节点拥有多个以 _lod + 数字 作为结尾时,LOD Group 组件会自动匹配这些子网格或网格渲染器。

    自动匹配示例

    请确保已按照上述的规则导出相应的模型。

    将准备好的 FBX 或者 glTF 文件导入到引擎的 资源管理器 内:

    此时资源导入系统会自动识别这些节点并启用 LOD Group 进行自动匹配:

    auto-match

    Q&A

    • 我是否可以添加多个 LOD Group

      可以。他们之间会工作良好。

    • 我能否在 2D 场景内使用 LOD

      由于 LOD Group 组件只会识别 MeshRenderer 而 2D 或者 UI 组件通常没有 MeshRenderer,因此这样做并没有什么意义。