灯光介绍

在场景渲染中,灯光是十分重要的,Bakery定义了6种灯光分别是:

1.Directional Light  (直射光)

2.Skylight (环境光)

3.Point Light (点光)

4.Atea Light (区域光)

5.Spotlight (聚光)

6.Volume (体积烘焙)

Directional Light (直射光)

无限远的定向光(例如太阳)

Color:颜色。

Intensity:强度,线性颜色乘数。

Shadow spread: 阴影扩散,光源的大小,或者简单地说,阴影模糊度。0 = 最大锐利阴影,1 = 最大模糊阴影。从技术上讲,它从单条射线内插到更宽的射线锥。

Shadow samples:阴影样本,影响阴影质量。Shadow Spread 值越小,清晰图像所需的样本就越少。太阳阴影的典型值是从 1 到 16。将样本设置为 0 将使该光的阴影消失。

Bitmask:位掩码,用于排除此光源影响特定光照贴图组的切换列表。

Indirect intensity:间接强度,此灯的非物理 GI 乘数。对于自然光,应该为 1,但可以针对更多风格化的场景进行修改。

Texture projection:纹理投影,在光照上投影一个乘法平铺纹理。可用于模拟远处的云阴影。

如果同一个对象同时启用了 Unity 和 Bakery 光源,但它们不匹配,则会出现两个按钮:

将光照贴图与实时匹配:将通用设置从 Unity 灯光复制到 Bakery 灯光。

实时匹配光照贴图:将常用设置从 Bakery 灯复制到 Unity 灯。

Skylight (环境光)

无限远的阴影环境光(天空)。

Sky texture:天空纹理,可选的立方体贴图资源,例如 HDRI 全景图,以影响来自不同方向的照明颜色。

旋转天光的 GameObject 将相应地旋转立方体贴图中的光照。

Samples:样本,影响阴影质量。典型值为 8 到 32。

Hemispherical:半球,如果启用,照明将仅来自上方(上半球)。否则从各个方向。

如果天光的设置和当前场景的天空盒不匹配,会出现两个按钮:

将此灯光与场景天空盒匹配:将常用设置从活动天空盒材质复制到面包店天空灯。目前它只能匹配使用“Skybox/Cubemap”或“Skybox/Bakery 天空盒”着色器的天空盒。

将场景天空盒与此灯光匹配:将常见设置从面包店天空灯复制到场景天空盒。

Point Light (点光)

点光源,没有面积。尽管物理上不可能,但它对游戏很有用,并且是匹配 Unity 点光源和聚光灯的唯一方法。

Shadow spread:阴影扩散,阴影模糊。尽管点光源没有面积,但通常仍希望它们具有模糊的阴影。为此目的,模拟阴影,就好像它们是从球形区域光投射的一样。该参数定义了这种虚拟球体的半径,直接影响模糊度。

Phyaical falloff:物理衰减,如果启用,将使用正确的平方反比衰减,并在限制附近附加衰减。否则将尝试模仿 Unity 的衰减。

Falloff min size:衰减最小尺寸,在点光衰减部分了解更多信息。

Range:范围,如果禁用物理衰减,则等于 Unity 的光照范围。如果它被启用,只会稍微淡化边缘的物理衰减。

Samples:样本,影响阴影质量。典型值是从 1 到 512。将样本设置为 0 将使该灯光的阴影消失。

Projection mask:投影遮罩,遮罩/cookie 的类型。选项:

Omni:无遮罩,相当于Unity的Point Light。

Cookie:cookie 纹理投影。其他选项:Cookie 纹理:2D 纹理资源。Bakery 包含原始 Unity 的 Spot Light 纹理(名为 ftUnitySpotTexture),您可以使用它来模仿它。Angle:纹理投影角度(类似于Unity的Spot Light)。

Cubemap:立方体贴图 cookie 投影。其他选项:

投影立方体贴图:立方体贴图资源。

IES:照明由 IES 文件数据调制。其他选项,IES 文件:扩展名为 .ies 的文件。

如果同一个对象同时启用了 Unity 和 Bakery 光源,但它们不匹配,则会出现两个按钮:

将光照贴图与实时匹配:将通用设置从 Unity 灯光复制到 Bakery 灯光。

实时匹配光照贴图:将常用设置从 Bakery 灯复制到 Unity 灯。

Volume (体积烘焙)

生成 3D 纹理,存储每个体素的光探针(L1 球谐函数和阴影掩模),使其成为常规 Unity 光探针的可行替代品。

Unity 光探头

Unity LPPV

Volume

手动放置每个探头

是的

是的

在一个对象上插入多个探针

是的

是的

运行时可移动

是的

可以放入预制件

是的

完整的脚本 API

是的

铃声

可能的

可能的

固定的

去噪

是的

运行时开销

CPU:低;显卡:低。

CPU:中;GPU:中等。

中央处理器:无;GPU:中等。

Bakery Volume 是一个与一组 3D 纹理(如果需要,3 个 SH 纹理和一个阴影蒙版)链接的边界框,使其非常易于使用和编写脚本。Volume可以在运行时轻松交换、移动、加载或卸载或链接到预制件。他们也不需要任何光探头组和手动探头放置;整个体积都充满了均匀的探针体素网格。与光照贴图相同的方式自动修复光/阴影泄漏(虽然薄的双面墙可能是大体素尺寸的问题,但可以通过在不同侧面使用不同的体积来避免)。由于体素网格的均匀性,还可以对它们应用类似光照贴图的去噪,这是常规光照探针无法做到的。此外,Bakery 着色器使用Geomerics 采样技巧为了完全消除“振铃”伪影,球谐函数有时会在高对比度 HDR 照明下产生。

因此,Volumes 可以为动态对象(即来自静态对象并影响动态对象的照明,而不是相反)生成干净、详细、高质量的烘焙照明。

Volume的唯一缺点是更高的每像素着色成本。成本类似于 LPPV(根据屏幕上受阴影体积影响的像素数量进行缩放),但与 LPPV 不同的是,Volume本身在烘焙后永远不会更新。可以通过稍微重叠它们来避免多个体积混合。

聚光和区域光和其他的光用法和原理是差不多的就不做解释。此外还有一种作为光源,在unity中就是物体自发光,bakery也定义了Light Mesh可以实现物体自发光的效果。但是他和材质自发光还是有区别的。

Bakery Light Mesh

任何形状的发射网格。应与 Mesh Renderer 组件或设置为区域模式的 Light 组件一起使用。

Light Mesh和自发光材质的区别

发光材料:

在 GI 计算期间传播光,因此是“免费的”,无论有多少网格是自发光的。

取决于 GI 样本数,小而亮的灯光可能会给出不准确的嘈杂结果。

由于面包店中 GI 的工作方式,必须占用光照贴图中的空间,因此可能会浪费它。这也意味着自发光对象需要有效的 UV 并启用“投射阴影”。

Light Mesh:

照明是为每个灯光单独计算的,因此比发射材料慢。

旨在为小而亮的灯光提供干净的效果,即使距离它们很远。

不占用光照贴图中的空间。

Unity Bakery使用说明(二)相关推荐

  1. Unity Bakery使用说明(一)

    什么是Bakery 为什么用Bakery Bakery 是一款可用于生产的高端 GPU 光照贴图器,其设计考虑了灵活性和性能. 修复各种烘焙伪影,例如接缝.光/阴影泄漏.不正确的阴影终结器等.烘焙光照 ...

  2. 蓝鸥Unity开发基础二——课时20 接口

    蓝鸥Unity开发基础二--课时20 接口 一.接口 使用interface关键字定义接口 接口定义一组成员单不直接实现它们 二.实现接口 实现接口的任何类都必须实现其所有的成员方法 接口不能直接实例 ...

  3. Baumer工业相机堡盟工业相机软件CameraExplorer常见功能使用说明二

    Baumer工业相机堡盟工业相机软件CameraExplorer常见功能使用说明二 Baumer工业相机 Baumer工业相机CE软件图像/视频存储功能 Baumer工业相机CE软件记录日志文件功能 ...

  4. Unity网络(二)-Unity3D中的网络

    正所谓:没有网络是没有灵魂的 欢迎关注公众号:雷潮课堂 Unity3D中的网络 一.WWW 1-1 Get 1-2 Post 1-3 案例(网络下载,本地存储与读取) 二.UnityWebReques ...

  5. [转]Unity 之 创建二维码

    最近看到公司里好多人在分享网页链接的时候都用二维码相互传递,然后就突然想到如果在Unity的项目中需要实时创建二维码进行分享链接的时候要怎么办. 然后就开始在网上搜了一下"Unity 创建二 ...

  6. Unity 之 创建二维码

    关注公众号,获取更多干货. 最近看到公司里好多人在分享网页链接的时候都用二维码相互传递,然后就突然想到如果在Unity的项目中需要实时创建二维码进行分享链接的时候要怎么办. 然后就开始在网上搜了一下& ...

  7. python+unity表情驱动二(打包成exe)

    python+unity表情驱动工具二(打包成exe) 使用pyinstaller在控制台打包 工具的使用效果 使用pyinstaller在控制台打包 这里并没有使用auto-py-to-exe界面工 ...

  8. Simple Dynamic Strings(SDS)源码解析和使用说明二

    在<Simple Dynamic Strings(SDS)源码解析和使用说明一>文中,我们分析了SDS库中数据的基本结构和创建.释放等方法.本文将介绍其一些其他方法及实现.(转载请指明出于 ...

  9. Unity扩展编辑器二

    Unity支持自行创建窗口,也支持自定义窗口布局,在Project视图中创建一个Editor文件夹,在文件夹中创建一条脚本 自定义窗口需要让脚本继承EditorWindow在设置MenuItem,此时 ...

最新文章

  1. 13.PHP中循环结构之foreach循环语句(任务一)
  2. 实践证明m1上面的windows可以说一无是处
  3. python3串口通信16进制_STM32串口通信——16进制数形式
  4. ViewPager实现页面切换
  5. iNeuOS工业互联网操作系统,智慧用电测控应用案例
  6. C++《STL和泛型编程》算法accumulate、for_each、sort简单使用例子
  7. 网站左边栏制作的小技巧
  8. php 计算字段的和,php – foreach中计算列的总和
  9. 复变函数论里的欧拉公式
  10. carry函数在C语言中用法,carry的用法总结大全
  11. 2021年中国开源优秀人物揭晓
  12. java实现通过浏览器方式下载文件及多个文件
  13. Cocos精品《热血传奇》|五千个日夜 同一个传奇
  14. 【openstack-rally】使用rally执行tempest api测试并导出测试报告
  15. android简单文件管理器源码,文件管理器-android源代码
  16. Arduino 声音传感器例程
  17. 杰理之内部flash【篇】
  18. 富文本编辑vue插件vue-quill-editor
  19. 启动电脑QQ遇到QQ安全防护进程,且Windows无法启动QPCore Server
  20. 带护甲的VN1630A/VN1640A来啦

热门文章

  1. 随意调节网页中 视频的播放速度
  2. 大数据架构师——音乐数据中心平台离线数仓综合项目(四)
  3. java程序暂停指令_Javascript中暂停功能的实现代码
  4. 【DM】达梦数据库(DCA培训)学习分享
  5. 使用teleport ultra爬取网站源码
  6. RFID无人机之智能仓储管理系统应用
  7. Vue实现分页导出,打印
  8. php表单文字乱码,php汉字乱码
  9. 1613-3-傅溥衍 总结《2016年11月17日》【连续四十八天总结】
  10. kaggle手机验证