Unity --- 光照系统
1.Color是用来调整光的颜色的,Intensity是用来调整光的强度的(光强越大,光就越亮,光强为0时就相当于不发射光了)
2.光照也具有Culling mask,它的功能和摄像机类型,我们可以在这里选择光能够照射到的层,每选择的层就是光照射不到的(无光照)
3.点光源的特点就是从一个点出发,向四周发射光线(球形) --- 它多了一个Range参数,这个range设置的就是点光源的光照范围
1.对于Spot,聚光灯有两个参数,一个是Range,一个是Spot Angle(聚光角度)
Range 指的是聚光灯能够射出的长度,Spot Angle指的是聚光灯锥顶的角度大小
1.圈中的那个按钮如果被点上了,我们才能够在场景中看到光模拟,如果不点的话就不会进行光模拟,咱程序员在改代码的时候一般都不点这个按钮,在场景中不显示光(如果电脑不好又点击显示的话就会导致在移动场景的时候非常卡顿,不利于操作)
2.ctrl + shift +f 可以快速的将摄像机对准当前场景处显示的位置
1.每个组件的顶部最右边都有一本蓝色的小书,点击后就能够打开这个组件的说明文档
1.如果我们想单独让某些物体不显示阴影该怎么办?
选中不想显示阴影的游戏物体,然后在这个游戏物体的mesh render组件中将
1.投射阴影选项选为off,以及不勾选接收阴影选项,这样渲染这个游戏物体时就不会渲染它的阴影同时它也不会受到其它游戏物体的阴影的影响了
1.在投射阴影的选项中,除了on 和 off 外还有两个很有意思的选项,一个是shadows only 选择了这个选项的话对应的游戏物体本身不会被渲染,但是它的阴影会被渲染出来
2.由于渲染阴影是非常消耗性能的,所以我们需要做一个阴影剔除的工作,这个工作其实就是设置一个距离x,如果游戏物体和摄像机之间的距离小于x的话,就渲染这个游戏物体的阴影,如果和摄像机之间的距离大于x的话就不渲染这个游戏物体的阴影,以此来起到一个优化的作用
Ambient --- 周围环境的
1.点击Unity上方的windows,选择lighting,然后在inspector面板中调出lighting面板,选择场景scene
1.第一个ambient source 指的是环境光的来源,第二个是强度,第二个是全局光照的算法选择
2.环境光是会对场景中的所有游戏物体造成影响的
1.最后一个参数指的是反射光的反弹次数
2.Unity中的光照是由多种光组合而成的
1.注意和反射光进行区分,反射光指的是光照到天空盒后反射出的光,而间接光指的是光照到游戏物体后反射出的光
2.间接光照是最不好实现的,也是最消耗性能的
3.标记为静态的游戏物体就不能够再移动了
4.由于想让一个场景中的游戏物体能够呈现出间接光时CPU需要处理的计算量非常的大,需要的计算时间很长,所以我们需要在开发期间,将需要显示间接光的游戏物体标记为静态的,然后进行间接光照烘焙,将为了呈现出间接光需要进行的计算提前做好并将计算结果存储到内存中,这样加载场景的时候就只需要读取计算好的结果就可以了,不需要再重新进行计算,大大提升了游戏时的效率,但是问题就是这是静态的,无法动态改变(如今的技术已经能够实现实时光照了,但是需要的硬件性能很高)
1.注意这里能够修改的只有光源,不能修改游戏物体的位置等!
2.这个技术实现的前提是我们已经进行了烘焙(即为了使游戏物体显示间接光提前进行的大量计算,也可以称为预计算),该技术就是以预计算的结果为基进行操作的
3.使用ctrl + shift +f调整摄像头的前提是我们要先选中摄像头游戏物体,才能用这个快捷键调整它的位置
cache :缓存 preferrence : 参数
1.光照是非常吃性能的,最直观的一个例子就是draw call ,开启光照时渲染游戏物体的draw call数值是关闭光照时渲染游戏物体的draw call的好几倍甚至十几倍
(precomputed --- 预计算)
2.area light --- 区域光,这个光非常的消耗性能,只能在烘焙后看见,正常的情况下是看不见的
1.游戏物体的表面显示的是什么由材质决定,而一个材质受不受光照的影响则是由它对应的shader决定的,如果我们在一个shader中设定了通过它生成的材质都会受到光照的影响的话,那么这个材质就会受到光照影响,否则就不会
1.使用烘焙后我们就会将光照关闭掉,此时所有静态游戏物体的光照效果都用贴图的方式表示出来,但是问题来了,场景中的动态游戏物体没有进行烘焙,所以没有光照效果贴图,同时我们还将实时光给关闭了,也就是说此时动态游戏物体感受不到任何光,变成了纯黑色,与场景格格不入
2.为了解决 1 中的问题,人们开发出了光源侦测技术,使得动态游戏物体在烘焙的场景中运行时也能够发生实时光影变化
3.实现原理是通过light probes(probe : 侦察)组件在场景中设置几个小球,这几个小球的功能是收集当前场景中的光照信息,收集完后进行烘焙,烘焙后将光关闭使其不进行工作,此时动态游戏物体处于场景中的某点时light probes组件就会将收集到的光照信息和游戏物体的位置信息,模型信息等传给光照系统,然后实时渲染出当前游戏物体的光照效果
light probes 组件要以游戏物体的形式添加到场景中
1.在场景中添加了light probes groub游戏物体(其实就是一个单独挂载了light probe groub组件的游戏物体),场景中就会出现这八个小球,这个八个小球负责接收场景中的光照信息
Unity --- 光照系统相关推荐
- Unity光照系统,GI,光线追踪,LightMap,Enlighten,HDR等
GI:全局光照,指的是模拟光线是如何在场景中传播的算法.不仅会考虑直接光照的结果,还会计算光线被不同的物体表面反射产生的间接光照. Unity使用的是预计算实时全局光照 : 实时(直接光照)+ 预计算 ...
- 【无标Unity基于ShaderLab实现光照系统(着色器代码实现小结)
文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 表格制作excel教程h ...
- 2d shader unity 阴影_Unity中实现2D光照系统
在一些 2D 游戏中引入实时光影效果能给游戏带来非常大的视觉效果提升,亦或是利用 2D 光影实现视线遮挡机制.例如 Terraria, Starbound. 2D 光影效果需要一个动态光照系统实现, ...
- 详解Unity 5 全局光照系统Enlighten问题(上)
Unity 5正式版面世已经一段时间,许多开发者都已经在使用Unity 5进行开发.大家在使用Unity 5时或多或少都会碰到一些问题,今天我们Unity的官方技术工程师,柳振东将在本文中针对Unit ...
- 详解Unity 5 全局光照系统Enlighten问题(下)
昨天在 Unity 5 全局光照系统Enlighten问题的文章中,我们为大家解答了:"为什么场景烘焙出来的lightmap上有Realitime灯光的颜色?"和"为什么 ...
- Unity3D 光照系统(一)
此系列博客是博主个人学习Unity3D的一些笔记,欢迎转载,如有错误,欢迎指出~~(基于unity3d 5.4.0f3) 光照系统 unity3D光照系统Lighting菜单中,一共有6个选项,分别为 ...
- 虚幻引擎学习之路:渲染模块之光照系统
原文链接:https://blog.uwa4d.com/archives/Study_unreal4_Rendering_1.html 写在前面 "UWA什么时候可以支持Unreal引擎?& ...
- Unity教程之-Unity光照贴图Lightmapping
一直没有光照贴图的深入了解,只知道它与灯光比起可以降低drawCall,偶然看到一本外文书上有详细的资料,这里学习并分享一下,下面开始! 一:简要说明一下Unity光照贴图的概念 翻译会有各种偏差,这 ...
- Unity 光照技术小结
原文自Unity全球官方网站,原文:UNITY 5 - LIGHTING AND RENDERING 简介 全局光照,简称GI,是一个用来模拟光的互动和反弹等复杂行为的算法,要精确的仿真全局光照非常有 ...
最新文章
- 第十八章 MySQL Workbench5.2使用(待续)
- .NET Core如何为项目提供高性能解决方案?
- Linux下配置JavaWeb环境(持续更新其他软件)
- Windows Azure Tools DSInit Error
- java中Future的使用
- cmake 编译安装方法
- Android之Android studio Gradle sync failed: Unknown host ‘services.gradle.org
- add a legend to a boxplot in MATLAB
- golang 读取文件最后一行_python3从零学习-5.4.3、文件输入流fileinput
- 关于spring cloud的几个核心组件
- 以实时风控场景为例,阿里云实时计算如何来做异常检测?
- oracle快速创建可用用户
- CLOCs: Camera-LiDAR Object Candidates Fusion for 3D Object Detection(论文阅读笔记)
- 低功耗设计实现中secondary power pin的连接方法汇总
- CreateFont()函数的MSDN翻译
- MySQL中查看数据库
- 9个超好用的学习网站,都是充实课余知识的首选
- 怎么关闭win10自带杀毒软件
- 服务器IIS架设网站无法增加log文件
- Java Swing中JFreeChart构建双纵轴(双Y轴)图表的使用纪要
热门文章
- yeezy350灰橙_阿迪达斯yeezy350灰橙boost鞋底细节,舒服透气吗?
- 3.13 工作表行与列的转换 [原创Excel教程]
- java.io.UnsupportedEncodingException
- 微软IE团队不干了,火狐8吃不到蛋糕了
- ReleaseMutex函数
- ChatGPT对话之云原生,最后它真的可以帮我出书了
- 银行测试核心项目之测试阶段分享
- unity 处理物体或图片渐变效果
- 得了植物神经紊乱该如何治疗?
- 10 年前我对职业的选择,我一个中专生的逆袭之路...做测试我永不后悔