| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> Unity Bakery使用说明(二) -> 正文阅读 |
|
[游戏开发]Unity Bakery使用说明(二) |
灯光介绍在场景渲染中,灯光是十分重要的,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 光探针的可行替代品。
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: 照明是为每个灯光单独计算的,因此比发射材料慢。 旨在为小而亮的灯光提供干净的效果,即使距离它们很远。 不占用光照贴图中的空间。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 14:40:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |