【100个 Unity实用技能】 | Unity 的 LOD技术(多细节层次)

2023-11-21 11:40

本文主要是介绍【100个 Unity实用技能】 | Unity 的 LOD技术(多细节层次),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

请添加图片描述

  • 🎬 博客主页:https://xiaoy.blog.csdn.net

  • 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN🙉

  • 🎄 学习专栏推荐:Unity系统学习专栏

  • 🌲 游戏制作专栏推荐:游戏制作

  • 🌲Unity实战100例专栏推荐:Unity 实战100例 教程

  • 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

  • 📆 未来很长,值得我们全力奔赴更美好的生活✨

  • ------------------❤️分割线❤️-------------------------

请添加图片描述请添加图片描述请添加图片描述

请添加图片描述


Unity 小科普

老规矩,先介绍一下 Unity 的科普小知识:请添加图片描述请添加图片描述请添加图片描述

  • Unity是 实时3D互动内容创作和运营平台 。
  • 包括游戏开发美术建筑汽车设计影视在内的所有创作者,借助 Unity 将创意变成现实。
  • Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机平板电脑PC游戏主机增强现实虚拟现实设备。
  • 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏

Unity 踩坑小知识点学习

Unity中的 LOD技术(多细节层次)

LOD(Level of detail) 多层次细节,是最常⽤的游戏优化技术。
它按照模型的位置和重要程度决定 物体渲染的资源分配,降低⾮重要物体的⾯数和细节度,从⽽获得⾼效率的渲染运算。

这就是说,根据摄像机与模型的距离,来决定显示哪一个模型,一般距离近的时候显示高精度多细节模型,距离远的时候显示低精度低细节模型,来加快整体场景的渲染速度。

  • 作用:优化GPU
  • 缺点:同一模型要准备多个模型,消耗内存
  • 特点:以内存做消耗来优化GPU
使用示例

在场景中对某一个游戏对象 准备三个不同精度的模型

在这里插入图片描述
创建一个空物体,并把3个精度的模型放下边,给空对象添加上 LOD组件
在这里插入图片描述
然后点击 LOD组件 的各个精度添加上不同精度的模型
在这里插入图片描述

然后此时移动 场景摄像机 或者 组件的摄像机 就可以看到效果了,如下所示:
请添加图片描述
它会根据游戏对象与摄像机之间的距离来切换不同精度的模型,达到一个高效率的渲染效果。

就像我们 大逃杀游戏 里面的效果一样,在飞机上的时候看地面都是光秃秃的,等到了地上之后才能看到房子和花花草草之类的图形。

LOD组件参数

LOD组件 有一个参数 Fade Mode(淡化模式)

在这里插入图片描述
在这里插入图片描述
有三种模式可以选择,NoneCross FadeSpeed Tree

None 就是一个默认模式,不作处理。

其中Cross Fade为交叉淡入淡出,在这个选下还有一个可变属性叫Fade Transition Width(淡入淡出过渡宽度)

Fade Transition Width 是一个从0~1之间的值,代表淡入淡出的过渡区域占当前LOD级别的比例。如果值较小的话,可以延迟两个LOD级别混合的开始并且过渡更快,因为Unity通常使用的是屏幕空间抖动或透明度来实现交叉渐变。
在这里插入图片描述

Speed Tree 只需要物体提供0~1的状态,然后两个LOD级别的混合是从0开始到1结束的,也就是开始时是与前一级别的LOD一致,转换结束时就与后一个LOD级别完全匹配了。

Speed Tree 模式仅用于在两个Mesh LOD级别之间进行混合,即当前和下一个LOD级别都具有Mesh Renderer(网格渲染器)时。当转换到Billboard LOD级别或完全淡出时,Unity会执行Cross Fade风格的混合。
在这里插入图片描述

Project Settings中与LOD组件相关参数

菜单栏:Edit > Project Settings > Quality,打开Quality Setting窗口

找到Other下的参数,如图所示:
在这里插入图片描述
在这里插入图片描述

Maximum LOD Level:是最大LOD级别,表示游戏中使用的最高LOD级别。在该级别以上的模型不会被使用,并且在编译时忽略。(这将节省存储空间和内存空间)。

LOD Bias :LOD偏离 ,LOD级别基于物体在屏幕上的大小。当物体大小在两个LOD级别之间,可以选择使用低细节模型或高细节模型。数值取值范围为0-1,数值越接近0,越偏向于选择低细节模型。


👑评论区抽奖送书

最后在评论区进行抽取三名幸运的小伙伴送下面这本书籍

在这里搞个小活动抽奖送给大家,对看书感兴趣的小伙伴可以参加一波呀,抽中概率很大哦!

《Unity和C# 游戏编程入门(第5版)》

🎁规则如下:
🚀 规则如下🚀
  • 给本篇博客文章 点赞 收藏 评论 三连,然后就可以在博客文章评论区抽奖送一本Unity入门的书籍!

  • 总共抽三本,中的几率还是很大的哦~ 想看书的小伙伴参与起来!

  • 中奖信息文章发布时间的三天后下午本篇文章评论区公布!记得留意呀!

  • 没抽到的,但是喜欢这本书的小伙伴也可以在网上自行购买哈,官方正品商店购买即可!

🚀 规则如上🚀

🎄推荐理由(⭐⭐⭐⭐⭐)

  • 《Unity和C#游戏编程入门(第5版)》 为从零开始学习C#编程提供了一条清晰的路径,绕过了复杂的术语和难以理解的编程逻辑,通过在Unity中创建一个简单的游戏来实现知识的掌握。
  • 第5版中,对C#功能的介绍针对新版的Unity游戏引擎进行了更新,同时增加了介绍中级集合类型的章节。读者将从软件编程与C#语言的基础开始,学习C#编程中的核心概念,包括变量、类和面向对象编程。
  • 在具备了C#编程的基本能力后,读者将进入Unity游戏开发的世界,并发掘如何通过C#脚本来实现简单的游戏机制。
    在这里插入图片描述

没抽到的小伙伴也可以官方平台自行购买哦:
京东移动端地址:https://item.m.jd.com/product/13706878.html

如果实在喜欢但是没抽到你的话,可以在评论区说一下,后续可以再给大家继续送福利!

在这里插入图片描述

这篇关于【100个 Unity实用技能】 | Unity 的 LOD技术(多细节层次)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/402132

相关文章

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

Python实现PDF按页分割的技术指南

《Python实现PDF按页分割的技术指南》PDF文件处理是日常工作中的常见需求,特别是当我们需要将大型PDF文档拆分为多个部分时,下面我们就来看看如何使用Python创建一个灵活的PDF分割工具吧... 目录需求分析技术方案工具选择安装依赖完整代码实现使用说明基本用法示例命令输出示例技术亮点实际应用场景扩

PostgreSQL中rank()窗口函数实用指南与示例

《PostgreSQL中rank()窗口函数实用指南与示例》在数据分析和数据库管理中,经常需要对数据进行排名操作,PostgreSQL提供了强大的窗口函数rank(),可以方便地对结果集中的行进行排名... 目录一、rank()函数简介二、基础示例:部门内员工薪资排名示例数据排名查询三、高级应用示例1. 每

C++链表的虚拟头节点实现细节及注意事项

《C++链表的虚拟头节点实现细节及注意事项》虚拟头节点是链表操作中极为实用的设计技巧,它通过在链表真实头部前添加一个特殊节点,有效简化边界条件处理,:本文主要介绍C++链表的虚拟头节点实现细节及注... 目录C++链表虚拟头节点(Dummy Head)一、虚拟头节点的本质与核心作用1. 定义2. 核心价值二

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

Qt如何实现文本编辑器光标高亮技术

《Qt如何实现文本编辑器光标高亮技术》这篇文章主要为大家详细介绍了Qt如何实现文本编辑器光标高亮技术,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录实现代码函数作用概述代码详解 + 注释使用 QTextEdit 的高亮技术(重点)总结用到的关键技术点应用场景举例示例优化建议

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技