精华内容
下载资源
问答
  • Smart LOD Unitypackage

    2015-06-05 08:48:59
    LOD技术为Unity3D 中常用开发技术,而Smart LOD插件提供的优化比官方的LOD优化效率更高一些
  • SimpleLOD,除了同样拥有Mesh Baker所具有的Mesh合并、Atlas烘焙等功能,它还能提供Mesh的简化,并对动态蒙皮网格进行了很好的支持。该插件可在Run-time和Editor中都可以使用,同时开放了源码,大家可以根据项目的...
  • simpleLOD,好用的lod插件,经过测试,还是非常好用的
  • Unity优化——LOD技术

    万次阅读 2019-02-26 21:40:25
    什么是LOD LOD是Level Of Detais 的简称,多细节层次 在游戏场景中,根据摄像机与模型的距离,...根据摄像机与物体距离,unity会自动切换模型。 使用LOD 先准备几个模型,从高模到低模。没有模型。。。低配版 ...

    什么是LOD

    LOD是Level Of Detais 的简称,多细节层次

    在游戏场景中,根据摄像机与模型的距离,来决定显示哪一个模型,一般距离近的时候显示高精度多细节模型,距离远的时候显示低精度低细节模型

    游戏中有高模低模的存在。说白的就是离得远看不清,离得近很清楚。

    根据摄像机与物体距离,unity会自动切换模型。

    使用LOD

    先准备几个模型,从高模到低模。没有模型。。。低配版

    创建空物体,并把3个模型放下边。添加上lod组件

    一次点击add,添加不同模型。

    移动摄像机,或者场景摄像机。观察效果

     

    展开全文
  • Automatic LOD.unitypackage

    2020-05-07 11:38:34
    模型的面数过多,在游戏上跑,性能会有较大问题,该插件可对模型面数进行优化模型,使游戏流畅度不受模型面数影响。
  • Unity关于层级细节(LOD);网上有很多教程,插件里面有两个demo的,可以参考
  • LOD技术指根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。 模型准备: 如果已经准备有多个不同精度的模型便可以直接使用...

    定义:

    LOD技术即Levels of Detail的简称,意为多细节层次。LOD技术指根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。

    模型准备:

    如果已经准备有多个不同精度的模型便可以直接使用LOD Group组件进行设置。否则向大家介绍一个网站可以对模型进行减面并生成模型。

    点击Download进入到下载界面

    点击Free Edition下的Online Edition,下载下来之后解压压缩包会得到一个名为MantisLODEditor的文件夹,将该文件夹整个拖拽到你需要试用的项目中,然后选中需要生成低面模型的对象,点击Window->Mantis LOD Editor->Component->Editor->Mantis LOD Editor Online,然后可以看到Mantis LOD Editor Online组件界面如下:

    根据你需要可以通过Quality选项设置生成的mesh的面数,Triangles是当前quality选项设置下的三角面数,需要注意的是第一次更改Quality需要Upload Mesh。最后点击Save Current Mesh按钮,保存生成的mesh。

    生成完毕后删掉MantisLODEditor组件。

    LOD设置

    在模型对象的父对象身上添加LOD Group组件,并复制两个模型对象,分别将Skinned Mesh Renderer的mesh设为上一步生成的mesh,摄制完成的效果如下图:

    可以看到在模型对象的父对象上有LOD Group组件,然后有四个LOD层级,分为LOD0,LOD1,LOD2,Culled,LOD 0 对应高精度模型,以下依次降低。

    选中每个层级,将准备好的对应模型精度的对象拖拽到Renderers位置或者点击Add添加。

    打开Edit->Project Settings->Quality,然后可以看到Other项的设置如下,

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

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

    最后可以在场景中移动摄像机位置观察对象的mesh变化。

    在这里主要是想向大家介绍一下Mesh Online,如果你是一个独立游戏开发者,它将会为你在模型优化上省很大的力气。

    最后谢谢B站独立游戏开发者“李三影”UP主以及博主“丢丢思密达”,分别从两位那里了解到MeshOnline以及最后一点的Project Settings,学习到了。

    展开全文
  • Unity LOD Group

    千次阅读 2020-01-22 18:18:23
    文章目录概述LOD Group 选择条预览 LOD 切换Renderers for LOD MeshesLOD切换Fade Transition WidthWorking with Speed Tree modeAPI 概述 当绘制对象时,单位像素绘制的三角形数量越多,效率就越低。因此我们希望在...

    概述

    当绘制对象时,单位像素绘制的三角形数量越多,效率就越低。因此我们希望在保证精度的前提下渲染尽量少的三角形数量,LOD可以解决这个问题。

    LOD(Level of Detail),根据对象距离摄像机的距离,使用合适的渲染数据(Renderer,Mesh,Material)来对对象进行渲染。典型的,一个角色,当距离摄像机特别近时,我们希望展现更多的细节,比如布料纹理,花纹。但是当距离摄像机特别远时,即使渲染了这些细节,屏幕上也不一定能看到,因为这些细节可能比一个像素还要小,这些渲染就没有效果了。同时,近处栩栩如生的细节,到一定距离后,会产生像素抖动,例如衣服上耀眼的金线,在远处由于误差,可以一会渲染,一会不渲染,效果就是一些杂乱的亮点在闪烁,显得很脏。所以无论是为了降低渲染负载,还是降低像素抖动,当对象离我们较远时,都应该用简化的Mesh,简单的材质进行渲染。这就是LOD的作用。

    题外话,其实对于其它部分,比如动画播放,AI更新,也是适用该概念的,远处的东西执行简化的逻辑。

    在Unity中,使用 LOD Group 组件用来管理对象细节等级(Level of Detail)。

    控制LOD切换

    LOD选择条,选择LOD Levels,进行编辑,以及查看效果。

    Load Bias质量设置信息。图中的信息表示当前设置为2.0,只要设置为1以外的值,都会出现该提示。在Editor>ProjectSettings>Quality>Other>LOD Bias进行设置。该值用来定义摄像机距离对象多远时,开始执行LOD逻辑。

    Fade Transition Width,定义淡入淡出距离。当不选择Animate Cross-fading时,选择Culled前面的LOD,该参数会出现。主要是解决2个问题:浮点抖动,即由于浮点误差,摄像机和对象都不动时,在可见距离判断上不精确,结算结果一会可见,一会不可见,对象会闪烁。二是如果该判断范围太小,则相对距离在很小的范围内变化时,也会比较频繁地在可见,不可见之间切换,该width实际上定义了一个缓冲区来避免该现响。

    该LOD级别进行渲染的Renderer,可以有多个。

    此外,在该组件底部还有2个按钮

    Recalculate Bounds:当添加进新的LOD Mesh Renderer 时,重新计算 Bounding Volume(包围体)。

    Recalculate Lightmap Scale:当LOD包围体更新后,重新计算对象的所有的Mesh Renderers的 lightmap scale 属性。

    LOD Group 选择条

    LOD Group Selection Bar 用带颜色的框来表示选中的LOD。

    LOD框内的百分数,是该LOD激活的阈值,该阈值是对象在屏幕空间中的高度与屏幕总高度的比值。例如,如果LOD1的threshold被设置成了50%,则当拉远摄像机,到该对象在视口中的高度小于视口高度的一半时,显示该LOD。

    A:LOD预览的播放指示器。可以拖动摄像机图标来在LOD之间切换。在其底部显示了当前的百分比。

    B:点击level框选中一个LOD,选中后,可以编辑两侧的框线来编辑其切换区域值,以及编辑显示用的渲染器(Renderers)。

    C:在LOD框内,点击鼠标右键,会弹出菜单,可以删除该LOD,活在在LOD前插入新的LOD。

    D:Level调整控制。拖动框的边线来改变LOD等级的百分比。

    注意:如果 LOD Bias 的值不是1,则进行LOD切换时的摄像机位置可能不是对象在屏幕中高度比时的位置,所以会显示警告。

    预览 LOD 切换

    当在Scene视口中选中一个对象,并用滚轮移动摄像机,或者直接在LOD Group 组件上拖动摄像机图标,可以看到距离多远时进行LOD切换。

    当切换LOD时,会渲染对象当前LOD的包围盒,以及当前LOD文字。

    Renderers for LOD Meshes

    选中一个LOD后,可以编辑他的渲染模型。

    Renderers 是该LOD要进行渲染的Mesh,通常是挂载了LOD Group组件的对象的子对象。

    点击Add按钮添,会弹出窗口,列表中是当前场景的所有对象,可以选择一个作为该LOD渲染的Mesh,也可以直接从Hierarchy窗口中直接拖动一个对象上去来添加,完成后该按钮变成一个Mesh预览,并显示“-”按钮来删除。同时后面会显示Add按钮。

    如果添加的对象,不是该对象的子对象,Unity会提示将其编程子对象。

    LOD切换

    游戏过程中,我们不想让玩家明显地感觉到切换的过程,因此要实现一种平滑地切换。

    当切换时,Unity会同时渲染当前和下个LOD地Mesh,并分别淡入和淡出。

    Cross-fading 是同一时刻,用0-1地权重,渲染2个等级地技术。

    Unity实现了2种方式地切换,混色和半透明。

    对于最后一个LOD,没有cross-fading,仅仅是淡出,后面没东西淡入了:)

    设置平滑切换:

    1. Fade Mode 选择 Cross Fade。

    注意,如果使用了Speed Tree,请使用 Speed Tree 模式

    1. 默认地,Animate Cross-fading 是勾选的,意思是Unity会按照时间来执行淡入淡出。如果想要自定义根据摄像机位置的切换区域,取消该选项,并设置 Fade Transition Width参数来控制。

    Fade Transition Width

    当模型的高度比例到达下个LOD的阈值时,开始切换LOD,例如如果LOD1的阈值时60%,当高举比例为60%时,立即进行LOD0和LOD1之间的切换,切换会持续一定的时间。

    当勾选 Animate Cross-fading时,该过程是自动的,不需要进行任何设置。每个LOD切换执行同样的过程和时间。

    也可以选择在LOD内定义其切换区域。Animate Cross-fading未选择时,该参数会显示。每个区域开始,并在下个LOD的阈值前结束。该区域定义的是在该LOD时,到达下个LOD差的百分比为多少时,开始执行(相当于提前进行)LOD的切换。

    设置方法:

    1. 取消 Animate Cross-fading 复选框
    2. 选择一个LOD,并调整 Fade Transition Width 的值。

    该值是当前LOD的整个长度的百分比。越大,开始的越早。

    Working with Speed Tree mode

    Speed Tree 的集合体为每个顶点存储了下一个LOD的位置信息,每个顶点知道如何在当前LOD位置和下个LOD位置之间进行插值。导入speed tree构建的模型时,Unity会自动选择Speed Tree mode。

    Unity只需要渲染当前的LOD几何体,并提供一个0-1的值来控制每个顶点逐步的移动到下一个LOD的位置。在LOD切换结束后,就变成下个LOD的几何体了。

    Speed Tree 模式用该 Blend Factor 对顶点位置,在当前Mesh LOD Level和下个Mesh LOD Level之间进行插值。用茶之后几何体进行渲染。

    注意:Speed Tree 模式仅混合2个Mesh LOD levels,即它们都是Mesh Renderer。如果是切换到billboard片LOD级别或完全消失,则执行Cross-fading模式。

    Blend Factors in Shader code

    Unity并没有内建的提供混合两个Mesh的技术。如果需要,则要自己实现。

    Unity会根据对象的屏幕尺寸计算混合因子,并传递给shader,存储在unity_LODFade.x中,y则是LOD Level。根据Fade Mode,在shader中对应LOD_FADE_PERCENTAGE和LOD_FADE_CROSSFADE。

    API

    编程接口

    展开全文
  • Simple LOD v1.5.unitypackage

    2019-08-23 14:03:03
    SimpleLOD插件1.5经过一些修改,仅代码工程简单清晰,可以对Mesh的面数进行优化,Mesh合并和在游戏中动态去修改模型的面数等等的功能,是优化游戏性能比较好的利器。
  • 1.合并网格以达到减少draw calls的目的 2.合并材质和烘焙图集进一步减少draw calls 3.减少三角形面
  • Unity3D之LOD技术详解

    2020-09-23 12:37:15
    LOD为Levels of Detail的简称,简单来说即为多细节层次,不少朋友经常听到这个名称,但是并不知道如何把这个技术运用在游戏里面,如果用百度查到的说法是:LOD技术指根据物体模型的节点在显示环境中所处的位置和重要...

    LOD为Levels of Detail的简称,简单来说即为多细节层次,不少朋友经常听到这个名称,但是并不知道如何把这个技术运用在游戏里面,如果用百度查到的说法是:LOD技术指根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。

    以上的解释可能很多人看了是一头雾水,还是不了解LOD的实际运用,以下让我们通过一个简单的案例来说明LOD的巧妙之处。

    我们使用了3dsmax来说明LOD模型的制作,下载附件后打开场景文件,里面是三个面数不同的油桶造型,由左到右分别代表了高模,一般与低模的模型结构。

    1.png 


    选择左边的油桶模型,如图所示,这个模型的数据为三角面712,顶点数358。

    2.png 


    选择右边的模型,这个低模的数据很符合我们的要求,一般来说,用三个模型来制作LOD的效果就很足够了,例如建筑场景里面,最远端的房子只能看到类似盒子的效果,而镜头前面的楼房则是可以清楚的看到里面的许多细节,但是镜头推进到远处的楼房时,原来的盒子立即换成另一个可以战胜细节的模型,这个就是LOD的运作原理。

    3.png 


    将模型保存为FBX后,导入Unity进行测试,命名的方式建议是在物件的后面加上LOD的层级代号,这样比较方便我们直接用名称来选择高模与低模。

    4.png 


    在制作LOD之前,我们需要注意一个事情,那就是将不同面数的模型放在同一个位置,否则会发生模型位置错乱的情况,如图所示,使用Reset方式将中间的模型与低模移到与高模相同的位置。

    5.png 
    6.png 


    接着建立一个空的Game Object,将其命名为prop_Barrell,我们准备用在这个空组件上面添加LOD的属性。

    7.png 


    选择Component > Rendering > LODGroup,然后就可以对LOD开始进行设置的工作。

    8.png 


    在LODGroup的设置里面列出了LOD的层级,底下的Add用来添加LOD所对应的模型,操作方法是先选择LOD : 0,按下Add,选择场景里面的prop_barell_LOD0模型。

    9.png 


    系统弹出一个提示,询问是否将这个选择的模型设置子物体,选择Yes,Reparent即可。

    10.png 


    如图所示,在选择Reparent后,LOD0的模型自动的设置为prop_Barell的子物件。

    11.png 


    设置完成LOD:0的层级后,选择LOD:1,按下Add,选择场景内的prop_barell_LOD1,接着选择LOD:2,按下Add,选择prop_barell_LOD2后即可完成整个LOD的设置。

    12.png 


    现在滑动LODGroup上方的相机图标来测试LOD的效果,模型在近处时使用的是LOD0所设置的高模,移到LOD1时则是显示为一般进度的模型,而在LOD3的层级时,模型就换为低模,移到最后的Culled插件,模型已经完全的消失了。

    13.png 
    14.png 
    15.png 


    此外,我们还可以任意的修改每一个层级的作用范围,只要拖动LOD分隔的线段即可,然后再根据相机的预览来调整出最合适的LOD效果。

    16.png 

    Unity的资源商店也提供了功能更为强大的LOD设置插件,以下为试用版的位置,如果是用于商业项目,请支持正版。

    Smart LOD 1.0 - 大场景的优化神器
    http://www.narkii.com/club/thread-320869-1.html

    展开全文
  • Unity关于层级细节(LOD)的使用

    万次阅读 多人点赞 2016-06-22 15:19:04
    层次细节(LOD),它是根据物体在游戏画面中所占视图的百分比来调用不同复杂度的模型的。简单而言,就是当一个物体距离摄像机比较远的时候使用低模,当物体距离摄像机比较近的时候使用高模。这是一种优化游戏渲染...
  • Unity 场景遮挡剔除实践总结 一、步骤概览 场景导入 设置遮挡物(Occluder static)和被遮挡物(Occludee static)的状态(static) 建立遮挡剔除区域(没有建立的话默认是场景本身),打开Window/Rendering/...
  • unity shader lod 使用

    千次阅读 2017-05-25 01:50:08
    LOD是 ( Level of Detail ) 的缩写,表示细节级别。Shader LOD - 这个是另外一种控制细节级别的技术 - 在一个 Shader 当中,可以给不同的 SubShader 指定不同的LOD属性,例如: SubShader { Tags{ "RenderType" ...
  • Unity 模型减面工具,按指定比例裁剪模型面数,适用于没有模型师做低模时
  • Mantis LOD3.0。支持蒙皮网格。减少网格片面数。Mantis LOD3.0。支持蒙皮网格。减少网格片面数。Mantis LOD3.0。支持蒙皮网格。减少网格片面数。Mantis LOD3.0。支持蒙皮网格。减少网格片面数。Mantis LOD3.0。支持...
  • Unity-LOD的用法和一些参数

    千次阅读 2019-03-17 20:49:59
    Unity-LOD的用法和一些参数 Lod-level of detail LOD技术指根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。 这就是说,通过...
  • Unity中合并Mesh生成LOD

    千次阅读 2019-07-15 23:38:52
    Unity
  • 作用:unity引擎会根据不同的LOD值在不同的平台上使用不同的SubShader 注意:在上几篇博客中已经说过在一个着色器中会有一到多个SubShader,但是系统每次只会执行一个子着色器,选择子着色器的标准就是根据子着色器...
  • unityLOD优化技术详解

    千次阅读 2019-01-17 22:13:55
    相信有很多人听到要优化项目时,脑海中就会蹦出LOD这个单词。那么,LOD技术到底是什么呢?怎么去使用呢? 接下来由小生给大家操作一波,看过之后保证会使。 首先,要知道LOD技术的含义: LOD为Levels of Detail的...
  • Simple LOD v1.6.unitypackage

    2018-04-17 12:31:41
    SimpleLOD,除了同样拥有Mesh Baker所具有的Mesh合并、Atlas烘焙等功能,它还能提供Mesh的简化,并对动态蒙皮网格进行了很好的支持。该插件可在Run-time和Editor中都可以使用,同时开放了源码,大家可以根据项目的...
  • Unity优化 lod技术

    2020-05-23 17:20:32
    Unity优化 lod技术 LOD Group是unity里面的一项插件,他的功能是可以随着摄像机视角的不断远离或靠近来显示设定好的模型。 为什么使用lod: 当场景有许多模型而且都是面数很多的高模,模型数量的增加必然增加引擎的...
  • 自动LOD生成+场景优化-最初发布于2018年1月12日,通过 AutoLOD主要是一个框架,用于在导入时对几何模型资产进行自动后处理,以创建简化的详细程度(LOD)。 包括器,但是可以与其他简化器互换,并且如果需要,可以...
  • 最近 QA 同学需要在 某个 LODGroup 对象,当前显示的 LOD 是哪个级别的功能,所以上网搜索了一下,发现:Current LOD level - LOD Group Unity 也有人需求该功能,但是回答的人写得代码的不到想要的效果,所以自己...
  • 在工作的时候因为需要去调每一个模型的LOD细节度数过于麻烦,而自己去写的一个LOD的批量修改器。 using UnityEditor; using UnityEngine; using System.Collections.Generic; [ExecuteInEditMode] public class ...
  • 关于SimpleLod的学习笔记

    千次阅读 2018-05-21 13:36:59
    最近学习unity性能优化相关的知识,涉及到一个插件SimpleLod,其插件功能主要包括以下三个部分:1.合并网格以达到减少draw calls的目的2.合并材质和烘焙图集进一步减少draw calls3.减少三角形面一、合并网格(基本...
  • [UnityShader基础]LOD

    千次阅读 2017-10-31 23:31:49
    本文片段摘自:猫都能学会的Unity3D Shader入门指南,请点击链接查看原文...LOD案例:Shader "Custom/Diffuse Texture" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} } SubShader { Tags { "Render
  • InstantOC Dynamic Occlusion Culling LOD 1.5.unitypackage
  • CrossFadingLod, ( Unity ) 交叉淡入淡出LOD明暗器示例 交叉淡入淡出LOD明暗器示例这个例子展示了如何使用 LOD组的交叉淡入淡出选项。 :如何设置按常规方式设置 LOD组 。将LOD组的淡入淡出模式更改为"交叉淡入淡出...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,818
精华内容 2,727
关键字:

lodunity