Unity填坑-灯光烘焙相关

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

Unity填坑-灯光烘焙相关


前言

项目组对灯光烘焙那块参数以及工作流程有一定疑问,单独抽时间把整个机制做了一次单独的调研,错漏之处恳请指点。


一、Light的模式

Unity中的Light模式分为三种:
Unity填坑-灯光烘焙相关,Unity填坑,unity,数码相机,游戏引擎
实时,混合,烘焙。
这三种要结合在Lighting设置一起工作来看。

二、光的效果分类

一种是直接光照,即光直接照到物体上,反射到相机里。
二种是全局光,即光照到物体上,再反射到其他物体上,如此再反射到相机里的光。
三种是环境光,即没有任何灯的情况下,场景还会被天空盒、环境设置的光等照亮的光。

三、各种Light模式与烘焙的说明

1.Realtime,实时光

在运行时,直接对场景物体进行光照,产生高光、漫反射、阴影等实时效果。这时Light的变化,会带来场景物体接受灯光的实时变化。
备注:其中阴影通过实时的阴影深度图实现。

这个灯和Lighting设置有关系的是设置RealtimeLighting开启(即实时全局光),后面单独说这个设置的流程。

2.baked,烘焙光

提前利用这个灯的信息在场景里面找到设置Static(特别是ContributeGI)的物体,进行整个场景烘焙,得到场景的烘焙信息数据:光照贴图、光照方向、光照信息、ShadowMask贴图、光照探针的信息。其中光照贴图,会因为Lighting设置不同,生成不同的光照贴图(比如:用于采样间接光的间接光照贴图,用于实时计算间接光的物体位置信息贴图,用于阴影采样计算的ShadowMask贴图)。
需要注意的是,当场景中没有进行烘焙时(即没有烘焙数据时),baked光等同于Realtime光。
如果已经烘焙出了场景的各种贴图,那么baked光就无用了,在运行时无论是开启还是关闭都没有任何效果。
运行时,对应标记的物体,会直接去采样这些贴图信息(在shader中会有不同关键字去开启对应的流程)然后进行渲染显示各种效果。

3.mixed,混合

字面意思就是又有烘焙光的功能,又有实时光的功能。对于动态物体,它就是提供Realtime光的功能,提供实时照明效果。

对于标记了静态(特别是ContributeGI)的物体,要根据Lighting设置中的,MixedLighting设置会有不同效果。
如果LightMode是:BakedIndirct,烘焙只会包含间接光照数据,那么这些静态物体在渲染时,会去间接光照贴图中采样间接光照,从而显示出逼真的效果。

Unity填坑-灯光烘焙相关,Unity填坑,unity,数码相机,游戏引擎

此时,如果灯光Light的RealtIme部分会产生实时阴影、高光漫反射等效果,即光源变化时,阴影等效果都会跟随变化,而间接光(比如上图中的泛红色部分不会变化)。

LightMode:subtractive,直接光与间接光效果都会进入烘焙贴图中,从而运行时这些静态直接采样这些贴图进行渲染,这个mix灯产生的直直接光与间接光效果(与baked灯效果一样,但是这个mix灯还可以对其他动态物体进行直接光照效果)都进入贴图。此时移动这个灯,不会产生任何变化。

LightMode:Shadowmask,比BakedIndirct多一个shadowMask贴图。即阴影也会进入到贴图信息中。此时需要关注Project中Quality设置的阴影模式,如果是shadowMask,那么这个静态物体产生的阴影会从贴图中读取,意味着mix的灯变化的话,阴影不会有任何变化。
Unity填坑-灯光烘焙相关,Unity填坑,unity,数码相机,游戏引擎

如果Quality设置为Distance ShadowMask,那么在近距离内,阴影为mix灯产生的实时阴影,远距离时,会变为采样shadowMask中的阴影信息产生阴影。这个距离指的是摄像机与阴影的距离,在URP中的MaxDistance设置。
Unity填坑-灯光烘焙相关,Unity填坑,unity,数码相机,游戏引擎

四、实时全局光

如果开启了实时全局光,那么烘焙会烘焙出静态物体的位置信息贴图数据,且关联的是场景中LightMode为Realtime的光。烘焙好之后,当这些灯(realtime)发生变化时,全局光也会相应的变化。可以理解为实时渲染出全局光照贴图,供给这些静态物体进行渲染,产生更加逼真的效果。

五、其他说明

1.动态物体的全局光照效果

可以看到以上并没有实时的全局光照给动态物体的,所以需要额外的手段进行烘焙,即光照探针贴图,他可以收集场景中的光照信息,并且投射给接受全局光照为光照探针的场景物体。此时物体移动(只勾选了全局光照的信息)可以接受来自光照探针的全局光照信息。同样的,当全局光照为实时,光照探针的光照信息也会跟随光变化。
Unity填坑-灯光烘焙相关,Unity填坑,unity,数码相机,游戏引擎
反射探针与光照探针原理类似,它会收集探针的六个面,进行投射,从而采样。

默认情况下,动态物体的全局光照(间接光)都是来自于光照探针,如图:
Unity填坑-灯光烘焙相关,Unity填坑,unity,数码相机,游戏引擎
如果要改成来自于光照贴图,那么就需要让其贡献全局光照将其信息烘焙到对应的贴图中(开启了static选项,所以就没有动态的间接光的效果了)。

2.手机使用烘焙注意的点

手机由于性能问题,不建议开启实时全局光照。同时有时候烘焙效果,在手机内有很大差异,原因在于光照贴图的格式,在手机与PC上格式不一样,设置LightMap的Encoding时会有不同的编码格式,注意设置光照强度,手机上光照强度超过一定值都会被限制到一定数值内,从而导致与PC上看起来相差很大。所以一定要注意物体表面烘焙的光照强度。

Unity填坑-灯光烘焙相关,Unity填坑,unity,数码相机,游戏引擎

3.其他设置

Lightmapping Settings:光照贴图的生成设置,对照Unity文档就能知道差异
Workflow Settings:光照探针的一些可视化设置。

Environment设置,环境光照的一些设置,环境光设置后,可以保证场景中没有灯,也会被环境光照亮。文章来源地址https://www.toymoban.com/news/detail-795603.html

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

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

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

相关文章

  • U盘/硬盘/数码相机RAW格式文件丢失的原因|恢复方法

    在现代数字生活中,U盘、硬盘以及数码相机等设备已经成为我们储存和分享数据的主要工具。然而,当这些设备中的RAW格式文件出现丢失时,我们可能会陷入困境。面对这种情况,了解如何恢复这些RAW格式文件就变得至关重要。 一、理解RAW格式文件 RAW格式文件是一种原始数

    2024年02月12日
    浏览(59)
  • 小米12s ultra,索尼xperia1 iv,数码相机 拍照对比

    首先说明所有的测试结果和拍摄数据我放到百度网盘了(地址在结尾) 我一直想知道现在的手机和相机差距有多大,到底差在哪儿? 先说结论: 1.1英寸的手机cmos(2022年) 6年前(2016)的入门款相机(m43画幅) 2.手机 不能换镜头,只能在特定的拍摄距离才能发挥出全部的实力.数码变焦画质损

    2024年02月09日
    浏览(86)
  • 【计算机视觉:算法和应用】第二章:图像形成——2.3数码相机

    2.1几何图元与变换 2.2相机辐射成像        从一个或多个光源开始,在世界中一个或多个表面反射并通过相机镜头后,光最终到达成像传感器。到达传感器的光子是如何转换为我们在数字图像上看到的数字(R,G,B)值的呢?在这一节,我们构建了一个简单的模型来解释大多数

    2024年01月19日
    浏览(67)
  • Unity灯光一:Unity中的灯光设置

    我相信unity开发者,除了一些所在的公司部门比较完善,大部分都是需要开发自己做一些场景或者资源的调整,我也是有这样的经历,那今天我就简单说一下灯光的设置 Unity 提供了四种光源:Directional Light (直线光), Point Light (点光源) , Spot Light(聚光灯) , Area Light(区域光) 1.这个

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

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

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

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

    2024年02月06日
    浏览(56)
  • Unity引擎光照烘焙

    一、先将系统中的光源去掉,会发现场景还是亮的。将天空环境光去掉(Windows- Rendering-Lighting) 将Environment Lighting, Environment Reflections设置为0.    二、创建一个简单的点光源 模拟大方块照出的光可以将光源拖到方块前面的位置。  其中有三个光源,PointLight是模拟大方块照亮

    2024年02月16日
    浏览(36)
  • Unity navigation烘焙不显示

    1.场景设置为navigation static。 2.有mesh render。 点击bake后无反应,不显示蓝色可行走区域(nav mesh)。 将layout设置为默认布局。 [Window]→[Layouts]→[Reset All Layouts]

    2024年02月15日
    浏览(59)
  • unity关于场景烘焙及材质问题

    在Player Settings面板中将颜色空间设置为线性 导入房间模型,注意房间外部墙体为单面,只保留内壳,外壳不要 将所有静态物体导入场景中,选中Assets中的模型在inspector面板中设置模型材质如下: 第一步进行无光照初步渲染, 将场景中的所有静态物体设置为Static模式, 删除所

    2024年02月01日
    浏览(34)
  • Unity导航拓展—动态烘焙NavMash

    早在很久之前的2018年,Unity官方就拓展了导航NavMash,使其从只有静态烘焙场景路径更改为动态烘焙,并增添了包括动态烘焙和三维导航烘焙等方法,不过这方面先提动态烘焙。 在勾选了NavigationStatic后,地面就烘焙好了一片静态区域 在允许的导航网格内可以正常移动,然而游

    2024年04月14日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包