Unity Lighting -- 为场景烘焙lightmap

这篇具有很好参考价值的文章主要介绍了Unity Lighting -- 为场景烘焙lightmap。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

烘焙光照是什么?

        Unity中有两种不同的光照方式:实时光照和烘焙光照。

实时光照

        Unity会在运行时实时计算光照。实时光源每一帧都会进行计算,这意味着它们对于场景中移动的角色和物体的响应性非常好,但它的开销也很大。

烘焙光照

        Unity会在运行前预先计算出烘焙光照。在运行时这些光照效果无法进行修改,对于动态的游戏物体来说,烘焙灯光不会有任何响应。

        计算烘焙光照的过程涉及为整个场景生成UV坐标,这个坐标和材质里的纹理映射的UV坐标是类似的。烘焙后的纹理映射被称为光照贴图(lightmap),创建lightmap的过程被称为光照贴图映射(lightmapping)或烘焙(baking)。

        烘焙光照更加高效,也能用于为用户提供更多更加真实和体验感的光照效果。

改变光照模式

        在Unity中,Light Mode设置能够让我们选择我们想要使用的光照方法:

  •         烘焙的(baked)
  •         实时的(real-time)
  •         混合的(Mixed)

        如果要改变光照模式:

        1. 选择场景中的某个光源游戏物体(比如Directional Light或Spot Light),查看其Inspector里LIght组件的Mode属性:

unity场景烘焙,Unity笔记,unity,Lighting,Bake,Lightmap

         2. 将Mode修改为Baked,即可修改光照模式

        3. 如果想要更快速地配置光源的光照模式,可以在Windows->Rendering->Light Explorer窗口中进行快速配置(避免从Hierarchy或场景中去一个个找):

unity场景烘焙,Unity笔记,unity,Lighting,Bake,Lightmap

将场景中的光源设置为Static

        如果在运行时一个游戏物体不会发生移动,那么它被认为是静态的(static)。对于此类物体我们可以标记这些游戏物体为static。当游戏物体标记为static时,Unity会预先计算一些相关数据,包括用于全局光照的光照贴图数据。

        在烘焙光照贴图前,我们需要将场景中的光源设置为static。下面的例子以两个路灯模型为例。设置为static的路灯,光源的模式选择为Baked,另外一个非static的则是real-time。

unity场景烘焙,Unity笔记,unity,Lighting,Bake,Lightmap

 

unity场景烘焙,Unity笔记,unity,Lighting,Bake,Lightmap

 

烘焙光照贴图

        我们可以为渐进光照贴图器(Progressive Lightmapper)选择两种后端。Unity默认使用渐进式CPU光照贴图器(Progressive CPU Lightmapper),这种后端计算上使用的是计算机的CPU和系统RAM。另一种光照贴图器,渐进式GPU光照贴图器(Progressive GPU Lightmapper),则使用计算的GPU和VRAM来计算光照贴图。

        使用GPU方式的光照贴图能够极大地提升光照贴图计算的速度,但前提是计算机的配置能够满足相关的硬件和软件要求,这个要求在这里查看:

unity场景烘焙,Unity笔记,unity,Lighting,Bake,LightmapUnity - Manual: The Progressive GPU Lightmapper (preview)https://docs.unity3d.com/Manual/GPUProgressiveLightmapper.html

烘焙光照贴图

        1. 在Lighting窗口中(Window -> Rendering -> Lighting),选择Scene标签页,然后点击New Lighting Settings

        2. 将这个光照配置文件命名为BakedLighting 

unity场景烘焙,Unity笔记,unity,Lighting,Bake,Lightmap

         3. 将Lighting Mode设置为Baked Indirect。如果你的机器满足GPU光照贴图器的要求,可以将Lightmapper设置为Progressive GPU(Preview)以便加快烘焙速度

        4. 在Lighting窗口,选择Generate Lighting来烘焙光照贴图。我们会在Unity Editor的右下角看到烘焙的进度。

unity场景烘焙,Unity笔记,unity,Lighting,Bake,Lightmap

        5. 烘焙过程中注意观察场景中的两个路灯,选择了static和没有选择static的路灯模型有什么区别

        6. 烘焙完成后,移动一下static的路灯模型,可以看到其光照和阴影没有随着路灯的移动而改变。

unity场景烘焙,Unity笔记,unity,Lighting,Bake,Lightmap

添加一个面光源(Area Light)

        之前的笔记中提到过,Area Light仅能用烘焙方式作用。我们在场景中添加一个带面光源的模型来看看。

        可以看到,这个模型添加到场景中后,并没有什么光照效果出来。

        

unity场景烘焙,Unity笔记,unity,Lighting,Bake,Lightmap

 

        我们再次生成一下烘焙光照贴图,现在就能看到它的效果了。

unity场景烘焙,Unity笔记,unity,Lighting,Bake,Lightmap

        如果我们要修改面光源的参数,修改之后,也必须再次烘焙才能看到效果。

设置Mixed光照模式

        我们还可以将Light Mode设置为Mixed来创建混合模式的光源,这种方式结合了动态(real-time)阴影以及烘焙的光照。相比于纯烘焙光照,它会增加存储和运行时开销,但也能改善阴影的质量。对于一个相对较小的轻量级项目来说,通常可以使用Mixed方式,虽然会消耗一定性能但很值得。

        要切换光源为Mixed模式,和前面设置Light mode的操作是一样的,这里不再赘述。

unity场景烘焙,Unity笔记,unity,Lighting,Bake,Lightmap

         选择完Mixed模式后,需要在Lighting窗口中点击Generate Lighting来更新烘焙光照贴图。文章来源地址https://www.toymoban.com/news/detail-735867.html

到了这里,关于Unity Lighting -- 为场景烘焙lightmap的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • unity 场景烘焙问题之模型UV有重叠

    问题现象:模型烘焙出来后,呈现黑色或布满脏斑,有可能是没有展UV,也有可能是UV重叠了 并且也会出现警告提示,如下图: 如果我们勾选了如下图,还在提示我们勾选,那可能就是 UV重叠了 UV 重叠没有唯一的解决方案,因为有很多问题可能导致这种情况。以下是最常见的

    2024年02月10日
    浏览(45)
  • Unity | HDRP高清渲染管线学习笔记:Lightmapping(光照烘焙)与Lightmap(光照贴图)

    目录 相关概念 1.渐进式光照贴图烘焙 1.1 渐进式光照贴图烘焙对模型的要求 1.2 渐进式光照贴图烘焙对硬件的要求 1.3 渐进式光照贴图烘焙支持的Unity渲染管线 1.4 进行渐进式光照贴图烘焙结果 1.5 渐进式光照贴图烘焙的CPU版本和GPU版本 1.6 Lighting窗口Lightmapping Settings参数介绍

    2024年02月11日
    浏览(57)
  • Unity Lighting -- Unity的光源简介

            在主菜单栏中,点击Window - Rendering - Light Explorer打开光源管理器,这个标签页可以看到场景中所有的光源,包括每个光源的类型,形状,模式,颜色,强度,阴影等信息。       在主菜单栏中,点击Window - Rendering - Lighting打开窗口,这个窗口是设置场景级的灯光设置

    2024年02月04日
    浏览(33)
  • Unity Lighting -- 配置阴影

            本笔记使用URP管线进行说明         在项目窗口中,主菜单中选择Edit - ProjectSettings,然后选择Quality,查看当前项目所使用的URP资源,目前例子所使用的资源为UniversalRP_HighQuality资源          在工程窗口中,会有对应的渲染管线配置资源文件,选择这个文件,查看其

    2024年02月14日
    浏览(40)
  • Unity Lighting Mode

    在Light中Mode设置为Mixed时,Lighting Mode(在Window-Rendering-Light-Scene)有三种选项如下图:   Baked Indirect          烘焙间接光,效果最好性能最耗 混合光源照亮的动态游戏对象将接收: 实时直接光照。 烘焙间接光照(使用光照探针) 动态游戏对象的阴影,不超过阴影距离 (S

    2024年02月13日
    浏览(32)
  • 留个档,Unity Navigation. 动态创建NavMesh,动态Bake NavMesh, 动态烘培NavMesh

    运行时,动态创建NavMesh,动态Bake NavMesh, 动态烘培NavMesh 根据unity官方的demo,解析一下,发现动态创建NavMesh导航并不难. 其实只需要 网格信息,还有 需要创建的范围即可。 可以认为是固定公式了 简化写法如下,是不是需要缓存某些信息,就看具体逻辑实现了 程序学无止尽。

    2024年02月13日
    浏览(34)
  • Unity Lighting -- 配置平行光源和天空盒

            在游戏或实时应用程序中,我们可能会创建多种不同种类的场景,比如室内场景、室外场景、真实的场景或完全想象的场景。即便项目是一个完全的想象的或是科幻的故事,灯光也是非常重要的一环,它能极大提升沉浸感。         在光照设计和实现中,识别出一个

    2024年02月11日
    浏览(45)
  • unity 2019 内置渲染管线 光照与Lighting面板 参数详解

    本文仅讨论内置渲染管线,高清渲染管线和通用渲染管线不在讨论范围之内 内置渲染管线就是最普通的工程自带的渲染管线 本文使用的Unity版本为2019.4 ,。如果你的版本不同,参数和参数的功能可能不同。 由于作者并非专业技美,只是一个苦逼的码农,难免有错误,请大佬

    2024年02月17日
    浏览(40)
  • Unity教程||Unity 渐进式光照贴图烘焙详解

    随着各大计算平台的算力稳步增长,特别是GPU技术的不断进化,原先可望而不可及的技术比如实时光线追踪技术开始逐步走入玩家的视野。一些先锋厂商甚至已经超出Demo的范畴,开始正式推出支持实时光追的游戏。 不过目前的实时光追技术还只能在配备了最新Nvidia RTX 20系列

    2024年02月08日
    浏览(53)
  • Unity烘焙常见问题

    本文首发于公众号 洪流学堂 ,未经允许,不可转载。 Unity中光影烘焙经常会遇到很多莫名其妙的问题,大智总结了一个问题解决手册,本文是比较常见的一些问题,还有一些不那么常见的问题,《手册全文pdf》获取方法: 洪流学堂 公众号回复 烘焙 。 主要原因是需要生成的

    2024年02月06日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包