Unity 遮挡剔除

news2024/9/20 16:59:02

渲染时 摄像机视锥体会裁切一部分
其实还可以遮挡剔除
首先要设置下
阻挡别人的 在这里插入图片描述
被阻挡的 在这里插入图片描述
设置好以后 点一下bake
在这里插入图片描述
摄像机记得要设置这个 Occlusion Culling
在这里插入图片描述
在这里插入图片描述
右下第一个选项
Camera Volumes
相机进入这个范围内 才会触发 遮挡剔除

勾选上 就可以看到 剔除的效果 也就是说 被挡住的物体会消失不见
Occlusion culling

必须在
在这里插入图片描述
这个模式下 拖动摄像机才会隐藏被遮挡的物体
编辑器模式就可以预览 不需要运行模式
在这里插入图片描述

其实你会发现 触发遮挡剔除的范围太小了
有没有办法扩大呢

可以创建一个空对象 加上组件 Occlusion Area
然后调整大小
在这里插入图片描述
可以看到他是绿色的
设置完以后 记得bake一下
在这里插入图片描述
看 范围扩大了
摄像机碰撞到这个盒就会开启遮挡了
你也可以创建多个 Occlusion Area

最重要的一点 Smallest Occluder 一定要设置正确 不然不会触发阻挡
具体看一下描述

The size of the smallest object that will be used to hide other objects when doing occlusion culling. Any objects smaller than this size will never cause objects occluded by them to be culled. For example, with a value of 5, all objects that are higher or wider than 5 meters will cause hidden objects behind them to be culled (not rendered, saving render time). Picking a good value for this property is a balance between occlusion accuracy and storage size for the occlusion data.

最小物体的大小,在进行遮挡剔除时将用于隐藏其他物体。任何小于此大小的对象都不会导致被它们遮挡的对象被剔除。例如,值为5时,所有高于或大于5米的物体将导致隐藏在它们后面的物体被剔除(不渲染,节省渲染时间)。为这个属性选择一个好的值是遮挡精度和遮挡数据存储大小之间的平衡。

比如你的遮挡物大小是3
Smallest Occluder 要设置为1.5才行
设置为3就不会触发
具体原理不太清楚

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/698267.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql批量插入1000条数据

使用mysql的存储过程 1.现有如下一张表&#xff1a;site_row 2.创建存储过程 CREATE PROCEDURE p01 () BEGIN declare i int; set i1;while i<1000 doINSERT INTO site_row(row_id,row_num) VALUES ( i,i);set ii1; end WHILE;END; 3.执行存储过程 CALL p01(); 4.查看效…

6.2.3 取得路径的文件名称与目录名称

每个文件的完整文件名包含了前面的目录与最终的文件名&#xff0c;而每个文件名的长度都可以到达255 个字符。取得文件名或者是目录名称&#xff0c;一般的用途应该是在写程序的时候用来判断之用。所以&#xff0c;这部分的指令可以用在第三篇内的 shell scripts 里头。 6.3 文…

关于后台管理系统的学习:主界面

关于管理系统的主界面布局基本上都是下面这个格式&#xff1a; 系统中展示的所有内容都是基于这个文件(index.vue)的&#xff0c;通常会将主页面进行组件的拆分&#xff0c;比如&#xff1a; <template><div><!-- 模块区 --><layout-header v-if"m…

蓝桥杯专题-试题版-【危险系数】【网络寻路】【高僧斗法】【约数倍数选卡片】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 &#x1f449;关于作者 专注于Android/Unity和各种游…

【Java高级编程】IO流

IO流 1、File类的使用1.1、File类的理解1.2、File的实例化1.3、常用方法 2、IO原理及流的分类2.1、流的分类2.2、流的体系结构2.3、输入、输出的标准化过程 3、节点流&#xff08;或文件流&#xff09;3.1、FileReader的使用3.2、FileWriter的使用3.3、文本文件的复制3.4、File…

Vue3学习(一)创建项目集成ElementPlus

一、创建vue项目 软件安装&#xff1a;nodejs16 https://nodejs.org/download/release/v16.20.0/ 将npm设置为淘宝镜像&#xff1a; npm config set registry https://registry.npm.taobao.org 开始创建vue3项目 npm init vuelatest npm install npm run dev Eleement-Plus …

【python】dlib人脸识别初步

文章目录 安装与初步使用HOG算法人脸识别CNN人脸识别CNN车辆识别 安装与初步使用 dlib也是从C转过来的Python模块&#xff0c;正常安装非常痛苦&#xff0c;需要下载cmake还有boost&#xff0c;所以这里推荐用conda来安装&#xff0c;一行代码轻松搞定 conda install -c cond…

Rust简介

Rust简介 为什么要用Rust与其他语言比较Rust 特别擅长的领域Rust 与 FireFoxRust 的用户和案例![在这里插入图片描述](https://img-blog.csdnimg.cn/b1e0a39c53ba45d1a3c93d0dd73408fe.png)Rust 优缺点 ref: https://www.bilibili.com/video/BV1hp4y1k7SV 为什么要用Rust 与其…

构建便捷高效的宠物医疗预约服务平台:基于Spring Boot的实现

本文介绍了基于Spring Boot的宠物医疗预约服务平台的设计与实现。通过使用Spring Boot框架和相关技术,我们建立了一个功能丰富的平台,为宠物主人提供了便捷的宠物医疗预约服务。本文将详细介绍平台的架构设计和关键功能模块,并提供相关代码示例以展示技术实现的深度。 宠物…

内网渗透解析

1|0一、前言 阅读本文前需要先搞懂NAT、PAT、端口映射几个概念&#xff0c;内网宽带中的主机可以访问公网宽带主机&#xff0c;反之不可以访问&#xff1b;公网宽带主机可以和公网宽带主机双向访问&#xff1b;内网宽带中的主机和内网宽带中的主机互相无法访问。那么内网宽带中…

前端JavaScript入门-day05

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 对象 1. 对象是什么 对象&#xff08;object&#xff09;&#xff1a;JavaScript里的一种数据类型 可以理解为是一…

Elasticsearch和Kibana的安装

Elasticsearch和Lucene的关系 Elasticsearch是一个高度可扩展的、开源的、基于 Lucene 的全文搜索和分析引擎。它允许您快速&#xff0c;近实时地存储&#xff0c;搜索和分析大量数据&#xff0c;并支持多租户。 Elasticsearch也使用Java开发并使用 Lucene 作为其核心来实现所…

Docker Compose基础与实战

一、是什么 Compose 项目是 Docker 官方的开源项目&#xff0c;负责实现对 Docker 容器集群的快速编排。 二、能做什么 Compose允许用户通过一个单独的docker-compose.yml模板文件&#xff08;YAML 格式&#xff09;来定义一组相关联的应用容器为一个项目&#xff08;project&…

单链表的简介与实现(Java)

一、前言 线性结构的链式存储是用若干地址分散的存储单元存储数据元素&#xff0c;逻辑上相邻的两个数据元素在物理位置上并不一定相邻&#xff0c;必须采用附加信息来表示数据元素之间的顺序关系。因此存储一个数据元素的数据单元至少包含两部分------数据域和地址域 上述的结…

java简易计算器的设计

简易计算器的设计 1.1实训内容 模仿Windows自带的标准版计算器&#xff0c;设计并用Java语言实现简易的计算器&#xff08;根据自己的能力&#xff0c;可以适当地增加或删除部分功能&#xff09;。 最低要求&#xff1a; 计算器运行界面如下图所示&#xff0c;包含二个文本框…

Android Binder通信原理(七):java 下的C-S

源码基于&#xff1a;Android R 0. 前言 在之前的几篇博文中&#xff0c;对Android binder 的通信原理进行的深入的剖析&#xff0c;这些博文包括&#xff1a;binder 简介、servicemanager启动、service注册、service获取、Java 端的service 注册和获取。 在前一文中&#xf…

PostgreSQL处理JSON数据

源&#xff1a;https://blog.csdn.net/c_zyer/article/details/130968257?ops_request_misc&request_id&biz_id102&utm_termPostgreSQL%20%E7%9A%84JSON%20%E5%A4%84%E7%90%86&utm_mediumdistribute.pc_search_result.none-task-blog-2allsobaiduweb~default-…

pgsql:纵列字段转为横列字段

问题&#xff1a; 想要将查询出来的数据纵列字段转为横列字段。如以下是24小时内每个小时的数据表&#xff1a; SELECT deviceid,press_avg, hh FROM site_data 想要转换后的效果如下&#xff0c;将24小时内所有数据横向展示&#xff1a; 解决方案&#xff1a; 实现的sql查询…

Spring事务的介绍和使用

目录 一、Spring事务作用 二、代码实现 三、Spring事务相关配置 1、事务配置 2、事务传播行为 一、Spring事务作用 事务作用&#xff1a;在数据层保障一系列的数据库操作同成功同失败 Spring事务作用&#xff1a;在数据层或业务层保障一系列的数据库操作同成功同失败 二、…

分散输入和集中输出(Scatter-Gather I/O):readv()和writev()

readv()和writev()系统调用分别实现了分散输入和集中输出的功能。 NAMEreadv, writev, preadv, pwritev - read or write data into multiple buffersSYNOPSIS#include <sys/uio.h>ssize_t readv(int fd, const struct iovec *iov, int iovcnt);ssize_t writev(int fd, c…