首页
学习
活动
专区
圈层
工具
发布

Unity高级开发-光照系统(四)-Unity的内置渲染管线和轻量级渲染管线LWRP下正确烘焙光照

Unity提供Procedural Skybox,这个Skybox基本上会贡献整体光照烘焙Lightmap的80%左右,所以如果不会使用SkyLight,烘培出来的贴图将效果很差。...正常情况下,对地球的Sky Tint,只有沙尘暴时才会出现比较奇怪的效果,如果没有沙尘暴的情况下,地球的Sky Tint值比较接近灰度的颜色。...如果设置正确,它应该会出现很好的GI效果,而且不会之前认为,在Unity光照中,有些暗部和间接光不是很好,缺乏全局照明的层次感。 ? 夜晚设置 上图就是夜晚的设置效果。...烘焙 什么是烘焙 该如何烘焙 你设置了很多烘培,但基于性能考虑可能不需要那么多物体需要烘培,不优化会导致场景中很多不需要烘培的物体烘培了光照贴图。...烘焙 Enlighten系统 首先说一下Unity的Enlighten系统,它的一个优点是支持实时光GI。在构建过程中,构建光照条件后,我们可以调节光照的强度和方向,还可以移动光源。

1.9K20

Unity 5.6 光照烘焙系统介绍

并且由于用于保存这些信息的光照图分辨率较低,如果直接复用普通光照图的纹理坐标进行采样,会出现很严重的瑕疵,因此必须为其生成单独的纹理坐标。...二、 Unity新版本变更 在Unity5.6.0以上版本中,官方已放弃了原先的DirectionalLightmap with Specular,如果将灯光设置为Baked的纯静态光照烘焙模式则无法实现任何...默认为1,即真实的反射强度。 Bounces: 当场景中存在类似镜子的反射物时,场景可以被反射的最大次数。如设置为1,则环境反射贴图中的镜面则不会被绘制,显示为黑色。 2....Prioritize Illumination – 勾选后强制在进行全局光照计算时包含当前物体。否则该物体有可能被忽略,造成一些瑕疵。...对于地形之类的物件,必须要求使用一张整体的光照图,否则在不同的纹理坐标图块之间必然会出现接缝问题。而在一些低端的移动设备上,并不支持2048尺寸以上的单张贴图。这会造成投影精度完全达不到美术的要求。

8.6K103
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    基础渲染系列(十八)——实时光全局光照、探针体积、LOD组

    我们的着色器尚未执行此操作。 1.2 烘焙实时GI 在编辑模式下,Unity已经生成了实时光照贴图,因此你始终可以看到实时GI贡献。在编辑和播放模式之间切换时,这些贴图不会保留,但最终会保持不变。...Unity根据光照贴图和对象设置自动生成这些坐标。它们存储在第三个网格UV通道中。因此,将此数据添加到“My Lightmapping”中的VertexData。 ?...使用实时光照贴图时,我们必须将其光照贴图坐标添加到插值器中。标准着色器将两个光照贴图坐标集组合在一个内插器中(与其他一些数据复用),但是我们可以为这两者使用单独的内插器。...最初,我们只能通过静态光照贴图看到自发光的间接影响。 ? (带有自发光的球体的烘焙GI) 为了将自发光烘焙到静态光照贴图中,必须在着色器GUI中设置材质的全局照明标记。...然后将主光设置为烘焙再查看会发生什么。 ? (使用烘焙光) 烘焙静态光照贴图时似乎使用了LOD 0。即使当LOD组切换到立方体或剔除时,最终总是看到球体的阴影。但请注意,立方体也使用静态光照贴图。

    5.1K30

    Unity通用渲染管线(URP)系列(五)——烘焙光(Baked Light)

    (只烘焙间接光) 下面的截图是光照贴图的常规设置,主要用来控制光照贴图的生成,Unity已经给我们填好了默认参数。...Lightmap设置还会显示在MeshRenderer组件中,这里可以查看包含了该物体的光照贴图的预览。 ?...(没有实时光的效果) 实际上,烘焙后的直接光也会被当做间接光,因此会出现在贴图上,从而使贴图显得更亮。 ? 2 采样烘焙灯光 现在全世界一片漆黑。...2.2 光照贴图的坐标 要得到光照贴图的UV坐标,就必须由Unity将其发送到着色器。我们需要告诉管线对每个被烘焙了灯光信息的对象执行此操作。...(失去了间接光) 4.4 光照贴图坐标 就像在采样光照贴图时一样,我们需要使用光照贴图的UV坐标。不同之处在于,这次我们朝相反的方向前进,将它们用于XY对象空间位置。

    9.7K20

    Unity高级开发-光照系统-2019.4LFT版本

    它们包含的是通过光照贴图烘焙方式进行预计算所获得的间接光照,阴影等信息(可以在烘焙时选择只烘焙间接光照,不烘焙阴影)。...Unity中并没有内置的模型UV查看功能,这里介绍一个Unity资源商店中的小工具UV Inspector,下面两张图是在Unity中使用UV Inspector的界面。...出现这个黄色警告信息的原因有以下几种(我们也列出了可能的解决方法): (1) 模型上用于光照烘焙的UV确实存在重叠: 在Console界面我们可以看到警告UV重叠的信息中包含了具体哪个模型有这个问题...这时我们就需要一个后退的方法,那就是CPU版本来救场了:在烘焙过程中,如果Unity发现显存耗尽,Unity会把GPU版本自动切换到CPU版本。...从GPU版本到CPU版本的切换会发生在准备烘焙阶段。在Unity编辑器的Console窗口可能会出现两段黄色的警报信息(第一段必出),示例图如下 ? OpenCL报错:后退到CPU光照烘焙。

    2.2K62

    Unity3d场景快速烘焙【2020】

    硬边”缺陷,当深色的“条带”贴在某个面上时,就出现了常见的“黑面”缺陷,同理,当浅色的“条带”贴在某个面上时,就出现了常见的“亮面”缺陷。...前面的例子中小姐姐曾经提到,模型的面数太高,会影响光影烘焙的质量,原因是当模型的UV2(光照贴图UV通道)被展平为指定分辨率的贴图坐标时,模型面数太高,只有每个面都适当缩小才能容纳到贴图坐标中,而这样的缩小...,使得一些面小到其所占据的UV空间不足于完全表现其所接受的光照时,那么这些面的光影就会集聚成黑色块、灰色块或白色块,光照贴图回贴到模型上时,就出现了黑斑、白斑、硬边等缺陷,同时因为每个面的UV空间太小,...好了,建模过程中有关消除卡顿、提高烘焙质量和加速烘焙的一些因素就说到这里。另外,在单面建模完成后,需要对每个物体进行顶点焊合,消除孤立顶点和断点,否则导入Unity3d后会出现模型的撕扯和贴图错乱。...这个上限值可以作为模型拆解的参考,对于不连续(也就是分离)的mesh,直接拆解就可以了,对于连续(也就是无缝固连在一起)的mesh,拆解时尽量将切缝选在比较隐蔽的转角处,以免烘焙之后出现接缝。

    4.8K30

    Unity基础(13)-光照系统

    :对应Lightmapping Setting Realtime Lighting是新出现的一种烘焙光照技术, 它并不像传统的烘焙技术一样直接烘焙间接光照颜色和亮度信息到光照贴图上, 而是烘焙物体和物体之间的关系信息...Intensity:灯光强度 Indirect Multiplier:在计算该灯光所产生的间接光照时的强度倍乘 Shadow Type:阴影贴图的类型 No Shadows:无阴影贴图 Hard...反射光,特指天空漫反射之外的所有环境漫反射。在Unity3D中主要通过光照贴图或灯光探针来模拟。 自发光物体。...在Unity3D中自发光物体本身的亮度仅使用颜色来模拟,自发光物体对于环境的影响则通过光照贴图或灯光探针来模拟。...Lighting Setting中的Reflection Bounces提高反射次数(这样就不会出现强反射物体在另一个反射物体中是黑色的情况了)。

    3.2K31

    基础渲染系列(十七)——混合光照

    现在,我们将烘焙和实时照明的功能相结合。 本教程是使用Unity 5.6.0制作的。 ? (混合烘焙和实时光) 1 烘焙间接光 光照贴图使我们可以提前计算光照。...(主光源的混合模式) 将主定向光转换为混合光后,将发生两件事。首先,Unity将再次烘焙光照贴图。但这次,它仅存储间接光照,因此生成的光照贴图会比以前更暗。 ? ?...从Unity 5.6开始,仅将方向阴影的屏幕空间坐标放入插值器中。现在可以在片段程序中计算点光源和聚光灯的阴影坐标。新功能是在某些情况下将光照贴图坐标用于阴影遮罩,我们将在后面介绍。...(Shadowmask模式) 在此模式下,间接光照和混合光照的阴影衰减都存储在光照贴图中。阴影存储在单独的贴图中,称为阴影遮罩。仅使用主定向光时,所有照亮的光源将在阴影遮罩中显示为红色。...接下来,当我们具有其他遮罩的定向阴影时,还必须包括光照贴图坐标。 ? 在可用的光照贴图坐标下,我们可以再次使用FadeShadows函数执行自己的衰减。 ?

    3.2K40

    VR开发-模型人员与模型的要求

    对于模型人员最好具备以下能力: 1:Substance Painter工具 - 绘制贴图 2:Substance designer工具 - 烘焙贴图 3:掌握基于物理渲染的PBR理论 - 基于物理的光照效果...同一配置可以适用于在不同HDR光照环境下。接口简单而直观,都 是基于世界真实的参数。(如粗糙度,金属度,等等)。不需要美术 去提供经验性的"奇怪"参数和配置。 更容易去解决问题和扩展需求。...Substance Painter工具 这个工具能够提供高品质的物理材质 PBR与传统贴图方式 目前基于Unity的传统方式,某一时刻某一光照条件下的烘焙贴图 PBR材质与传统的贴图技术相比,适应各种光照条件并保持高品质...即地模展现高模细节 法线贴图:(Normalmap)就是其中一种。...地模的获取: 手动重拓扑(建模软件插件,Topogun) 自动重拓扑(zRemesher 3Dcoat) 烘焙工具:引擎自带,建模软件自带,xNorma,Substance Designer/Painter

    72630

    基础渲染系列(十六)——静态光照

    预计算的灯光到底可以产生多少变化呢?在本教程中,我们会一路把所有内容烘焙到光照贴图中。以确保不会有任何动态光照。...因此,通常最终会混合使用烘焙光和实时光。 为什么我没有烘焙光? 要确保在需要时实际生成并更新了光照贴图,请在光照窗口底部启用“Auto Generate”。否则,需要手动生成新的光照贴图。 ?...对于导入的网格,你可以提供自己的坐标,或者让Unity为你生成它们。烘焙后,可以在光照贴图中看到纹理展开。它们需要多少空间取决于场景中对象的大小和光照贴图分辨率设置。...使用前向渲染路径时,仅在基本pass中对光照贴图进行采样。 ? 使用光照贴图时,Unity将永远不会包含顶点光照。他们的关键字是互斥的。...(间接光着色) 这适用于间接光,但是自发光可能尚未出现在光照贴图中。这是因为光照贴图器并不总是包含用于发光的pass。材质必须发出信号,表明它们具有发射光,有助于烘焙过程。

    4.3K20

    Unity通用渲染管线(URP)系列(六)——阴影遮罩(Shadow Masks)

    所不同的是,现在还有一个烘焙的阴影遮罩贴图,你可以通过烘焙的光照贴图预览窗口进行检查。 ? ?...Unity通过unity_ShadowMask纹理和接下来的采样器状态使阴影遮罩贴图可用于着色器。定义GI中的那些以及其他光照贴图纹理和采样器状态。 ?...然后添加一个使用光照贴图UV坐标对贴图进行采样的SampleBakedShadows函数。就像常规的光照贴图一样,这仅对光照贴图的几何有意义,因此需要在启用了LIGHTMAP_ON时才做操作。...我们需要指示Unity将相关数据发送到GPU,就像我们在上一教程中对CameraRenderer.DrawVisibleGeometry中的光照贴图和探针所做的那样。...通过将unity_ProbesOcclusion向量添加到UnityInput中的UnityPerDraw缓冲区来访问此数据。将其放在世界变换参数和光照贴图UV变换向量之间。 ?

    5.5K32

    PBR材质专题-Working with PBR in Unity(1)

    1.PBR 基于物理的光照效果,能量守恒定律 基于物理渲染的优点:很容易就可以作出真实和照片级的效果。 同一配置可以适用于在不同HDR光照环境下。接口简单而直观,都 是基于世界真实的参数。...不需要美术 去提供经验性的"奇怪"参数和配置。更容易去解决问题和扩展需求。...特点 PBR与传统贴图方式 目前基于Unity的传统方式,某一时刻某一光照条件下的烘焙贴图 PBR材质与传统的贴图技术相比,适应各种光照条件并保持高品质 2.SubStance工具集 Substance...工具集 支持Substance材质的3d软件 Substance Designer Substance Player Unity 3d (3.5 以上的版本) Autodesk maya 2012...还可以提供给Substance player转换为所需的各种材质贴图文件 SubStance painter 在模型的辅助下,在UV的控制下,可以在模型上绘制各种贴图,最后输出的是固定分辨率的各种贴图文件

    2K20

    Unity高级开发-光照系统(五)-使用Unity的Progressive工具去正确的烘焙光照

    关于烘焙的问题: 1-烘培的代价是非常高的 2-烘培贴图的数量和体积非常的大,因为它是RGB通道的一些彩色图片,所以是无法改变的。 3-通过格式压缩,但压缩会出现质量下降的情况。...合并UV的时候可能会出现扭曲现象,这种扭曲现象在烘焙Lightmap时是非常有问题的。 ?...UV Charts等于6的情况下,如果Box分成左边是比较合理的,右边这么分在Enlighten的计算量最起码要增加3倍。 ? Unity的光照贴图设置。...使用Unity提供的Procudral Skybox进行烘焙光照贴图。可以获得更真实的Lightmap。 不轻易的调整Unity的Albedo boost和Indirect intensity强度。...Enlighten烘焙在示例场景中的效率,代价是非常大的,因为场景中的物体非常的多,它的UV Charts基本上没办法看到,非常碎,所以烘焙时间也非常长。

    2.1K10

    Unity可编程渲染管线系列(九)烘焙阴影(混合光照)

    (Shadowmask 模式) 现在,在检查烘焙的光照贴图时,你可以从右上角的下拉菜单中选择“Baked Shadowmask”。仅使用单个定向光时,生成的贴图为黑色和红色。...2.2 采样烘焙阴影 可以通过unity_ShadowMask纹理手柄及其关联的采样器状态使用该阴影遮罩。将它们添加到Lit.hlsl。 ? 阴影遮罩使用与光照贴图相同的纹理坐标。...有可能在A通道中也烘焙了一个光,但是在预览窗口中看不到它。 ? (三个灯光的烘焙阴影) 每个光源在贴图中都有其自己的通道。...光照贴图用于静态对象,但动态对象仍会实时照明并投射实时阴影。所有其他混合模式光源也是如此,但只能混合主光源的阴影。一开始我们的着色器将光照贴图和实时光照都应用于静态对象,会它们变得太亮。 ?...(对于静态物体 只使用烘焙的主光源) 3.2 阴影化烘焙光 减光照明的想法是,即使使用完全烘焙的光照贴图,实时阴影和烘焙阴影也会混合在一起。这意味着我们必须调整烘焙的照明。

    3.3K10

    unity vr虚拟现实完全自学教程 pdf_ug80完全自学手册pdf

    在VR中,开发商可以将户型按照房型1:1的比例进行预展示,借助Unity预计算实时全局光照技术(Precomputed Realtime GI),可以模拟该户型在一天24小时、一年四季的采光,甚至是小区的园林绿化等室外场景也可以进行虚似展示...7.建模时最好采用Editable Poly面片建模,这种建模方式在最后烘焙时不会出现三角面现象,如果采用Editable Mesh在最终烘焙时可能会出现三角面的情况。 8.塌陷模型。...在烘培时将纹理贴图存为TGA格式。...作为导出到Unity中的光滑度贴图,一般附着在色彩或金属贴图中,以Alpha通道的形式提供信息,在标准材质中可选择该数据的来源。...Unity提供了强大的全局光照(Global llumination,简称GI)技术,无论是实时全局照明还是烘焙光照贴图,均能满足VR环境对于光照环境的需求,再加上Post-Processing后处理栈工具

    4.7K20

    零基础入门 4: 窗口介绍(完)

    在右侧的Inspector面板中,将Version Control的Mode从默认的Hdie修改成Asset Server。这样就相当于给当前Unity项目指定一个资源服务器。...用下图实际演示下,同一个图集的贴图,在运行中,只占用1个Drawcall,大家看下图里Stats面板中的Batch值即可。 ?...http://www.taikr.com/app.php/article/3125 ---- Lighting:光照烘焙窗口 Lighting是Unity的光照烘焙窗口,在场景制作中,烘焙也是很重要的一个部分...打开方式: 1、window菜单打开,无快捷键 打开窗口操作如下,可以看到Lighting里的一些设置参数。贴图,光照,天空盒,雾效等等。 ? ? 点击下图中的Build,即可开始光照渲染。 ?...注意当你使用遮挡剔除时你依然受益于视锥体剔除(Frustum Culling)。 如下图代表场景渲染无遮挡剔除(贴图转自圣典) ? 再来看下场景渲染有遮挡剔除的效果(贴图转自圣典) ?

    1.8K20

    《3D开放世界地形开发:动态LOD与智能融合的轻量化实战路径》

    这种方案在PC端测试时已出现明显问题:地图加载时间超过15秒,角色从近景富春江滩涂的草地移动到中景天目山山地时,画面出现明显的纹理模糊断层,而到了移动端测试阶段,在小米11青春版、vivo Y53s等中端机型上...,同时叠加落叶、碎石等细节纹理,通过Unity引擎的“细节纹理叠加”功能,将细节纹理的缩放值设为0.5,让纹理在不同光照下呈现细腻的质感变化;为避免高模导致的加载压力,我将近景地形按100100米的尺寸拆分为独立区块...的纹理中,同时关闭该层级的实时光照计算,改用环境光贴图。...),降低GPU的纹理采样压力;在光照计算上,移动端关闭近景地形的实时阴影,改用预烘焙的阴影贴图,仅保留角色的实时阴影,且阴影分辨率从10241024降至512512,进一步减少GPU负担。...,通过在Shader中添加“光照强度阈值判断”,当引擎获取的光照强度值超过1.2时,自动将水体反射系数从0.8降至0.4,让浅水区颜色从纯白变为自然的淡蓝色,解决了视觉违和问题;性能监控方面,始终使用引擎的

    5010

    《3D游戏场景烘焙优化:间接光照反弹次数的精准调控方案》

    我曾负责一款奇幻题材开放世界游戏的场景优化工作,该游戏初始版本中,森林场景经光照烘焙后出现明显的色块断层与噪点,且烘焙耗时长达12小时,在中端移动设备上加载烘焙贴图后帧率骤降20帧,这些问题严重阻碍了开发进度与用户体验...然而通过逐步拆解烘焙流程中的光照计算逻辑,从光照贴图生成、光照探针采样到间接光照计算逐一排查,才发现问题根源在于对光照贴图分辨率分配、光照探针布局与间接光照反弹次数的协同设计存在认知偏差,三者之间缺乏适配性导致整体效率低下...在奇幻开放世界游戏的森林场景中,初始阶段我们采用统一的光照贴图分辨率设置,将所有场景模型的烘焙分辨率均设定为2048x2048,这种“一刀切”的方式看似能保证画面精度,实则造成了资源的严重浪费—树木枝干...在奇幻森林场景中,初始版本因光照探针分布稀疏且未考虑地形起伏与植被遮挡,导致玩家操控的角色在移动过程中,身体表面的光照亮度出现明显跳变,尤其在树木阴影与阳光照射区域的交界处,角色皮肤质感从暖色调突然切换为冷色调...此外,针对烘焙贴图中的Alpha通道,我们发现初始版本中Alpha通道与RGB通道采用同一压缩比,导致透明植被(如蕨类植物、花瓣)的边缘过渡出现锯齿,就像植被周围有一圈白色的像素点,非常影响美观。

    8810

    Unity性能调优手册7:渲染优化,DrawCall,剔除,Shader,LOD,TextureStreaming

    需要注意的是,使用遮挡剔除功能需要先对场景进行烘焙(Bake)。在烘焙时,Unity 会根据场景中的物体和灯光等信息生成遮挡剔除数据,使得场景在运行时可以更快地渲染。...当精度要求较高时,如深度计算使用float,但在颜色计算中,即使降低精度,也很难在结果外观上造成较大的差异。...ShaderVariantCollection变体收集 ShaderVariantCollection可以在防止着色器被编译时出现性能尖峰。...光照贴图Light Mapping 通过提前将光照效果和阴影烘焙到纹理中,可以以比实时生成低得多的负载实现高质量的光照表达式。...最后,在检查器视图的底部,在检查器视图底部的生成照明按钮来烘烤光图。烘焙完成后,你会看到烘焙后的光图存储在与场景同名的文件夹中。

    4.1K64

    Unity通用渲染管线(URP)系列(九)——点光源和聚光灯(Lights with Limited Influence)

    (不同的内角度) 3 烘焙光和阴影 在本教程中,我们不会涵盖点光源和聚光灯的实时阴影,但是现在我们先支持烘焙这些光源类型。 3.1 全烘焙 完全烘焙点和聚光灯只需将其Mode设置为Baked即可。...(实时光和烘焙光,只有点光源和聚光灯生效) 尽管现在已经足以烘焙这些光源,但事实证明它们在烘焙后太亮了。发生这种情况的原因是,默认情况下Unity使用不正确的光衰减,与传统RP的结果相匹配。...3.2 灯光代理 通过提供一个方法的委托,可以告诉Unity使用不同的衰减,该方法应在Unity在编辑器中执行光照映射之前被调用。...针对编辑器,我们需要重写光照贴图器以解决如何设置其光照数据。通过为它提供方法的委托来完成,该方法将数据从输入Light数组传输到NativeArray输出。...(正确的衰减烘焙) 不幸的是,Unity 2019.2光照贴图器不支持聚光灯的自定义内衰减角度。可以设置内spot角度,但它会被忽略。 光照贴图程序可以在更高版本的Unity中使用内Spot角度吗?

    4.7K20
    领券