今天简单地跟大家分享一下Unity5.0里面的光照贴图烘焙技术。由于时间只有20分钟,所以只能给大家一些概要性的介绍,没有办法深入,等到Unity5.0版本正式推出之后,我会给大家一些更详细的介绍。
接下来我会分3个部分跟大家讲解,第一部分讲解一下在以往的Unity版本中所采用的光照烘焙方法,以及Unity5.0中为什么会采用一套全新的光照 贴图烘焙方法。第二部分讲解Imagination的PowerVR Ray Tracing方法。第三部分讲解Geomerics的Enlighten方法。后两种方法都会被引入到Unity 5.0版本当中去。
首先我们来介绍Unity在4.X版本里面使用光照烘焙的方法。我们采用的是Autodesk的Beast,而我们在5.0版本中可能会把它彻底移除。 这是为什么呢?我们先介绍一下Beast的弱点吧。Beast只能烘焙静态的光照贴图,而不支持动态光照。一般而言,使用Beast的工作流程是:先建造 一个场景,然后在场景中布置各种光源,进而点击Bake操作键,接下来大家就可以喝喝咖啡,或者直接下班回家了,因为整个烘焙过程可能需要几分钟、几小 时,甚至是更长的时间。这样的过程还不一定得到正确的结果,如果发现前面的烘焙结果存在问题,还要重新返回到第一步,直至得到满意的烘焙结果。这样的过程 对于广大开发者来说肯定是一个不太友好的过程,势必会影响大家的工作效率。
那么既然我们说原来的方法存在着一定的问题,那么理想的光照方案是什么样的呢?第一,理想的方法不需要任何的预计算时间;第二,它能够让场景中所有与光 照有关的信息都能够实现动态改变,比如说动态改变光源、改变材质、改变环境光照,甚至改变场景中几何体的形状;第三,这样的一套方法还需要做到实时渲染, 这不仅包括Console设备,也包括我们手中的移动设备。可惜的是,这样一套理想的方案在目前是不存在的。很多的游戏开发厂商,甚至是硬件开发厂商,都 做过一些实践或者尝试,但是最终都失败了,都没能同时实现刚才所说的这几个目标。但是有一种绕行的方式,可以达到近似的效果。这就是Unity5.0当中 所采用的方法,我们会舍弃掉Beast,取而代之的是两种方案的结合,这就是PowerVR Ray Tracing和Enlighten的结合。
为什么要使用这两个方案的结合呢,我先给大家一个简要的概括:这两种方案都可以实现全局的GI,但是相比较而言的话,PowerVR Ray Tracing的特点是不需要烘焙过程,速度非常快,但是它的效果不是非常理想;而Enlighien的特点仍然需要一定的烘焙过程,但是效果非常好。更 具体一点说,我们会在Unity编辑器环境下采用PowerVR Ray Tracing方案,从而利用它快速实时的特点,你可以在场景中随时动态调整任何的东西,都能及时地看到调整的效果;一旦你把这个效果调整到了一个比较理 想的状态之后,就可以采用Enlighten来进行预处理和烘焙,从而达到更好的实时渲染效果。特别地,Enlighten具有很好的跨平台特性,能够在 从移动到Console等多个平台上实时地运行。
在Unity 5.0中,PowerVR Ray Tracing还有一个特点,就是它能够实现渐进式的效果过渡,一开始显示比较粗糙的、类似于马赛克式的效果,然后逐步迭代求精,可能在若干毫秒之后,就 会呈现出非常完美的效果。大家可能还会有一个问题,如果说我在Editor的模式下,采用PowerVR Ray Tracing调整出了一个比较好的效果,那么我怎么保证它和Enlighten最终取得的效果是近似相同的,如果完全不同,那我们就白花时间调整了!这 个肯定是大家不希望见到的结果。所以我们在Unity中引入PowerVR Ray Tracing时是进行了调整和改变的,使PowerVR Ray Tracing和Enlighten的输入是一致的,然后尽量使他们的输出也是一样的。
接下来我们来看一段视频,来看看PowerVR Ray Tracing在Unity编辑器中的使用方法。大家可以看到,我们可以动态地改变沙发的材质,并实时地预览到调整效果。此外,还可以动态调整场景中的体 积光源,也可以动态调整方向光的照射方向,以及聚光灯的位置,都可以实时地观看到调整结果。
再说一下Enlighten,它能够实现动态光照,也支持传统的烘焙过程,并能把两者无缝的拼接起来,最终保证在画面上面不会有任何的走样效果。这里, 我们也可以通过一个视频看看光照效果。这个场景中是一个太空舱,太空舱外面有一个环境光照,还有一个探视口,从外面有光线射进来。这个场景总的光照条件是 非常非常复杂的,有来自于窗外的环境光照,有一些直接的方向光源,有动态材质还有一些粒子效果,所有这些东西都可以动态地叠加起来,对于周围环境的影响也 是实时的。文章出处【狗刨学习网】。
我们刚才简单地介绍了Unity5.0中将会采用的光照贴图烘焙方法,最后我来做一个简单的总结:在Unity的以往版本中,我们使用了Beast;在 5.0版本中,我们会舍弃Beast,进而采用PowerVR Ray Tracing和Enlighten的结合;PowerVR负责编辑器中的编辑模式,即所见即所得的模式;而Enlighten会负责游戏内的实时渲染。 最后,大家可能还有一个疑问,就是Enlighten会问会不会有效率问题。我们说,在一些相对中高端的设备上,Enlighten的运行效率是非常高 的;而在一些低端的设备上,Enlighten同时支持与Beast相似的静态光照贴图方式,因而也可以保证运行效率。
相关推荐
Unity3d光影烘焙常见缺陷的解决方法【2020】
很多Unity3d初学者在烘焙场景时,由于没有经验,模型上常常出现一些怪异的"黑斑"、“撕裂”、”硬边”、“漏光”现象(如下图所示),反复调试,问题依然得不到解决,搞得精疲力尽,甚至产生了放弃的念头,本文将针对Unity3d烘焙时常见的几种“黑斑”现象进行逐一分析和图解,希望对遇到这样问题的朋友有所帮助。
Unity烘培的简单使用 三种烘焙模式的介绍
Unity烘培的三种模式使用介绍需要了解的知识简介Unity烘培是什么间接光源和直接光源Mixed 和 Baked 灯光设置的区别Unity烘培在什么情况下使用勾选上了实时渲染的drawcall(越少越好【合理就行,太执着只会影响项目进程】)不勾选实时渲染使用baked模式Subtractive在下面我会介绍不同模式的作用最常用的烘焙设置Unity烘培的作用Lighting Mode三种模式的选择BakedIndirectShadowmaskSubtractive 需要了解的知识 简介 如果你仅仅只是想烘培
Unity3D灯光与渲染学习之(二):全局、烘焙以及混合光照
本篇博客主要对实时、烘焙和混合光照进行介绍。传送门:Unity3D灯光与渲染学习之(一):天空盒、灯光以及色彩空间Unity3D灯光与渲染学习之(二):全局、烘焙以及混合光照Unity3D灯光与渲染学习之(三):探针使用、后处理与批处理4.全局和烘焙关照全局光照,简称GI,是一个用来模拟光的互动和反弹等复杂行为的算法,要精确的仿真全局光照非常有挑战性,付出的代价也高,正因为如此,现代游戏会先一定程...
Unity3d游戏开发之使用烘焙贴图教程
欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌。 关于灯光贴图,烘焙贴图如何在unity3d中导入及使用的基本教程。 1,当您完成uvw保存到您的模型。 uvw文件 2,创建新uvw并将其更改为通道2。加载u
unity光照烘焙怎么弄
很多网友提问Unity光照烘焙怎么弄,小姐姐针对这样的提问,通过实例作一解答,希望对有这样疑问的人有所帮助。
怎么在Unity2019中烘焙lightmap
本文将就如何在Unity2019中烘焙lightmap的话题,以实例的方式与网友展开讨论,相关实例截图如下: 干活! ● Unity日景烘焙 首先小姐姐以著名的斯蓬扎宫模型场景为例,和大家一起探讨一下正午时分的光影布光方法及烘焙过程。3dMax模型情况如下图所示(由图可见,模型的面数为6万多(见截图左上角),模型一定要采用精简的单面建模,否则这个场景的面数会多达几百万,甚至上千万的面,如此多的面...
Unity5.x运行时动态更新烘培贴图
运行时更新烘培贴图分两种情况 1、场景的物件没有发生变化(也就是说没有运行时加载在场景上的Prefab)此时可以直接更换烘培贴图。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 using Unit
Unity3D技术之深入了解光照贴图详解
深入了解光照贴图 如果是第一次接触 Unity 中的光照贴图,本快速入门指南将对您有所帮助。 光照贴图完全集成到 Unity 中,可在编辑器 (Editor) 中创建整个关卡,然后对其进行光照映射,让所有材质自动获取光照贴图,无需手动进行。对 Unity 中的光照贴图来说,所有灯光属性会直接映射到 Beast 光照烘培贴图工具中并烘培到纹理,提高性能。Uni
unity3d烘焙教程 持续更新中【2020】
很多刚刚接触Unity3d的童鞋花了大量的时间自学,可总是把握不好Unity3d的烘焙,刚从一个坑里爬出来,又陷入另一个新的坑,每次烘焙一个场景少则几个小时,多则几十个小时,机器总是处于假死机状态,半天看不到结果,好不容易烘焙完了,黑斑、撕裂、硬边、漏光或漏阴影等缺陷遍布,惨不忍睹,整体效果暗无层次,或者苍白无力,灯光该亮的亮不起来,该暗的暗不下去,更谈不上有什么意境,痛苦的折磨,近乎失去了信心,...
《Unity3D ShaderLab开发实战详解》第8章 基于光照贴图的烘焙照明
在Shader中使用Lightmap的简单的例子 Shader "Self-Illum/NewSurfaceShader" { Properties{} SubShader { Tags{"RenderType" = "Opaque"} Pass { Tags{ "LightMode" = "ForwardBase"} CGPROGRAM #pragma...
【Unity3D基础2-9】Unity3D烘焙系统的使用
一、目录 【Unity3D从入门到进阶】文章目录及设置这个专栏的初衷 二、什么是烘焙,为什么烘焙 把物体模型放进了场景里之后,引擎会计zd算光线,光线照到物体的表面形成反光和阴影。 烘焙的作用: (1) 利用light mapping(光照贴图技术)来烘焙物体,这是一种增强场景光照效果的技术; (2)当把物体放进场景中,引擎就会计算光线,光线照到物体表面形成反光和阴影;一般有两种情况:当不烘焙物体时,游戏运行时,反光和阴影都是由显卡和CPU计算出来的;当烘焙物体时,反光和阴影都会记录到模型中,变成新的贴图,
unity3d 为什么要烘焙/unity3d 烘焙作用是为了什么【2020】
因为Unity3d的最终作品是供受众对3D场景进行实时操作的,就像其他3D软件场景编辑状态的操作,而一般的3D软件最终作品是将场景渲染成图片或图片序列呈现给受众的,两者的最终作品有本质的区别,简单地说,前者呈现给受众的是3D场景,后者呈现给受众的是图片或图片序列(动画)。尽管如此,两者都必须有较强的立体感和较好的光影视觉效果,否则是不被受众所接受的。如下图所示: 一般3D软件的编辑状态为了加速运...
Lightmap与动态光照的实时切换1
3.如果是使用动态光照,在进入场景后,调用一个脚本,该脚本只做一件事情,就是把所有场景中用到MeshRender组件中的lightmapIndex的值赋值为-1
Unity3D-光照贴图技术
Unity3D-光照贴图技术 概念 Lightmapping光照贴图技术是一种增强静态场景光照效果的技术,其优点是可以通过较少的性能消耗使静态场景看上去更加真实,丰富,更加具有立体感;缺点是不能用来实时地处理动态光照。当游戏场景包含了大量的多边形时,实时光源和阴影...
Windows Server+SqlServer Always On实战:5步搞定高可用集群搭建
本文详细介绍了在Windows Server环境中,通过5个关键步骤搭建SQL Server Always On高可用集群的实战指南。内容涵盖从底层故障转移集群配置、SQL Server实例启用Always On功能,到创建可用性组和侦听器的完整流程,并提供了核心运维与故障排查思路,帮助企业构建稳定可靠的数据库高可用架构。
python123题目——摩尔斯电码转换
类型:列表元组。
Unity3d 2019室内光照贴图lightmap快速烘焙(转载)
Unity3d 2019室内光照贴图lightmap快速烘焙(转载) Unity3d 2019室内光照贴图lightmap快速烘焙(转载) 转载一篇觉得挺好的文章,以防丢失!链接: 原作者: 以一个小客厅为例,这个例子的3D场景如下图所示: 拆分好的UV如下图所示 导入Unity3d后的场景情况如下图所示: 这个场景比较简单,一个窗户、一个沙发、一个茶几、一个书柜、两个落地灯、一个墙面装饰、还有一个挂画、茶几上一个杯子、两盆绿植,这里我们设想将场景烘焙成阴天的白昼气氛,也就是没有直射太阳光,室外光线完
实测有效!易灵思FPGA工程如何正确配置Efinity+Modelsim仿真环境
本文详细介绍了易灵思FPGA工程中如何高效配置Efinity与Modelsim联合仿真环境,包括软件版本匹配、系统环境变量设置、工程文件结构优化及仿真脚本深度优化等实战经验。通过实测数据验证,该方案可显著提升仿真效率,适用于不同规模的设计验证,帮助工程师快速搭建稳定高效的联仿环境。
unity android光照贴图格式,Unity3D-光照贴图技术
概念Lightmapping光照贴图技术是一种增强静态场景光照效果的技术,其优点是可以通过较少的性能消耗使静态场景看上去更加真实,丰富,更加具有立体感;缺点是不能用来实时地处理动态光照。当游戏场景包含了大量的多边形时,实时光源和阴影对游戏的性能的影响会很大。这时使用Lightmapping技术,将光线效果预渲染成贴图使用到多边形上模拟光影效果。烘焙参数Object选项卡“All”组中的参数Ligh...
【Matlab】多旋翼无人机视觉伺服跟踪控制程序
本文介绍了基于Matlab的多旋翼无人机视觉伺服跟踪控制程序开发方法。该系统采用视觉感知、坐标转换、伺服控制和仿真验证四个核心模块,通过HOG+SVM目标检测、Shi-Tomasi特征提取和PID双闭环控制算法实现动态目标跟踪。详细阐述了相机标定、目标检测、坐标转换及伺服控制等关键环节的Matlab实现代码,并进行了仿真验证。结果表明该系统在±0.1m的跟踪精度下可实现100Hz的实时处理,适用于室内外复杂场景。文章还提出了工程应用中的优化建议,为无人机视觉伺服系统的开发提供了完整的技术方案。
05 Transformer 到底解决了什么问题
Transformer 是现代大语言模型的底层骨架。本文不推公式,而是从 CNN、RNN/LSTM 的瓶颈讲起,解释 Transformer 如何通过自注意力同时解决长距离依赖和并行训练问题,并说明它为什么能支撑 GPT、BERT 和现代大模型的规模化。
Unity(四十五):光照烘焙、反射探头
将场景中的灯光与物体产生的光照与阴影信息烘焙在一张或者多张Lightmap贴图中,这些物体将不再参与实时光照计算,从而减少了大量的性能开销。将光照烘焙下来的参数存储到脚本中以便运行时使用。参与烘焙计算的对象在游戏过程中不能发生移动。"Contribute GI 静态游戏对象""Mixed 烘焙光照贴图""Baked 烘焙光照贴图"
极智AI | 算能SC5+智算卡驱动安装与升级
大家好,我是极智视界,本文介绍一下 算能SC5+智算卡驱动安装与升级
2万+



被折叠的 条评论
为什么被折叠?



