Unity LOD 多层次细节


本文提供全流程,中文翻译。

Chinar 坚持将简单的生活方式,带给世人!

(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例)


Chinar —— 心分享、心创新!

助力快速理解 Unity中多层次细节组的具体用法

为新手节省宝贵的时间,避免采坑!

Chinar 教程效果:



全文高清图片,点击即可放大观看 (很多人竟然不知道)


1

Level of detail —— 多层次细节

性能优化时,我们有时需要对物体进行处理,来让游戏跑起来更流畅

多层次细节处理,就是让一个物体,在相机距离不同的情况下,显示不同的模型,从而节省性能的开销



开发者做个非常精致的房子,顶点数/面数一定很多

玩家在游戏中,控制人物相机视角离一座房子近的时候,看起来非常精致好看!游戏体验很好!(假设性能开销为100)

当玩家走远的时候,这座房子还在那里,但已经走了很远了,房子看起来不是那么清晰了

但由于房子的模型精度太高无论远近,模型的顶点和面数都不变

Gpu都需要去处理,并绘制房子的图形效果。性能开销还是100

那么就有些浪费性能了,当玩家走远的时候,我们只需要让玩家看到一个房子还在那里即可,因为无论精细度多高,玩家看起来房子都很小,看不清

这是一个房子还好说,现如今没有什么cpu绘制不了这么一个房子。但游戏对象肯定不止一个,大型游戏可能有一堆,几百个,上千个物体

所以作为开发者,我们无需把一个精度那么高的模型,还放在那里,给CPU GPU增加工作量

这时候我们就可以用 LOD 技术,来对模型进行 分层级显示

视角离近时,我们让物体显示精细度高的模型

视角离远时,我们让物体显示精细度低的模型

这就是 Level of detail 多层次细节优化


2

Example —— Unity 层次优化例子

Unity 为我们提供了一个组件 LOD Group

开发者可以极为方便创建,并进行 LOD 优化

在层次面板中创建一个空物体,并创建3个子物体: Cube 、 Sphere 、 Capsule




3

Set LOD Group —— 添加设置层次细节组

Add ComPonent 添加组件 LOD Group

并将 3 个子物体,对应设置到组件相应的参数的层级中

注意:

其实游戏开发时,多数都是在参数中直接关联 预设物 ,而并非层次面板中的游戏对象

所以,LOD技术带来性能优化的同时,存在的一个 缺点就是会增大程序包的体积

因为本来一个模型,现在要准备起码2个/3个/4个,打包时自然而然程序包体积就会增大!




4

Ultimate Impact —— 最终效果

现在你可以缩放镜头,来查看效果了,就这么简单

LOD Group 组件会根据你设置的 距离百分比,来显示相应的游戏对象




5

Set Parameter —— 设置参数

层级显示的距离的远近,可以通过调节组件上方的显示百分比来调节

LOD Group 组件会根据你设置的 距离百分比,来显示相应的游戏对象

下边演示了,绑定预设物与设置距离的具体操作步骤





至此:LOD教程基本用法完美结束


支持

May Be —— 搞开发,总有一天要做的事!

拥有自己的服务器,无需再找攻略!

Chinar 提供一站式教程,闭眼式创建!

为新手节省宝贵时间,避免采坑!

先点击领取 —— 阿里全产品优惠券 (享受最低优惠)



1 —— 云服务器超全购买流程 (新手必备!)



2 —— 阿里ECS云服务器自定义配置 - 购买教程(新手必备!)



3—— Windows 服务器配置、运行、建站一条龙 !



4 —— Linux 服务器配置、运行、建站一条龙 !




" role="presentation" style="position: relative;">

技术交流群:806091680 ! Chinar 欢迎你的加入


END

本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究


对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com


对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址

Unity LOD-Level of Detail(多层次细节)用法教程的更多相关文章

  1. Unity3D for VR 学习(10): Unity LOD Group 组件

    LOD (Level of Detail), 远小近大思想. LOD,在Unity中是用到了空间换时间的优化方法:即程序加载2套模型,导致包会增大:在运行时刻,远处的用面数少的模型–模糊一些,近处用面 ...

  2. unity 模型层次细节

    http://blog.csdn.net/qq_25210959/article/details/51734517 层次细节(LOD),它是根据物体在游戏画面中所占视图的百分比来调用不同复杂度的模型的 ...

  3. Level Of Detail

    [Level Of Detail] LOD0离摄像机最近,LODN离摄像机最远.LOD Group组件的用法是,将此组件挂在根节点上,然后每一个LOD挂同样多的Renderer(通常是子对象). At ...

  4. Unity 3D UGUI Toggle用法教程

    UGUI Toggle用法教程 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分 ...

  5. Unity Lod

    LOD是Level Of Detais 的简称,多细节层次,根据摄像机与物体距离,unity会自动切换模型.一般离摄像机近的时候显示高模,离摄像机远的时候显示低模,借此来提升性能. 如果你在Blend ...

  6. [Leetcode] Binary tree level order traversal二叉树层次遍历

    Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...

  7. hdu 1622 Trees on the level(二叉树的层次遍历)

    题目链接:https://vjudge.net/contest/209862#problem/B 题目大意: Trees on the level Time Limit: 2000/1000 MS ( ...

  8. 32-2题:LeetCode102. Binary Tree Level Order Traversal二叉树层次遍历/分行从上到下打印二叉树

    题目 给定一个二叉树,返回其按层次遍历的节点值. (即逐层地,从左到右访问所有节点). 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 ...

  9. Unity Procedural Level Generator 基础总结与功能优化

    Procedural Level Generator是在Unity应用商店中发布的一款免费的轻量级关卡生成器: 可以直接搜索关键字在应用商店中查找并下载. 和我之前生成关卡的想法不同,这个插件生成地图 ...

随机推荐

  1. JS时钟--星期 年 月 日 时 分

    var clock = function(clockName){ var mydate = new Date(); var hours = mydate.getHours(); var minutes ...

  2. Nginx反向代理配置教程(php-fpm)

    1.安装nginx http://www.cnblogs.com/lsdb/p/6543441.html 2.安装php-fpm yum install -y php-fpm 3.配置Nginx反向代 ...

  3. 主流Linux发行版简介

    发行版 包格式 所属厂商 发布年份 最新版本 说明 RHEL RPM RedHat 2004 7.3 RedHat Linux9.0后的企业方向,系统可以免费下载安装但无法使用官方yum源 Fedor ...

  4. UNIX发展史简介

    1965年贝尔实验室(Bell Labs).通用电气(General Electric)和麻省理工学院(MIT)欲共同打造MULTICS(Multiplexed Information and Com ...

  5. 查验身份证 (15 分) 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:

    // test4.cpp : 此文件包含 "main" 函数.程序执行将在此处开始并结束.// #include "pch.h"#include <ios ...

  6. linux shell 编程参考

    #!/bin/bash my_fun() { echo "$#" } echo 'the number of parameter in "$@" is '$(m ...

  7. sigmoid belief network boltszmann machine

    because of explaining away, the hidden weights in sigmoid belief network is no longer independent

  8. laravel中对模型和路由做缓存,提高性能

    模型缓存命令: php think optimize:schema 路由缓存命令: php think optimize:route

  9. shell脚本分析一

    Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言.Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界 ...

  10. OOP⑹

    1.抽象类 所有由abstract关键字修饰的方法我们称之为 抽象方法! 抽象方法只能存在于 抽象类中! 所有由abstract关键字修饰的类我们称之为 抽象类! 抽象类的特点: 01.由abstra ...