龙空技术网

Unity流程及制作规范

威尼斯商人双子 106

前言:

如今大家对“unity怎么整合场景”大致比较关注,大家都想要了解一些“unity怎么整合场景”的相关知识。那么小编也在网上网罗了一些对于“unity怎么整合场景””的相关文章,希望咱们能喜欢,兄弟们一起来了解一下吧!

大宾美术馆-Unity场景灯光烘焙

主讲内容:Unity场景相关设置,场景灯光烘焙注意事项,相机后处理特效。(开发使用版本Unity5.5.1)

主讲人:应用产品开发一部 付亮亮

1

2

3

4

3D场景模型前期注意事项

Unity色彩空间 相机渲染模式 相机HDR

Unity烘焙模式 场景光照设置

Unity相机后处理(Unity Post Processing Stack )

3D场景模型前期注意事项

单位比例 模型大小

Max中统一单位设置为厘米,导入进Unity3D中才和引擎中的模型计算单位为米保持一致。

模型一般要在Max世界中心(0.0.0位置)。没有特定要求下,坐标轴在模型自身的中心,模型三个旋转轴向数值清零,缩放三个轴向数值

100%,保证模型到Unity中缩放值都是1,1,1。

尤其是模型的大小比例,一定保证和现实中物体大小比例一样,模型如果太大,那么在

Unity中烘焙灯光贴图时候,烘焙时间和烘焙贴数量会大大增加。

3D场景模型前期注意事项

模型烘焙灯光时出现漏光

max中墙面模型最好是用box搭建,或者挤出厚度。max中不要用Line建模然后再挤压出,否则在untiy中墙角会出现莫名的漏光情况。

还有一种出现漏光情况就是模型出现没有合并的顶点。

如果墙体是单面的,可以在外面罩个大的

Box盒子把需要进光的位置挖开,这样可以避免漏光现象。

3D场景模型前期注意事项

输入文字在此录入上述图表的综合分析结论在此录入上述图表的综合分析结论在此录入上述图表的综合分析结论在此录入上述图表的综合分析结论

模型的LightMapUV

一般模型导入Unity中的要有2套UV,UV通道1是模型的贴图UV,UV通道2是Unity的光照贴图UV。在Unity中场景烘焙灯光贴图的前提是,参与烘焙模型必须保证要有lightmapUV通道,要不然烘焙会产生错误。

在大多数情况下只是需要在UnityFBX选项中勾选GenerateLightMapUVs,保证FBX模型有LightMapUV就行了。

在有的时候模型的边角烘焙时出现黑块,这是在低分辨率的光照图下,有时会出现阴影溢出。可

以加大右图Pack Margin值大小,加大模型UV块之间UV的间距解决。

3D场景模型前期注意事项

输入文字在此录入上述图表的综合分析结论在此录入上述图表的综合分析结论在此录入上述图表的综合分析结论在此录入上述图表的综合分析结论

确保Unity中模型是Static

场景中物体的标记类型,场景中的物体要参与烘焙必须被标记为 Static静态物体。而unity默认情况物体物体默认是没有被勾选的。我们知道在开发游戏项目中,尤其是手机游戏开发,在节省资源,优化性能方面是很重要的,游戏的大小和流畅度是必须考虑的。而标记为静态批处理(Batching Static)后,可以优化效率,使游戏场景更加流畅。需要注意一点是,如果场景物体勾选静态物体而且添加了动画组件,那么动画组件会失效。有时候我们在unity中物体K了动画,而动画没有起作用,那么我们就需要检查模型是不是被勾了Static静态物体。

Unity色彩空间 相机渲染模式 相机HDR

色彩空间: 线性 (Linear)色彩空间

在unity中除了选择渲染路径外,颜色空间也是很重要的。Unity官方强烈推荐我们使用的是线性的颜色空间,因此你会得到非常真实光照的表现效果,这个会对画面的真实性产生比较大的影响。(由于Unity中的色彩空间是非常复杂的概念,这里我们不多做解释,直接使用就行。)

线性空间的优点右图可以直观的可以看到,对于光照效果来说,如果要求场景中有真实光照环境的话,必须要考虑线性空间。Gamma空间会让亮部灯光过曝,从而容易丢失材质细节。

Unity色彩空间 相机渲染模式 HDR相机

摄像机的渲染模式

Unity相机默认渲染模式是前向渲染路(Forward Rendering),这种渲染模式的优点是运算速度比较块,硬件需求低。缺点是在处理多盏实时灯光的时候速度很慢,最重要一点不支持Unity 中相机后处理的屏幕空间反射特性(SSR)。在大宾美术馆场景中,我们使用了延迟渲染路径(Deferred)。这让我们可以高效地在场景中使用多个动态实时光照,多个反射立方体贴图。而且保证正常使用Unity 中相机后处理的屏幕空间反射特性(SSR)使我们场景在处理反射效果和灯光效果性能方面发挥的更好。

Unity色彩空间 相机渲染模式 HDR相机

HDR像机

当我们模拟逼真的场景光照环境时,Unity中的相机将需要处理亮度大于1的光照值与材质的发光表面(Emission)。在现实中环境光照与太阳光是非常亮的光源。

它们的亮度值远要比Unity中默认1的大很多。 Unity中相机默认使用低动态范围(LDR),是无法处理亮度大小1的灯光范围的。启用HDR之后,相机会储存更大精度的颜色和亮度范围。启用HDR还有一个好处是相机处理亮度大小1的图像时候,配合使用相机后处理辉光Bloom特效,画面会有光晕溢出的效果,可以增加画面真实的成度。

Unity烘焙模式 光照场景设置场景烘焙模式

在大宾美术馆场景中,我们同时开启了实时全局光照(Precomputed Realtime GI)和烘焙全局光照(Bake GI)两种模式,因为我们场景中既包括了实时灯光也包括了静态灯光。Precomputed Realtime GI开启实时全局光照GI,是为了可以动态的更改太阳光的位置,颜色,强度等属性,而且随着这些灯光属性的改变,灯光对场景中物体的影响也是实时的。Bake GI开启烘焙的全局光照是为了静态光照正常的烘焙,而且BakeGI烘焙出来的光照贴图一旦贴到场景物体上,在场景运行期间是不能改变的。General GI 需要注意的一点是,在通用GI面板中Directional Mode模式要选成Directional,保证物体材质的法线贴图正常显示。

Unity烘焙模式 场景光照设置

场景光照设置

场景灯光可以大概分解为3个光照部分: HDR SkyBox -用来产生环境光照明 Direct lights (Sun + Spot lights)-用来产生直接光照(平行光(太阳光)+射灯光照) Indirect illumination (GI lighting)-用来产生间接光照(GI全局光照)

场景光照强度当选择室内光照的强度时,注意不要让任何室内光照的强度超过日光和太阳光的强度,否则场景会产生不平衡的感觉,不符合现实中人们观察的习惯。

Unity烘焙模式 场景光照设置

场景烘焙参数优化建议

Unity中的Lightmap烘焙所用的时间一直是经常让人头疼的一个问题,通过合理调整这些参数能够显著加快烘焙速度。有以下几个影响因素的参数可以供大家参考:Realime Resolution-间接光照图的质量室内:2-4 室外:0.5-1 大型地形:0.1-0.5Lightmap Resolution-灯光贴图分辨率默认值:40 建议可以调整为Realtime Resolution的倍数。让场景中不重要的物体由灯光探测点Light Probe来提供照明信息。(比如大的室外场景中,小块石头,花草树木,还有就是结构复杂模型等等。)

Unity烘焙模式 场景光照设置

反射探头(Reflection Probes)

大多情况下当使用标准着色器(Standard)时,大多数材质都会具有一定程度的镜面反射(specularity)和金属反射(metalness)属性,尤其是表面比较光滑的物体,比如说金属,大理石等。为了场景中物体有更好的反射,我们在场景中放置反射探头。反射探头需要从一个点对周围对象取样,然后搜集环境图像信息,最后生成一张方体贴图(Cubemap)。(注意:反射探头并非常精确的反射结果,需要结合后处理SSR特性)这里反射探头我们采用是Baked模式,一般烘焙分辨率保持128,或者256。一般情况下要注意右图的几个选项,保证烘焙出来的Cubemap反射贴图正确使用。

Unity烘焙模式 场景光照设置

光照探头(Light Probes)

一般场景烘焙完成之后,我们把调整的好的角色放入到场景中去,会发现角色身上的灯光信息和场景的灯光信息是格格不入的,违和感很强。要让动态的对象接收到场景中静态烘焙全局光照信息,必须要在场景中分布光照探头,但是要确保将光照探测点有效的分布在场景中灯光有变化的地方或者是角色必经之地。这些取样点来收集来自各个方向灯光烘焙的GI信息,这样无论人物怎么行走,场景中烘焙灯光GI信息就可以对人物角色提供照明信息。

Unity相机后处理(Unity Post Processing Stack)

首先你要先从Asset Store资源商店下载并且导入后期处理特效包(Unity PostProcessing Stack v1)。Unity默认没有内置这个特效资源包。抗锯齿(Anti-aliasing)当我们相机使用了延迟渲染路径(Deferred)之后,那么Unity内置的MSAA抗锯齿特性将会失效。这时候我们需要使用后处理的抗锯齿特效来解决这一问题。

环境光遮蔽(Ambient Occlusion)在室内场景中的墙角、模型相交表面、模型表面的褶皱,孔洞等,而在现实生活中,往往这些区域往往会阻挡或遮挡周围的光线,因此它们会显得更暗。

Unity相机后处理(Unity Post Processing Stack)

屏幕空间光线追踪反射(Screen SpaceReflection)

虽然在场景中我们使用了反射探头(Reflection Probes),但是在很多情况下物体材质反射还是和现实中不相符合的。

如果需要场景要有比较细腻真实的反射效果,我们需要在相机上添加屏幕空间光线追踪反射(Screen SpaceReflection)效果。

Unity相机后处理(Unity Post Processing Stack)

色调映射(Tonemapping )

如果要场景中的HDR相机渲染到我们电脑显示器颜色输出显示正常,那么我们需要在相机中添加一个色调映射器。因为显示器所能表现的亮度范围不足以表现现实世界中的亮度域,如果只是简单的压缩到显示器所能表现的亮度区域内,则会在明暗两个区域图像同时丢失很多细节,这显然不是所希望的效果。我们要确保场景中哪些颜色不会因为曝光过度而遗失,浅色调在很亮的区域不会被白色给覆盖,暗色调不会被黑色给完全覆盖。

最后我们给场景简单的调了一下颜色,让亮部和暗部有一点颜色的对比。

Unity相机后处理(Unity Post Processing Stack)

右图所示:上边是经过Tonemapping色调映射和简单调色之后的效果

下边没有的经过Tonemapping色调映射和简单调色之后的截图对比。

谢谢大家!

标签: #unity怎么整合场景 #unity界面白色 #unity界面颜色怎么调 #unity两个场景合并快捷键 #unity物体合并