Unity 网格的细节级别 (LOD) 学习

news/2024/9/29 5:14:59 标签: unity, 学习, 游戏引擎

Unity LOD学习

文档

网格的细节级别 (LOD)
https://docs.unity.cn/cn/2020.3/Manual/LevelOfDetail.html

在项目中使用

自动设置导入

文档:

https://docs.unity.cn/cn/2020.3/Manual/importing-lod-meshes.html

可以在外部 3D 应用程序中创建具有不同细节级别的网格以便用于 Unity 的 LOD 系统。如果正确命名了这些网格,则 Unity 在导入模型时会自动为这些网格创建游戏对象并配置 LOD Group 组件。

命名规范:

ExampleMeshName_LOD0 表示第一个 LOD 级别(即细节化程度最高的版本)
ExampleMeshName_LOD1
ExampleMeshName_LOD2

在这里插入图片描述

然后将BoxLODGroup导入为fbx,在unity中会自动创建LODGroup

在这里插入图片描述

unity_34">直接使用,不导入让unity自行设置

  1. 创建一个空物体,并添加LOD Group组件
    在这里插入图片描述

  2. 设置LOD,
    在这里插入图片描述
    设置模型为LOD Group的子物体,如果不设置就没有用辣~
    在这里插入图片描述

  3. 设置完成,
    在这里插入图片描述

  4. 设置其他的距离
    在这里插入图片描述

  5. 设置完成

在这里插入图片描述

界面介绍

在这里插入图片描述

建议之间看Unity文档:

https://docs.unity.cn/cn/2020.3/Manual/class-LODGroup.html#transitions

原理

细节级别 (LOD) 是一种减少 Unity 渲染远距离网格所需的 GPU 操作数量的技术。
当场景中的某个游戏对象距离摄像机很远时,与距离摄像机很近的游戏对象相比,可以看到的细节将会减少。但默认情况下,Unity 会使用相同数量的三角形来渲染两个远近不同距离的游戏对象。这可能会浪费 GPU 运算资源,从而影响场景中的性能。
LOD 技术允许 Unity 根据与摄像机的距离来相应减少为游戏对象渲染的三角形数量。 要使用此技术,游戏对象必须具有大量网格,这些网格的几何体的细节级别逐渐降低。 这些网格称为 LOD 级别。游戏对象离摄像机越远,Unity 渲染的 LOD 细节级别越低。此技术减轻了这些远处游戏对象给硬件带来的负担,因此可以提高渲染性能。
LOD 级别是一个网格,用于定义 Unity 为游戏对象的几何体渲染的细节级别。当游戏对象使用 LOD 时,Unity 将根据游戏对象与摄像机的距离来显示该游戏对象的相应 LOD 级别。
每个 LOD 级别都存在于单独的游戏对象中,每个游戏对象都有一个显示该 LOD 级别的 Mesh Renderer 组件。对于最低级别的细节,可以使用公告牌资源 (Billboard Asset),这种情况下 Unity 将显示公告牌资源而不是 3D 网格。Unity 根据需要显示和隐藏这些游戏对象。LOD 级别必须是相关的游戏对象的子游戏对象。

注意点

要使用此技术,游戏对象必须具有大量网格,这些网格的几何体的细节级别逐渐降低。` 
当游戏对象使用 LOD 时,Unity 将根据游戏对象与摄像机的距离来显示该游戏对象的相应 LOD 级别。
LOD 级别必须是相关的游戏对象的子游戏对象。

与脚本的交互

在不显示对应LOD的时候物体上的脚本是否会运行?

现在LOD级别是3,我在LOD1级别上挂载脚本,是否可以运行?
LOD 1 的脚本会运行,且OnEnable 和OnDisable 在切换LOD的时候不会再次执行。

using UnityEngine;

public class NewBehaviourScript : MonoBehaviour
{
    private void OnEnable()
    {
        Debug.Log("OnEnable:" + gameObject.name);
    }

    private void Update()
    {
        Debug.Log("Update:" + gameObject.activeSelf + "__" + gameObject.name);
    }

    private void OnDisable()
    {
        Debug.Log("OnDisable:" + gameObject.name);
    }
}

在这里插入图片描述在这里插入图片描述


http://www.niftyadmin.cn/n/5682460.html

相关文章

【CSS】字体文本

color 颜色font-size 大小font-family 字体font-style 样式font-weight 加粗text-decoration 下划线text-shadow 阴影text-transform 大小写变换text-indent 缩进text-align 水平对齐 、vertical-align垂直对齐text-overflow 溢出word-wrap 换行word-break 截断white-space 空白…

华为LTC流程架构分享

文末附LTC流程管理PPT下载链接~ 前面笔者分享了华为LTC流程相关PPT,应读者需求,今天从架构角度进行再次与读者共同学习下LTC流程架构。 华为LTC流程架构是一个全面且集成的业务流程体系,从线索发现开始,直至收回现金&#xff0c…

PG数据库的Jsonb全文检索查询

1.操作键值对 PostgreSQL 对 jsonb 类型的筛选查询可以使用 -> 或者 ->> 操作符。 -> 操作符用于通过 JSON 对象中的键来获取对应的值。->> 操作符可以将获取到的值提取出来转化为字符串类型。 例如,下面是一个包含 jsonb 类型字段的表&#x…

基于php的民宿预订管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…

【零散技术】Odoo PDF 打印问题问题合集

序言:时间是我们最宝贵的财富,珍惜手上的每个时分 Odoo PDF打印 是一个必备功能,但是总会遇到一些奇奇怪怪的问题,此帖仅做记录,方便查阅。 目录 1、样式丢失 2、部分结构丢失 3、没有中文字体 1、样式丢失 这种情况一般是由于 …

DIDIDI~

1 最佳速通时间 小C准备参加某个游戏的速通比赛,为此他对该游戏速通了 n次,每次速通记录可以用一个数组 A{a1,a2……am}表示,其中a表示小C 从游戏开始到第i个游戏节点所花赛的时间,m 为游戏节点的个数。请根据小 C 的速通记录计算…

ES8的Java API client 8.0 简单示例操作 Elasticsearch

1.加入依赖 <dependency><groupId>co.elastic.clients</groupId><artifactId>elasticsearch-java</artifactId><version>8.12.2</version></dependency>2.配置类 Slf4j Configuration public class ElasticSearchConfig {Valu…

ARM 汇编5 数据类型

在ARMv7-M处理器中&#xff0c;Byte对应8bits&#xff0c;Halfword对应16bits, Word对应32bits。 而在展示中&#xff0c;我们通常会使用一位来表示4bits&#xff0c;也就是 1 nibble 4 bits 如下图&#xff0c;一个寄存器中包含8 nibbles&#xff0c;也就是32bits。 关于…