unity5.3 场景烘焙
来源:互联网 发布:国安数据公司好不好 编辑:程序博客网 时间:2024/04/28 13:58
现在的项目是个PC的Unity项目,一下子从手游的运行时50 draw call变成动辄5K draw call,还真有点不适应。既然性能放开了,那么就要有相应的效果匹配,所以开了N个灯光进行对大场景的照射。一个材质的draw call数在shader只绘制一次的情况下就会变成 N次draw call调用。尽管是强劲的PC也出现了卡顿的现象,那么就进行了光的烘焙,记录一下Unity烘焙的要点吧。
- 导入的模型都要在属性窗口中Model的 Generate Lightmap UVs勾选上,这是让lightmap匹配你的UV。如果你UV展得不均匀,那么得到的烘焙阴影效果也不会好。
- 分好场景中GameObject的层,灯光和烘焙照射时可以分得开。例如UI就放到UI层,人物等活动的就放到活动的层,不动的建筑放到建筑层等。
- 把要烘焙的物体设置为static。
- direct光设置一个主的,实时光照,其他的光都设置为baked的,注意室内点光源也是这样。baked的灯光根据实际情况选择是否开启阴影。光线可以对某些层的物体不进行照射。
- 记住灯光的设置中Render Mode要选择Important,如果不选,某些多灯光的位置会有闪烁的问题。烘焙的效果也是按important计算的,如果你发现烘焙后曝光,就是因为没有选中这个,才导致效果跟你现在的不一致。选中后如果曝光,说明你灯光的Intensity设置得过高了。
- unity中抗锯齿和图像效果(例如bloom等)二者只能选其一,很多显卡也是这样(但较新的ATI的某些显卡都已经支持可以都开启了,目前的unity版本还不行)。那么根据项目的严肃情况,这里还是选择保留了抗锯齿。
- 项目的player setting中的 Color Space根据效果选择了 Gamma。
- 场景内几乎大部分的物体的shader,一般都用Unity5的stand了。很多都配置了normal map,unity可以自动制作normal图,很不错。灯光多的时候,有normal图的材质感还是很不错的。反光度也需要根据材质调节一下。
- Edit->Project Settings->Quality,看情况设置一下像素灯光数,可以适当增大,垂直同步在不追求实时性的时候一般就关了吧。
- 打开window->Lighting点击Scene,如果有天空盒子的拖现在的天空盒子,如果不需要实时GI的把Precomputed Realtime GI勾掉。根据项目限制的大小,设置一下Atlas Size一般1024或512的。1024的烘焙的速度会慢很多。点下Build按钮,经过很慢的过程后就有烘焙效果了。中途切场景的话烘焙工作也会停止,切回来再点可以继续。
- 如果出现了'Compositing' job failed with error code: 3 ('Failed reading Direct file.').这样的烘焙错误,清空一下渲染出来的图,勾上realtime GI,烘一下,就关闭,再勾掉,勾上BakedGUI烘焙就好了。
- 烘焙中OA的参数最好还是设置一下,效果不错。(就是 Lighting-》Scene-》Baked GI-》Ambient Occlution)
- 尽量不要室内室外都制作在一个场景里,灯光会相互干预,例如,你屋外的平行光的阴影硬度设置得很高,光强设置得很高,那么即时你屋内的灯再亮,看上去也是漆黑一片,不过可以用逻辑动态调整一下(人在屋内就减弱屋外的灯光)。
- 好的效果还是要靠光线、shader、和烘焙出来的反射效果,你需要一台渲染工作站来加快烘焙速度。
- 对了,还有一个点,在烘焙的时候会产生很多临时文件,在Edit->Preferences->GiCache中设置临时文件的位置和大小,如果设置得太小,存不下的时候会报错的。
Playersetting中的RenderingPath还是选择Forward吧,为了享受抗锯齿效果和透明贴图,上述的几点也是针对Forward来进行的设置,对于这个项目一个实时方向光用来产生动态阴影差不多够了。其他的使用烘焙出来的阴影。
在后续的烘焙中为了保持金属的反光和没反光没UV的管线正常显示,整理了一个方案,拿图片记录一下。
0 1
- unity5.3 场景烘焙
- unity5.3 场景烘焙
- Unity5.0 烘焙物体导入其他场景
- Unity5烘焙
- Unity5 烘焙
- 场景烘焙
- Unity5.3加载场景
- Unity5 烘焙杂项
- Unity5 烘焙教程
- Unity5.x 烘焙场景导出方法(更换lightmap曝光丢失问题)
- Unity5.×烘焙常规处理步骤
- [unity3d]场景烘焙
- 游戏场景灯光烘焙
- unity5.3 加载场景的新函数
- unity5.5 安卓烘焙问题
- 【基础】Unity5.X的阴影烘焙问题
- [Unity] 怎么在Unity5中烘焙lightmap
- Unity5.x 灯光烘焙GI和LightingMap
- js中for in遍历对象属性
- MAC地址与IP地址的区别
- 让UILabel根据内容字体的多少,来决定自己的高度
- 编程之美 - 光影切割问题
- 2016太原UI设计师给零基础学UI设计一点基础“色彩”
- unity5.3 场景烘焙
- iOS 获取用户定位权限提示框闪现
- Android LK Bootlaoder启动概览
- 史上最全面的程序员发展建议
- 最近DevOps相关文章
- 排序-快速排序-优化-使用插入排序
- Umbraco(1) - Document Types(翻译文档)
- svn 在64位win7下报Failed to load JavaHL Library解决办法
- 《Android源码设计模式解析与实战》读书笔记(二十四)