IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 深入了解Unity剔除(草稿) -> 正文阅读

[游戏开发]深入了解Unity剔除(草稿)

????????剔除是渲染流程的一部分,也是渲染之前首先要做的事情,在Unity中提供摄像机视椎体剔除遮挡剔除两种解决方案。这两种剔除检测都以摄像机为参考中心,而且每一帧都会执行剔除操作。剔除操作会检查场景中的渲染器,并排除那些不需要绘制渲染器

????????默认情况下摄像机执行视椎体剔除,这个过程是排除那些不在摄像机视椎体范围内渲染器。视椎体剔除不检查渲染对象是否被遮挡,所以Unity会渲染那些最终帧不可见渲染器仍然浪费时间渲染不可见的对象对于CPU和GPU是徒劳的。

????????然而,遮挡剔除是Unity通过离线烘焙生成场景的有关数据,然后在运行时通过数据分析渲染器的可见性,从而做到对可见的渲染器进行渲染。相应的代价是Unity需要更多的运行时内存支持遮挡剔除功能。

概念

? ? ? ? 遮挡剔除又分为静态遮挡剔除动态剔除,主要的区别在于前者既可以同时作用于遮挡物也可以作为被遮挡物,而应用动态剔除的对象只能作为被遮挡物。其次,应用静态遮挡剔除对象必须场景中的静态对象,这意味着该对象在运行时不能移动,而动态剔除不受此限制。再者,静态遮挡剔除会通过烘焙为场景生成分析数据动态剔除则是在运行时根据对象轮廓和位置进行即时剔除操作。

静态遮挡剔除

????????静态遮挡剔除只能应用非运行时生成的场景对象,并且作用对象必须是静态遮挡物(Static Occluder)或静态被遮挡物(Static Occludee)其中一个,当然也允许一个对象同时是静态遮挡物和静态被遮挡物

????????应用静态遮挡物对象必须具备持有Terrain或Mesh Render组件、不透明在运行时不移动。(提示:针对使用LOD静态遮挡物,Unity会使用基础细节LOD0作为静态遮挡物的轮廓,在该物体LOD0与其他LOD级别之间变化很大,那么会出现遮挡误差)

????????应用静态被遮挡物对象必须具备持有任何类型的Renderer组件、在运行时不移动

开始使用

1、我们在Unity工具栏中,从【窗口>渲染>遮挡剔除】菜单打开【遮挡】面板

2、在【遮挡】面板中切换到【对象】页签,并选中【Renderers】标签

3、在【层级】中选中需要设置的【对象】

4、在【遮挡】面板中,勾选Occluder Static(静态遮挡物) 和Occludee Static(静态被遮挡物)

5、在【遮挡】面板中点击【Bake】按钮,烘焙场景

6、最后在【Assets/Scenes/<Your Scene>】目录下会生成一份【OcclusionCullingData(遮挡剔除数据)】

?效果

Unity遮挡剔除

动态剔除

【简介】

【开始使用】

【效果】

优化策略

按需分配遮挡物与被遮挡物

????????遮挡物跟摄像机进行交互计算,而被遮挡物跟遮挡区域进行交互验证,他们协作完成了遮挡剔除功能。一个物体即属于遮挡物又属于被遮挡物,那么它会参与两种交互。

选择合适的遮挡物

????????遮挡物的特征是大,足以称得上掩体,且可以帮助提升渲染效率。一般中大型的场景元素作为遮挡物,像山体、树林、房屋、车辆、墙体、巨型摆件等都可以作为遮挡物,具体还要参照游戏世界的设定。

????????不恰当的掩体车辆,在《模拟城市》这样的游戏设定中,车辆就不适合做遮挡物,因为车辆相对于整个世界来讲,渺小而又密集。

????????不恰当的掩体环境山脉,在诸多户外游戏设定中为了衬托场景气氛,在地图边缘通常会用环境山脉将地图围起来,然而环境山脉背后通常就是天空盒,没有可遮挡物体,那么将他作为遮挡物就不划算。

????????不恰当的掩体户外的巨型雕像,例如树立在主城中的一尊巨型雕像,在各个视角下其背后的可遮挡物寥寥无几,那么将它设定为遮挡物显然有些得不偿失。

选择合适的被遮挡物

????????场景中的挂件、摆件、NPC、玩家、粒子特效都可以作为被遮挡物,那么被遮挡物的特征就是小,但不聚集。

????????不恰当的被遮挡物,例如陈列柜子中的古玩,每个格子中都摆放着一个古玩,如果将每个古玩都作为一个被遮挡物,那么显然会浪费CPU的效能,最好的办法是将陈列柜作为被遮挡物。

More...

????????

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-11-14 22:03:23  更:2021-11-14 22:04:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 22:32:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码