unity3d可以建模吗 5.5.6 调整光照图大小在哪里

Realtime GI,实时全局光照,听上去就是一个非常高大上的词,但是越高大上就越令人心生敬畏,因为世上没有免费的午餐,越好的效果意味着越多的消耗,对于移动平台来说,这样的消耗受不受的起呢?首先来说说GI是干啥的,非常粗略的来描述下,如果说我们以前的光照系统就是由光源 - 物体 - 视点组成的话,那么全局光照系统就是由光源 - n多环境反射光 - 物体 - 视点。就是说GI额外包括了环境反射光的计算,它可以使得渲染出来的场景物体间的光影交互更为真实。
如果是离线烘焙的话,n多的环境反射光就是通过辐射度算法或者是光线追踪算法一点点计算出来的,但是实时渲染没有这么多的时间。为了实现实时的GI,简单的说来,Unity(Enlighten GI)需要预计算一些信息,这些信息大概包括场景间物体之间的位置、反射关系,以及一个环境反射树(这些都是我瞎猜的),在实时渲染时,利用这些信息Unity会动态生成一张间接光照贴图,像原先的Lightmap一样只不过上面记录的是物体表面受到间接光的信息,这样在实时渲染时就会看到物体受到反射光的影响了。
因此Unity GI有了如下特点:
只能作用于位置静态的物体,因此它是实时的却仍然是静态的
光源可以实时变化
物体的材质可以实时变化,并对附近物体产生影响
而GI产生的开销主要包括:
对间接光照的额外计算,相当于多一个Pass处理多一个光源
当光源、物体材质改变时对于间接光照图的重新计算,这个计算是在一个单独的线程中进行的不会导致主渲染进程延迟,但是会产生效果延迟,也就是说当你改变光源时场景的颜色亮度可能并不会里面就变化。
需要一些额外的内存保持GI计算所需要的间接光照贴图,以及场景物体关系信息等。
GI与Lightmap
看的出来GI的额外性能消耗是可以接受的,我在手机上进行测试,即使是很大很复杂的场景跑起来也完全没有问题(当然也是因为我是在iPhone6上测的)。不过多数情况下如果说你的场景中不存在光线变化或是动态的自发光材质,还是固定镜头的话(没错,我说的就是RPG),GI对于游戏来说仍然是没有用处的,所有GI能做到的事情用简单的Lightmap就能达到同样的效果。现在问题来了,Unity配合GI又搞了一个新的烘焙系统,这个系统要怎么玩儿呢。
首先,现在当你说烘焙时一定要弄明白你想烘焙的是Realtime GI所使用的间接光照图和场景树信息还是Static Lightmap,然后以此决定使用光源的类型是Realtime/Mixed/还是Baked。首先来说烘焙的方式,在Lighting面板中Precomputed Realtime GI 与Baked GI分别对应Realtime GI与Static Lightmap的烘焙。
组合起来就是三种(跟我说你啥都不烘的可以走了):
关闭Baked GI或者场景中的全部光源类型设置为Realtime。这意味着没有任何光照颜色会被预先烘焙计算,引擎在烘焙时只是存储场景内静态物体间的关系,当烘焙完成后你可以自由的调整光源或物体材质,并实时地看到效果。
此时在Scene中观察Baked结果可以看到没有任何静态颜色被烘焙出来。
在仅使用RealtimeGI时,光源应该选择Realtime类型。烘焙选项Realtime Resolution对应前文所说的间接光照图,值越高间接光的效果就越明显(其实应该是越准确,当分辨率太低时间接光会因像素过滤而变弱)
Realtime Resolution = 10
Realtime Resolution = 1
只烘焙Static Lightmap
取消Precomputed Realtime GI的勾选即为同原来一样的纯静态光照图烘焙。光源的选择则同原来一样,Realtime的灯光不参与烘焙,但同时作用于动态与静态物体上;Mixed光源参与烘焙,实时运行时仅作用于非静态物体;Baked光源仅作用于光照烘焙,不参与实时光照计算。
再次观察SceneView可以看到烘焙出来的颜色。
在Lighting面板中的Lightmaps页签中也可以看到烘焙出来的光照图。咦?怎么有两张,稍后解释
如果使用纯Static Lightmap烘焙时会有一个Indirection Resolution的设置,这个设置就对应于Precomputed Realtime GI中的Realtime Resolution,同样是控制间接光的影响,产生的效果是一样的。
如果同时烘焙Static Lightmap与RealtimeGI会发生什么事情呢?首先光源产生的光照以及物体间的二次反射光线都会被直接烘焙在静态光照贴图上,因此前文所提使用GI可以自由实时调整光源或是物体材质的效果在这种烘焙模式下都是没有用的,但是自发光材质以及天空光产生的辐射光线在这种模式下仍然是可以实时变化并叠加作用于已烘焙的颜色上。
光照烘焙颜色信息
辐射度信息
最终合成颜色
辐射度信息图中除了自发光的红色外还有一点点靛青色,这是天空盒产生的颜色,在Environment Lighting中调整Ambient Intensity可以控制天空盒对场景整体明暗的影响。总的来说主体颜色还是静态烘焙出来的Lightmap控制,但是增加了GI中的动态天空光和自发光。总的来说不建议使用这种方式进行场景渲染,又消耗了静态Lightmap和GI所需的内存,又消耗了GI的计算资源,效果还没单个使用的好。
在我看来GI最大的好处是可以让美术实时的看到使用Lightmap烘焙后的场景效果,也就是说首先关闭Baked GI仅烘焙一些Precomputed Realtime GI,随后美术就可以随意的调整光源、物体材质、天空盒等数值并实时观察到场景的最终效果,最后当一切都满意后关闭Precomputed Realtime GI使用Baked GI进行光照贴图的烘焙即可。
Lightmap的其他设置(坑)
新的Lighting面板里与GI或是烘焙的相关参数很多,我就挑点重要的来说。首先还是要分清楚这里面包括的两部分RealtimeGI与Static Lightmap Baking,其中RealtimeGI的相关参数也应该会影响到Static Lightmap Baking的结果,毕竟用的应该都是一套光照计算方法。所以在烘焙场景是最好首先只烘焙RealtimeGI,即关闭Baked GI,然后实时的调整RealtimeGI的相关参数以达到理想的场景渲染的效果,最后关闭Precomputed Realtime GI并打开Baked GI进行静态的烘焙。最终烘焙效果的上限就应该是通过RealtimeGI调试出来的结果,通过调整Static Lightmap Baking的相关参数,可以在烘焙速度、烘焙效果、烘焙图质量之间取得一个可以接受的结果。
Environment Lighting下的全部设置以及General GI中的Indirect Intensity和Bounce Boost都是可以在RealtimeGI下实时调整的参数,这里就不详细解释了,试试就知道。这里主要讲讲静态烘焙图的相关参数,做静态烘焙第一步要确定烘焙图的大小,这在手机平台是很关键的,与最终烘焙图大小相关的有这样一些参数。
General GI - Directional Mode
这一项决定了你烘焙出来的图是1份、2份还是4份,也就是内存占用是x1、x2还是x4,默认是Directional会生成两份,一份是光线烘焙图另一份是Directional Lightmap。具体干啥的我也说不清楚,文档里有解释,反正就是越费越nb,不过我可以负责任的说在大场景中Directional与None-Directional基本看不如太大区别,所以如果游戏是内存敏感的千万不要犹豫不要忘记直接把这项选择为None-Directional。烘焙出来的光照贴图就是我们最熟悉的样子。
General GI - Atlas Size
顾名思义就是每一张光照图的大小,如果设置的太小的话一个是会降低大物体的烘焙分辨率(单个物体的烘焙结果必须保存在一张图内),另外也会增加总光照图的数量。
Baked GI - Baked Resolution/Baked Padding
和原来的设置意思是一样的,越高精度越大,需要的烘焙像素越多,需要的烘焙图数量也可能会因此增加。
Baked GI - Compressed
对于手机平台不要犹豫勾上这项吧,会对最终生成的Lightmap进行压缩,会大幅降低其文件大小。
Object - Scale In Lightmap
在设置了Baked Resolution后还可以对单个物体的烘焙精度做出调整,对于不重要的物体来说可以将值设置为小于1,对于重要的物体可以将其值设置的更大。最终每个物体的烘焙精度可以在Scene View中GI下的任何一种视图模式中看到。下图中球体的Scale为0.2,地面的scale为2
无论scale设置为多大,最终单个物体的烘焙像素不能超过一张Lightmap的大小,再大的值也无效了,此时会显示出提示信息,提示物体像素密度已达到最大,更高的值就没有意义了。如果你希望一个物体完全使用单个的一张烘焙图时(比如地形)你可以调整这个值直至出现这个提示。如果出现这个提示时对于像烘焙素密度仍然不满意的话就需要考虑提升Atlas Size的大小了。另一个技巧是如果你只需要在烘焙时加入物体投射的阴影而不需要渲染该物体,可以将scale设为0.
以上参数都是与烘焙图的大小相关的,另外剩下的参数就是与烘焙质量有关了,同时也会显著的对烘焙时间产生影响(当然烘焙图大小本身也是烘焙时间长短的决定性因素)
原文链接:LOD和烘焙光照贴图
本页介绍使用Unity的LOD(细节级别)系统将光照烘焙到模型中。
在一个烘焙光照场景中使用Unity的LOD系统时,LOD系统使用LOD Group中细节最丰富的...
详解Unity 5 全局光照系统Enlighten问题(下)
上篇给大家解答了:为什么场景烘焙出来的lightmap上有Realitime灯光的颜色?和为什么在Unity
5中动态更换lightmap没有作用? 这两个问题。今天,我们继续给大家解答Unity...
unity中区域灯光烘焙问题
参与烘焙的物体要勾选static才能看到效果。
Unity5 新功能解析--GI(全局光)
Unity5带来的最大的改变就是全新的GI,在烘焙引擎上抛弃了4的beast,使用了虚幻采用的Enlighten,引入了实时的全局光。这里对UNITY5的新的光照系统做一总结....
【Unity3D自学记录】Unity5之GI设置简介
  全局光照的特点在于能够捕捉间接光照,所以5以后,除开原来的direct light的效果,增加indirect light的效果,简单来说,就是除开光源之后,然后模型本身做为光源...
Unity5.x 灯光烘焙GI和LightingMap
GI是什么? GI =直接光照+间接光照+环境光+反射光.
直接光照先不用说了,
间接光照是光线在物体上反射所带来的光照. 核心参数: 每个光源上的Bounce Intensity.
环境光可以直接理...
本篇博客主要对实时、烘焙和混合光照进行介绍。传送门:Unity3D灯光与渲染学习之(一):天空盒、灯光以及色彩空间Unity3D灯光与渲染学习之(二):全局、烘焙以及混合光照Unity3D灯光与渲染学...
using UnityE
using System.Collections.G
[Serializable]
public class ObjL...
游戏场景中灯光照明的构成现实生活中的光线是有反射、折射、衍射等特性的。对这些基本特性的模拟一直以来都是计算机图形图像学的重要研究方向。在CG中,默认的照明方式都是不考虑这些光线特性的,因此出来的效果与...
unity GPU优化(Occlusion Culling遮挡剔除,LOD多细节层次,GI(Global Illumination)全局光照)
渲染管线:
定义:图形数据在CPU上经过运算处理,最后输出到屏幕的过程
1. 顶点处理:接收模型顶点数据、坐标系转换
2. 图元装配:组装面、连接相邻的顶点,绘制为三角面
3. 光栅化:计算...
没有更多推荐了,豆丁微信公众号
君,已阅读到文档的结尾了呢~~
Unity3D光照贴图的Lightmapping技术教程
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
Unity3D光照贴图的Lightmapping技术教程
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口There are two Directional Modes available for light maps: Directional and Non-Directional. To set the Directional Mode for a light map, open the Lighting window (Window & Lighting & Settings), click SceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. See in , navigate to the Lightmapping Settings, ensure the LightmapperA tool in Unity that bakes lightmaps according to the arrangement of lights and geometry in your scene. See in
is set to EnlightenThe lighting system by Geomerics used in Unity for computing global illumination (GI). See in , and use the Directional Mode drop-down menu. Both are available as real-time and baked lightmaps.
Directional light maps store more information about the lighting environment than Non-Directional light maps. ShadersA small script that contains the mathematical calculations and algorithms for calculating the Color of each pixel rendered, based on the lighting input and the Material configuration. See in
can use that extra data about incoming light to better calculate outgoing light, which is how materials appear on the screen. This happens at the cost of increased texture memory usage and shading time.
Non-directional: flat diffuse. This mode uses just a single lightmapA pre-rendered texture that contains the effects of light sources on static objects in the scene. Lightmaps are overlaid on top of scene geometry to create the effect of lighting. See in , storing information about how much light does the surface emit, assuming it’s purely diffuse. Objects lit this way will appear flat (normalmaps won’t be used) and diffuse (even if the material is specular), but otherwise will be lit correctly. These barrels are using baked lightmaps. The only detail definition comes from a reflection probeA rendering component that captures a spherical view of its surroundings in all directions, rather like a camera. The captured image is then stored as a Cubemap that can be used by objects with reflective materials. See in
and an occlusion map.
Directional: normal mapped diffuse. This mode adds a secondary lightmap, which stores the incoming dominant light direction and a factor proportional to how much light in the first lightmap is the result of light coming in along the dominant direction. The rest is then assumed to come uniformly from the entire hemisphere. That information allows the material to be normal mapped, but it will still appear purely diffuse.
Performance
Directional mode uses twice as much texture memory as Non-directional mode and has a slightly higher shading cost.
Non-directional: one texture, one texture sample, a few extra shader instructions.
Directional: two textures, two texture samples, a few more extra shader instructions.
Real-time lightmaps take advantage of the same approach, and are subject to the same shading quality/cost tradeoffs.
The BRDF that is actually used for indirect light (the indirect part of baked) is a slightly less expensive version. UNITY_BRDF_PBS_LIGHTMAP_INDIRECT is defined in UnityPBSLighting.cginc.
Specular lighting on light maps
To achieve specular light on lightmap static assetsAny media or data that can be used in your game or project. An asset may come from a file created outside of Unity, such as a 3D model, an audio file or an image. You can also create some asset types in Unity, such as an Animator Controller, an Audio Mixer or a Render Texture. See in , use the Light Modes A Texture that shares the same UV layout and resolution with its corresponding lightmap. See in
or A version of the Shadowmask lighting mode that includes high quality shadows cast from static GameObjects onto dynamic GameObjects. See in
on Baked lightsA Light Mode for creating local ambience, rather than fully featured lights for increasing brightness in dark areas without needing to adjust all of the lighting within a Scene. Unity pre-calculates the illumination from these lights before run time, and does not include them in any run-time lighting calculations. See in . This ensures the light is real-time and high quality. See documentation on A Light property that defines the use of the Light. Can be set to Realtime, Baked and Mixed. See in
for more information.)
Page published with limited
Direct Specular removed in 5.6
Light Modes added in 5.6
Did you find this page useful? Please give it a rating:
Lighting Data Asset
Lightmaps: Technical information游戏蛮牛学习群(纯技术交流,不闲聊):
扫一扫,访问微社区
后使用快捷导航没有帐号?
签到成功!您今天第{todayrank}个签到,签到排名竞争激烈,记得每天都来签到哦!已连续签到:{constant}天,累计签到:{days}天
当前位置: &
_____________________________________________________________________________________________________________
问答求助版块规则:
  1、问题尽量描述清楚
& && &2、代码要放在代码块里
& && &3、附件最好放到云盘,然后把链接放到TXT文档里,上传TXT文档。【最好没有附件,你懂得】
& && &4、本版块回复不得无意义,如:顶、呵呵、不错......以及擦边!【真的会扣分的哦】严重者,封IP!
& && &5、问题得到解决,请选择最佳答案。
& && &6、若问题是你自己解决了,可以联系管理员,返还蛮牛币,写下你的答案,另有蛮牛币奖赏。
_____________________________________________________________________________________________________________
查看: 1583|回复: 4
Unity5部分模型光照贴图烘焙有问题
61398/1500排名<font color="#FF昨日变化5主题帖子积分
蛮牛粉丝, 积分 1398, 距离下一级还需 102 积分
蛮牛粉丝, 积分 1398, 距离下一级还需 102 积分
蛮牛币1135
在线时间675 小时
本帖最后由 hy02456 于
10:12 编辑
我用的版本是5.3.4,是部分模型在烘焙后没有打上光照贴图,看了一下都是带SkinnedMeshRenderer并且有动画的模型;
然后根据百度的一些说法进行了调试仍然没有效果变化;
灯光都是用的PointL
以下是效果图和设置图
在补充一下,那个桌子是打上了光照贴图的,另外两个模型在关闭灯光后没有效果,并且只有在灯光是Mixed时才会显示,RealTime都是和灯光关闭状态一样的效果
(91 KB, 下载次数: 3)
09:56 上传
(88.58 KB, 下载次数: 3)
09:57 上传
烘焙并关闭光源后
(14.86 KB, 下载次数: 3)
09:58 上传
(43.09 KB, 下载次数: 9)
09:58 上传
(45.49 KB, 下载次数: 3)
09:58 上传
(68.06 KB, 下载次数: 9)
09:58 上传
每日推荐:
71923/5000排名<font color="#FF昨日变化主题帖子积分
日久生情, 积分 1923, 距离下一级还需 3077 积分
日久生情, 积分 1923, 距离下一级还需 3077 积分
蛮牛币5114
在线时间763 小时
Max烘焙,或者角色改成MeshRender在Unity烘焙后,代码里面给SkinnedMeshRenderer贴光照图
每日推荐:
71923/5000排名<font color="#FF昨日变化主题帖子积分
日久生情, 积分 1923, 距离下一级还需 3077 积分
日久生情, 积分 1923, 距离下一级还需 3077 积分
蛮牛币5114
在线时间763 小时
SkinnedMeshRenderer 不参与烘焙
每日推荐:
61398/1500排名<font color="#FF昨日变化5主题帖子积分
蛮牛粉丝, 积分 1398, 距离下一级还需 102 积分
蛮牛粉丝, 积分 1398, 距离下一级还需 102 积分
蛮牛币1135
在线时间675 小时
SkinnedMeshRenderer 不参与烘焙
感谢回答,在请问一下如果我想做一个固定位置带动作NPC的角色,除了烘焙还有其他降低性能消耗的方法吗?
每日推荐:
61398/1500排名<font color="#FF昨日变化5主题帖子积分
蛮牛粉丝, 积分 1398, 距离下一级还需 102 积分
蛮牛粉丝, 积分 1398, 距离下一级还需 102 积分
蛮牛币1135
在线时间675 小时
Max烘焙,或者角色改成MeshRender在Unity烘焙后,代码里面给SkinnedMeshRenderer贴光照图 ...
已经成功解决了,感谢您提供的思路
每日推荐:你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
使用unity导出场景并带有光照贴图 ,在laya中就不需要再打灯光了,新版本导出插件会带出来但是加载模型时会报错,希望尽快能解决。如果IDE对3d场景可以编辑就更好了,其实unity中有很多比较方便的操作希望以后也可以使用。
如果用最新版1.01的LayaAir UnityPlguin,现在的引擎体系架构跟工具架构,光照贴图放到场景里面了,如果需要导出光照贴图,需要导出时最上方选Scene。使用时,看清报错,因为H5支持持jpg和png格式的资源,导出的光照贴图是exr格式的,需要进行手动转换,或者导出时选择ConvertTexture,会自动转换场景中使用到的所有纹理资源为laya可用的资源。
如果还有问题,下次请直接截图报错信息或提供示例代码,更快更精准的定位错误信息,减少不必要的沟通。
导出时最上方选Scene并选择ConvertTexture。json中类型为scence ,你们自己试试看,附近中为报错信息
如果选Scene
var scene = Laya.stage.addChild(Laya.Scene.load(&xxx&));
如果选Sprite3D
var sprite3d = scene.addChild(Laya.Sprite3D.load(&xxx&));
请问 我用unity导出到laya里之后 场景lightmap是乱的。这是什么原因呢 ,下面是unity里效果和laya里的效果
要回复问题请先
关注: 4 人}

我要回帖

更多关于 unity光照 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信