【Unity】5.X灯光烘焙与4.X在实际应用中的区别和注意事项

2024-03-01 16:48

本文主要是介绍【Unity】5.X灯光烘焙与4.X在实际应用中的区别和注意事项,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、 先说说 Unity4.X 烘焙面板里常用的参数



Quality 烘焙质量一般会选择高
Bounces 反弹 这个值一般选 1,如果选 2,烘焙的时间会增长 50%左右,所以设置这个值要谨慎。
Sky Light Intensity 天空光强度 这个一般我也不会设置的太高
Bounce Boost 反弹增强,同一单位面积内增大光的反射数量,相比较来说,这个值增大会直接影响渲染时间。
Bounce Intensity 增强光的反射强度
Contrast Threshold 对比度,这个只是偶尔会调。
下面是我烘焙大场景时用到的参数,基本是在效果和时间上达到了一个合理的平衡点。


二、 再说说 Unity5.X ,和 4.X的区别,首先光照烘焙技术就不同 


Unity4.X  版本采用的是 Autodesk 的 的 Beast  技术
Unity5.X  版本采用的是 PowerVR Ray Tracing 和 和 Enlighten  技术 , 所以 Lighting Window  面板里的参数 差别就很大 。
整体的参数介绍这个官网的 网址里有 ,
http://docs.unity3d.com/Manual/GlobalIllumination.html
我只说说常用的 。
(一)Object  面板

Lightmap Static : 必须把烘焙的物体设置成静态
Scale in Lightmap : 数值的大小与该物体的表面积有关,这个值影响烘焙时间,值越大时间越长。(效果如下图)
Scale In Lightmap 设置成 0.1 时的效果


Scale In Lightmap 改成 1 时的效果
(这个值也影响光影图的数量)


Preserve UVs: 如果物体没有在 3dmax 里展好 UV,那么这里必须勾选。
(二)Scene 
面板


Skybox :会直接影响你的环境光
Ambient Source :环境源,这里选 的 skybox
Ambient Intensity: 环境光的强度值,也就是环境光的亮度值
Reflection Source :反射源,这是 Unity4.X 里没有的。烘焙后会在场景文件的同名文件夹中多出一个名为
LightmapSnapshot 的文件。
Realtime Resolution :实时分辨率,这个物体所产生的 GI 对其它物体的影响程度,值越大影响越大。例如
Realtime Resolution 参数设成比原默认的小 10 倍即 0.2 ,
这个值调成 1 后,墙上的绿玻璃颜色,能更多的影响地面了



Realtime Resolution 参数改成 0.4 后的效果绿色墙所产生的环境光,影响范围变小了。


CPU Usage :选的默认。
Baked Resolution :烘焙分辨率,如果数值是 10,那么就是每个单位里分布 10 个纹理元素,实际测试的效果如下
Baked Resolution 的参数值调成 10 后,阴影的边变实了


Baked Resolution 的参数值调成 1 后,阴影的边变的很虚了


Indirect Intensity :间接强度,这个和 unity4.x 里的参数有些像,可以简单的理解为光的反射强度。
Bounce Boost :反弹强度,同一单位面积内增大光的反射数量,相比较来说,这个值增大会直接影响渲染时间。
Default Parameters :默认参数,这里还可以自己创建自己的参数。一般情况在预烘焙时选择最低设置。
Atlas Size:烘焙图的大小,以前 4.X 版本只能通过脚本来调整,现在好了。
(三)灯光参数


这里需要注意的是 Baking 选项里要设置成 Baked ,否则烘焙不起作用。
剩下的两个参数,基本和 Unity4.X 的参数功能相同。
注意下面这个问题



最后说一下,下面这几个参数一定要注意,它们影响烘焙速度和光影图数量,当初就在这上面吃过亏,场景太大,
参数没调小,烘了一晚上啥也没出来。
“Scale In Lightmap  、Realtime Resolution 、Baked Resolution 、Atlas Size”
总体来讲要想提高烘焙速度,就从这 Scale In Lightmap 、Realtime Resolution、Baked Resolution 三 个参数入手基本就可以了。
其实升级到 Unity5  有很多问题,很多以前的脚本、插件都不好用,都需要我们一步步解决。
跑完一次后,调整参数后,再跑,速度就会快很多。
每个物体的“Scale In Lightmap” 参数在跑第一遍的时候可以先设置成 0 ,这样跑的快一些。

这篇关于【Unity】5.X灯光烘焙与4.X在实际应用中的区别和注意事项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/763133

相关文章

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

Java Stream流之GroupBy的用法及应用场景

《JavaStream流之GroupBy的用法及应用场景》本教程将详细介绍如何在Java中使用Stream流的groupby方法,包括基本用法和一些常见的实际应用场景,感兴趣的朋友一起看看吧... 目录Java Stream流之GroupBy的用法1. 前言2. 基础概念什么是 GroupBy?Stream

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

C#中的Converter的具体应用

《C#中的Converter的具体应用》C#中的Converter提供了一种灵活的类型转换机制,本文详细介绍了Converter的基本概念、使用场景,具有一定的参考价值,感兴趣的可以了解一下... 目录Converter的基本概念1. Converter委托2. 使用场景布尔型转换示例示例1:简单的字符串到

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat

PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例

《PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例》词嵌入解决NLP维度灾难,捕捉语义关系,PyTorch的nn.Embedding模块提供灵活实现,支持参数配置、预训练及变长... 目录一、词嵌入(Word Embedding)简介为什么需要词嵌入?二、PyTorch中的nn.Em

C++中detach的作用、使用场景及注意事项

《C++中detach的作用、使用场景及注意事项》关于C++中的detach,它主要涉及多线程编程中的线程管理,理解detach的作用、使用场景以及注意事项,对于写出高效、安全的多线程程序至关重要,下... 目录一、什么是join()?它的作用是什么?类比一下:二、join()的作用总结三、join()怎么

Spring Boot3.0新特性全面解析与应用实战

《SpringBoot3.0新特性全面解析与应用实战》SpringBoot3.0作为Spring生态系统的一个重要里程碑,带来了众多令人兴奋的新特性和改进,本文将深入解析SpringBoot3.0的... 目录核心变化概览Java版本要求提升迁移至Jakarta EE重要新特性详解1. Native Ima