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

文章目录

  • 天空盒反射
  • 配置太阳耀斑眩光
  • 烘培光照
  • 烘培光照时弹出错误,记得勾选模型下面的选择
  • 阴影
    • 项目配置
    • 光源
    • 模型
    • 模型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.xdnf.cn/news/19144.html

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

相关文章

Spring Boot汽车资讯:科技与汽车的对话

5系统详细实现 5.1 管理员模块的实现 5.1.1 用户信息管理 汽车资讯网站的系统管理员可以管理用户,可以对用户信息修改删除审核以及查询操作。具体界面的展示如图5.1所示。 图5.1 用户信息管理界面 5.1.2 汽车品牌管理 系统管理员可以汽车品牌信息进行添加&#xf…

go 学习网站,go例子 go demo go学习视频

1. 代码例子: Go by Example 2. b站 视频: 尚硅谷视频: 004_尚硅谷_程序的基本概念_哔哩哔哩_bilibili 3. go技术文档: fmt Go语言中文文档

记录下,用油猴Tampermonkey监听所有请求,绕过seesion

油猴Tampermonkey监听所有请求,绕过seesion 前因后果脚本编写 前因后果 原因是要白嫖一个网站的接口,这个接口的页面入口被隐藏掉了,不能通过页面调用,幸好之前有想过逆向破解通过账号密码模拟登录后拿到token,请求该…

网络安全:我们的安全防线

在数字化时代,网络安全已成为国家安全、经济发展和社会稳定的重要组成部分。网络安全不仅仅是技术问题,更是一个涉及政治、经济、文化、社会等多个层面的综合性问题。从宏观到微观,网络安全的重要性不言而喻。 宏观层面:国家安全与…

多账号登录管理器(淘宝、京东、拼多多等)

目录 下载安装与运行 解决什么问题 功能说明 目前支持的平台 功能演示 登录后能保持多久 下载安装与运行 下载、安装与运行 语雀 解决什么问题 多个账号的快捷登录与切换 功能说明 支持多个电商平台支持多个账号的登录保持支持快捷切换支持导入导出支持批量删除支持…

浅谈网络 | 二层到三层

目录 物理层到MAC层第一层(物理层)第二层(数据链路层)局域网 交换机与VLAN生成树协议VLAN ICMP与pingICMP 协议的格式 网关静态路由是什么? 路由协议如何配置策略路由?动态路由算法动态路由协议 物理层到MA…

c++ 后端

基础知识 1. 指针、引用2. 数组3. 缺省参数4. 函数重载5. 内联函数6. 宏7. auto8. const9. 类和对象10. 类的6个默认成员函数11. 初始化列表12. this指针13. C/C的区别14. C 三大特性15. 结构体内存对齐规则16. explicit17. static18. 友元类、友元函数19. 内部类20. 内存管理&…

汽车资讯新趋势:Spring Boot技术解读

5系统详细实现 5.1 管理员模块的实现 5.1.1 用户信息管理 汽车资讯网站的系统管理员可以管理用户,可以对用户信息修改删除审核以及查询操作。具体界面的展示如图5.1所示。 图5.1 用户信息管理界面 5.1.2 汽车品牌管理 系统管理员可以汽车品牌信息进行添加&#xf…

【C++】vector

一、vector的介绍及使用 1.1 vector的介绍 vector的底层与string相似都是顺序表形式管理数组,本质上来说string就可以归入到vector里面,但是在实际使用中,字符有很多自身独有的接口设计需要,因此string被单独拿出来设计。在前面s…

uniapp Uview上传图片组件Upload会自动刷新

背景 最近在做跑团小程序,马上接近尾声了,今天新增一个团长增加活动页面: 然后一切准备就绪,发现了一个问题,当选择上传图片后,页面会自动刷新,把之前填写的信息全部重置了。奇怪了&#xff0c…

软件测试之缺陷管理

一、软件缺陷的基本概念 1、软件缺陷的基本概念主要分为:缺陷、故障、失效这三种。 (1)缺陷(defect):存在于软件之中的偏差,可被激活,以静态的形式存在于软件内部,相当…

数字资产与大健康领域的知识宝藏:高效知识库搭建策略

在数字化时代,大健康领域的企业积累了丰富的数字资产,这些资产如同一座待挖掘的金矿,蕴含着巨大的价值。高效搭建知识库,能够将这些数字资产转化为企业竞争力。 数字资产与大健康领域知识宝藏 数字资产在大健康领域包括患者数据…

使用WebRTC实现点对点实时音视频通信的技术详解

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 使用WebRTC实现点对点实时音视频通信的技术详解 使用WebRTC实现点对点实时音视频通信的技术详解 使用WebRTC实现点对点实时音视频…

Leetcode打卡:最少翻转次数使二进制矩阵回文II

执行结果:通过 题目:3240 最少翻转次数使二进制矩阵回文II 给你一个 m x n 的二进制矩阵 grid 。 如果矩阵中一行或者一列从前往后与从后往前读是一样的,那么我们称这一行或者这一列是 回文 的。 你可以将 grid 中任意格子的值 翻转 &…

VTK知识学习(9)-空间变换

1、前言 在三维空间里定义的三维模型,最后显示时都是投影到二维平面,比如在屏幕上显示。 三维到二维的投影包括透视投影(Perspective Projection)和正交投影(Orthogonale Projection)。正交投影也叫平行投…

英伟达 Isaac Sim仿真平台安装体验

硬件配置、系统 RTX 3080RAM: 32Gi7-12700Fubuntu20.04 使用Omniverse launcher安装加载isaac sim 这种方法我并没有成功,因为启动的时候报错Failed to create any GPU devices, including an attempt with compatibility mode. 。后面我选择使用 isaac sim dock…

笔记02----重新思考轻量化视觉Transformer中的局部感知CloFormer(即插即用)

1. 基本信息 论文标题: 《Rethinking Local Perception in Lightweight Vision Transformer》中文标题: 《重新思考轻量化视觉Transformer中的局部感知》作者单位: 清华大学发表时间: 2023论文地址: https://arxiv.org/abs/2303.17803代码地址: https://github.com/qhfan/CloF…

LVGL-从入门到熟练使用

LVGL简介 LVGL( Light and Versatile Graphics Library )是一个轻量、多功能的开源图形库。 1、丰富且强大的模块化图形组件:按钮 、图表 、列表、滑动条、图片等 2、高级的图形引擎:动画、抗锯齿、透明度、平滑滚动、图层混合等…

【python系列】python数据类型的分类和比较

一、数据类型的定义 在程序设计的类型系统中,数据类型(英语:Data type),又称资料型态、资料型别,是用来约束数据的解释。——Wikipedia 从定义我们可以看出来,数字类型的理解最主要的是约束数据…

SpringBoot(二十七)SpringBoot集成XRebel实现异常定位

之前我使用JRebel实现了IDEA热更新。 这几天我无聊的时候,研究了一下JRebel发现,好像不止JRebel一个插件,同时安装的还有一个XRebel插件,百度了一下,XRebel可以实现异常定位,还有方法的执行分析&#xff0c…