【unity小技巧】一些unity3D灯光的使用与渲染及性能优化方案

news2024/11/23 18:56:17

文章目录

  • 天空盒反射
  • 配置太阳耀斑眩光
  • 烘培光照
  • 烘培光照时弹出错误,记得勾选模型下面的选择
  • 阴影
    • 项目配置
    • 光源
    • 模型
    • 模型shader的问题
  • 全局光照
  • 混合光照模式
  • 混合照明模式
    • 减性照明模式
    • Shadowmask照明模式
    • 间接烘焙照明模式
  • 环境光遮罩
  • 灯光探针
  • 反射探针技术
    • 关闭反射探针
    • 可以修改反射探针区域大小
    • 没有实时反射
  • 自发光材质
  • 渲染路径
  • 完结

天空盒反射

我们新建一个cube,可以看到它默认收到环境光的影响
在这里插入图片描述
在这里插入图片描述

把材质的金属度和平滑度拉满,会发现它会完全反射天空盒
金属度表示反射强度,1完全反射
平滑度表示反射多少天空盒,1就是全反射天空盒
在这里插入图片描述
但是你会发现反射的天空盒很模糊,我们可以增加环境反射分辨率,可以看到清晰了
在这里插入图片描述

配置太阳耀斑眩光

在这里插入图片描述
效果
在这里插入图片描述

烘培光照

记得勾选需要受到烘培光照影响的物体为静态
在这里插入图片描述
点击烘培
在这里插入图片描述

烘培光照时弹出错误,记得勾选模型下面的选择

在这里插入图片描述

阴影

项目配置

在这里插入图片描述

光源

在这里插入图片描述

模型

在这里插入图片描述

模型shader的问题

不要使用透明shader
在这里插入图片描述

全局光照

我们注意这个Shadow caster表示阴影数,过多会对性能造成影响
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
记得修改要烘培的物体为静态,灯光模式也修改为烘培
在这里插入图片描述
记得勾选烘培全局光照,不勾选烘培光源不会受到间接光源影响,然后烘培
在这里插入图片描述

效果
在这里插入图片描述
烘培好了,灯光我们可以进行删除,也不会影响

混合光照模式

我们现在在新增一个会动的cube,灯光肯定会有问题,因为前面的灯光我们是烘培出来的
在这里插入图片描述
当然你可以把灯光简单的改为实时灯光,记得再重新进行烘培
在这里插入图片描述
但是可以看到阴影比较暗,记得打开实时全局光照,不勾选实时光源不会受到间接光源影响,再进行烘培,效果
在这里插入图片描述
最好我们选择mixed混合模式,再重新进行烘培
在这里插入图片描述

在这里插入图片描述
一般情况下,我们不会同时开启实时和烘培全局光照,这会造成性能的浪费,这里我们取消实时全局光照,重新烘培
在这里插入图片描述
在这里插入图片描述
注意,这里新的cube背面是黑色的原因是我关闭了天空盒和环境照明,修改回来就可以了
在这里插入图片描述

混合照明模式

减性照明模式

在这里插入图片描述
减性模式最省性能,但是不支持高光且只能渲染一个光照

Shadowmask照明模式

因为前面选择了减性照明模式,烘培的阴影无法对我们动态物体产生影响就像下面这样
在这里插入图片描述
修改Shadowmask模式改为Distance Shadowmask(距离阴影蒙版)
在这里插入图片描述
把照明模式改为Shadowmask,重新烘培
在这里插入图片描述
效果
在这里插入图片描述
注意这里的阴影距离,表示如果我们的相机距离目标在150以内,会可以看到动态实时的影子,但是如果距离大于150以外,则显示的烘培阴影
在这里插入图片描述
为了方便测试,我把值改成5看看效果
在这里插入图片描述

间接烘焙照明模式

在这里插入图片描述
最费性能,影子更加真实
超过设定的阴影距离,影子会直接消失包括烘培的影子
在这里插入图片描述在这里插入图片描述

环境光遮罩

开启环境光遮罩,点击重新烘培
在这里插入图片描述
开启环境光遮罩之后,主要模型直接拐角处的变化,变得更加真实
在这里插入图片描述

灯光探针

前面的修改Shadowmask模式改为Distance Shadowmask(距离阴影蒙版),虽然可以解决烘培的阴影对我们动态物体产生影响,但是比较耗性能,我们先改回Shadowmask模式
在这里插入图片描述
我们可以使用灯光探针
在这里插入图片描述
编辑探针包裹不同区域

反射探针技术

让游戏物体有真实的反射效果
在这里插入图片描述
把小球调成全反射
在这里插入图片描述

在小球身上加添加反射探针
在这里插入图片描述

结果全黑,是因为我们的反射探针默认是烘培模式
在这里插入图片描述
我们需要把想要反射的物体设置为静态,并重新烘培
在这里插入图片描述

关闭反射探针

想要关闭反射探针也很简单,选择反射探测器为off
在这里插入图片描述

可以修改反射探针区域大小

在这里插入图片描述
如果场景只有一个物体受到反射探针的影响,把反射探针区域大小调节和该物体一样的最好,这样更加节省性能

没有实时反射

当然前面反射探针我们使用的是烘培模式,所以肯定无法实时反射内容

我们可以修改反射探针类型为实时,刷新模式为每帧更新
在这里插入图片描述
运行查看反射效果,就可以实时显示效果了
在这里插入图片描述

自发光材质

勾选材质发射,修改材质的HDR颜色
在这里插入图片描述
记得勾选需要光照的物体勾选伪静态,再进行烘培
效果
在这里插入图片描述

渲染路径

Unity 的内置渲染管线支持不同渲染路径。渲染路径是与光照和阴影相关的一系列操作。不同的渲染路径具有不同功能和性能特征。应根据项目类型以及目标硬件,确定哪种渲染路径最适合您的项目。

可在 Graphics 窗口中选择项目使用的渲染路径,并可为每个摄像机覆盖该路径。

如果运行项目的设备上的 GPU 不支持所选的渲染路径,则 Unity 将自动使用较低保真度的渲染路径。例如,在无法处理延迟着色的 GPU 上,Unity 使用前向渲染。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

完结

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!

好了,我是向宇,https://xiangyu.blog.csdn.net

一位在小公司默默奋斗的开发者,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!如果你遇到任何问题,也欢迎你评论私信或者加群找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~
在这里插入图片描述

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

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

相关文章

【单元测试】【Android】JUnit 4 和 JUnit 5 的差异记录

背景 Jetbrain IDE 支持生成 Test 类,其中选择JUnit5 和 JUnit,但是感觉这不是标准的单元测试,因为接口命名吧。 差异对比 两者生成的单测API名称同原API,没加test前缀的。使用差异主要表现在: setUp & …

Nuxt3:拉取项目模板失败问题解决方法

问题描述 使用官网提供的命令npx nuxilatest init <project-name> 创建Nuxt3项目时&#xff0c;遇到了拉取项目模板失败的问题&#xff0c;报错信息如下 先分析一下这行命令在做的事情&#xff0c;结合之前的经验来看&#xff0c;似乎是在尝试通过该网址返回的元数据信息…

在 Sui 区块链上创建、部署与测试自定义 move _coin合约的完整教程

系列文章目录&#x1f60a; Task1&#xff1a;hello_move&#x1f340; Task2&#xff1a;move_coin&#x1f340; Task3&#xff1a;move_nft&#x1f340; 目录 系列文章目录&#x1f60a;引言一、更新本地代码1、查看当前项目的远程仓库信息。2、将远程仓库的最新代码同步到…

三层交换机静态路由实验

1、前置知识 2、实验目的 3、实验器材&#xff1a; 3560-23PS交换机2台、主机4台、交叉线1根和直通网线4根。 4、实验规划及拓扑 实验要求&#xff1a; &#xff08;1&#xff09;在交换机A和交换机B上分别划分基于端口的VLAN&#xff1a; 交换机 VLAN 端口成员 交换机…

iOS构建版本以及Hbuilder打iOS的ipa包全流程

目录 Hbuilder打ipa包 打包之前进行应用配置 应用版本号设置 使用广告标识设置 iOS-云打包 下载并转移安装包 使用Transporter提交版本 应用简介 下载应用 账号登录 提交安装包到apple store connect 在apple开发者平台上确认 总结 本篇文章详细的介绍了使用Hbuil…

java学习-集合

为什么有集合&#xff1f; 自动扩容 数组&#xff1a;长度固定&#xff0c;可以存基本数据类型和引用数据类型 集合&#xff1a;长度可变&#xff0c;可以存引用数据类型&#xff0c;基本数据类型的话需要包装类 ArrayList public class studentTest {public static void m…

返回流类型接口的错误信息处理

返回流类型接口的错误信息处理 前言axios拦截器src/utils/request.ts对应接口 前言 返回流类型接口需要在响应成功回调里拦截&#xff0c;且该接口的status始终是200&#xff0c;尽管后端返回的code可能是非2xx&#xff0c;因此返回流类型的接口&#xff0c;其错误信息需要单独…

用宏实现简单的计算器

大家好&#xff0c;那么经过我们前面几期的学习&#xff0c;我们对宏有了一定的了解&#xff0c;那么我们今天就来试试实现一个简单的加减乘除运算。 我们的思路是使用三目操作符来分别进行加减和乘除的运算&#xff0c;然后用if判断来”进入相关的判断体进而来进行计算。当然…

WEB攻防-通用漏洞文件上传js验证mimeuser.ini语言特性

知识点&#xff1a; 1、文件上传-前端验证 2、文件上传-黑白名单 3、文件上传-user.ini妙用 4、文件上传-php语言特性 详细点&#xff1a; 1、检测层面&#xff1a;前端&#xff0c;后端等 2、检测内容&#xff1a;文件头&#xff0c;完整型&#xff0c;二次渲染等 3、检…

《Vue零基础教程》(3)创建第一个应用案例

1 应用实例 参考官方文档 https://cn.vuejs.org/api/application.html#create-app 示例 const {createApp} Vue// 通过createApp创建一个应用实例 const app createApp({/* 选项 */ }) console.log(app) 分析打印结果, 可知 应用实例是一个对象没有_开头的是公开属性/方…

复合瓦片切片集集合数量与性能关系验证

作者&#xff1a;lzzzz Sci瓦片聚合性能分析 需要聚合的图层越多&#xff0c;性能越低&#xff0c;目前测试以每个瓦片仅包含一个矢量面数据为例&#xff1a; sci数量 服务拉起耗时 前端加载&#xff08;单瓦片&#xff09; 100 10s 500ms 1000 5min 3s 10000 1hour …

大数据-231 离线数仓 - DWS 层、ADS 层的创建 Hive 执行脚本

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; Java篇开始了&#xff01; 目前开始更新 MyBatis&#xff0c;一起深入浅出&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff0…

摄影:相机控色

摄影&#xff1a;相机控色 白平衡&#xff08;White Balance&#xff09;白平衡的作用&#xff1a; 白平衡的使用环境色温下相机色温下总结 白平衡偏移与包围白平衡包围 影调 白平衡&#xff08;White Balance&#xff09; 人眼看到的白色&#xff1a;会自动适应环境光线。 相…

性能监控利器:Ubuntu 22.04 上的 Zabbix 安装与配置指南

简介 今天我们来聊聊如何在 Ubuntu 22.04 上安装和配置 Zabbix。我们会用到 PostgreSQL 作为数据库后端&#xff0c;Nginx 作为 Web 服务器&#xff0c;并用 Let’s Encrypt SSL 证书来保驾护航。 什么是 Zabbix&#xff1f; Zabbix 是一个开源的网络监控和管理解决方案&…

队列基本实现

模板 int queue[10010]; int hh1,tt0; void push1(int x) {queue[tt]x; } void pop1() {if(hh>tt){cout<<"ERR_CANNOT_POP"<<endl;}else{hh;} } int query1() {if(hh>tt){cout<<"ERR_CANNOT_QUERY"<<endl;}return queue[hh…

【ArcGISPro】使用AI模型提取要素-提取车辆(目标识别)

示例数据下载 栅格数据从网上随便找一个带有车辆的栅格数据 f094a6b1e205cd4d30a2e0f816f0c6af.jpg (1200799) (588ku.com) 添加数据

GitLab|数据迁移

注意&#xff1a;新服务器GitLab版本需和旧版本一致 在旧服务器执行命令进行数据备份 gitlab-rake gitlab:backup:create 备份数据存储在 /var/opt/gitlab/backups/ 将备份数据传输到新服务器的/var/opt/gitlab/backups/下&#xff0c;并修改文件权限&#xff08;下载前和上传…

UE5 5.1.1创建C++项目,显示error C4668和error C4067的解决方法

因为工作要求&#xff0c;没法使用最新 5.5版本的ue5 而是要用ue5.1和5.2版本。 但是我在安装下载了visual studio2022后&#xff0c;使用 ue5.1编辑器 创建C项目&#xff0c;爆出如下错误。 error C4668: ?????__has_feature?????ΪԤ?????꣬???0????…

网络安全概论

一、 网络安全是一个综合性的技术。在Internet这样的环境中&#xff0c;其本身的目的就是为了提供一种开放式的交互环境&#xff0c;但是为了保护一些秘密信息&#xff0c;网络安全成为了在开放网络环境中必要的技术之一。网络安全技术是随着网络技术的进步逐步发展的。 网络安…

51单片机基础01 单片机最小系统

目录 一、什么是51单片机 二、51单片机的引脚介绍 1、VCC GND 2、XTAL1 2 3、RST 4、EA 5、PSEN 6、ALE 7、RXD、TXD 8、INT0、INT1 9、T0、T1 10、MOSI、MISO、SCK 11、WR、RD 12、通用IO P0 13、通用IO P1 14、通用IO P2 三、51单片机的最小系统 1、供电与…