Unity LightMapping参数
- 格式:doc
- 大小:94.00 KB
- 文档页数:5
Unity 应用能力认证考试模拟题1. 以下哪一个选项不属于Unity引擎所支持的视频格式文件?【D】A. 后缀名为mov的文件B. 后缀名为mpg的文件C. 后缀名为avi的文件D. 后缀名为swf的文件2.HDR高动态光照渲染属于下列哪个选项的属性?【D】A. Lightmapping视图B. Light Probe组件C. Occlusion Culling视图D. Camera组件3. Unity引擎的中,以下对Mesh Renderer组件描述正确的是哪一项?【C】A. Mesh Renderer组件决定了场景中游戏对象的位置,旋转和缩放。
B. 为场景中的某一游戏对象增添物理的特性,需要为该游戏对象添加Mesh Renderer组件。
C. Mesh Renderer组件从Mesh Filter组件中获得网格信息,并根据物体的Transform组件所定义的位置进行渲染。
D. Mesh Renderer是从网格资源中获取网格信息的组件。
4. 当一个物体在视野内被其它物体遮挡,不希望对该物体进行渲染,可以通过以下哪一个模块实现该功能?【A】A. Occlusion CullingB. NavMeshC. Light ProbesD. Culling Mask5. 制作Skybox时,为了避免出现纹理拼接时产生的接缝,这些纹理的循环方式应该设置为以下哪一项?【B】A. RepeatB. ClampC. TrilinearD. Bilinear6. 下列哪个菜单可以用于打开设置发布程序选项的面板【C】A. General Settings →Layers →CollisionB. Edit →Render SettingsC. Edit →Project Settings →PlayerD. Edit →Preferences7. Unity引擎使用的是左手坐标系还是右手坐标系?【A】A. 左手坐标系B. 右手坐标系C. 可以通过Project Setting切换左右手坐标系D. 可以通过Reference切换左右手坐标系8. 对摄像机Rendering Path的设置中,以下哪一项可以使Spot Light对物体光照产生的阴影以实时的方式渲染?【C】A. Vertex LitB. ForwardC. Deferred LightingD. 以上都可以9. 以下哪组摄像机中Normalized View Port Rect的数值设置可以使得摄像机显示的画面位于1280*720分辨率的屏幕画面的右上角。
unity标准材质参数在Unity中,标准材质是用于表现物体表面属性的重要工具。
标准材质可以用来表现物体的颜色、纹理、光照等属性,通过对这些参数的调整,我们可以创造出各种不同的视觉效果。
以下是一些常见的Unity标准材质参数:1.材质类型(Material Type)标准材质类型包括Surface和Volume两种类型。
Surface类型主要用来定义物体的表面属性,如颜色、纹理等;而Volume类型则用来定义物体的体积属性,如密度、透明度等。
在创建标准材质时,需要选择合适的材质类型,以便更好地控制物体的属性表现。
2.基础颜色(Base Color)基础颜色是物体表面的基本颜色,可以通过颜色调整滑块或者颜色拾取器进行设置。
此外,还可以通过纹理贴图来表现复杂的颜色变化效果。
3.纹理贴图(Texture)纹理贴图可以用来表现物体表面的纹理效果。
在Unity中,纹理贴图可以是2D图像或者立方图,也可以是高精度模型使用的三维纹理。
通过将纹理贴图应用在标准材质上,可以创造出各种不同的纹理效果。
4.光照模型(Lighting Model)光照模型是用来计算物体表面光照效果的数学模型。
Unity支持多种光照模型,如Blinn-Phong、Lambert等。
不同的光照模型可以产生不同的光照效果,需要根据实际情况选择合适的光照模型。
5.高光反射(Specular Reflection)高光反射是指物体表面反射光线的能力。
通过调整高光反射参数,可以控制物体表面反射光线的强度和范围,创造出各种不同的高光效果。
6.透明度(Transparency)透明度是指物体表面透射光线的能力。
通过调整透明度参数,可以控制物体表面透射光线的强度和范围,创造出各种不同的透明效果。
需要注意的是,透明度参数需要与纹理贴图的透明通道相配合使用,才能实现正确的透明效果。
7.环境光(Ambient Light)环境光是指物体表面受到周围环境光线的照射效果。
一、光照烘焙技术的概念1.1 光照烘焙技术的定义光照烘焙(Lightmapping)是一种用来模拟光照效果的技术,它通过预先计算并存储场景中的光照信息,然后在运行时应用于渲染过程中,以提高图形渲染的效率和质量。
1.2 光照烘焙技术的优点- 增加渲染效率:光照信息在运行时已经预先计算好,不需要实时计算,可以降低渲染负载,提高性能。
- 改善光照质量:通过光照烘焙可以获得更真实、更精细的光照效果,提高场景的逼真度和观赏性。
- 节省资源:由于光照信息是预先计算好的,不需要实时计算,可以节省系统资源,适用于移动设备等资源受限的评台。
二、光照烘焙技术的原理2.1 光照烘焙的基本原理光照烘焙技术是通过将三维场景中的光照信息计算并存储为纹理或纹理集,然后在运行时应用于模型的表面,以模拟真实的光照效果。
光照烘焙的基本原理包括光照采样、纹理映射和渲染应用等步骤。
2.2 光照烘焙的计算方法- 光照贴图(Lightmaps):通过将场景中的光照信息渲染到纹理上,然后在运行时将光照信息映射到模型表面,以获得真实的光照效果。
- 光子映射(Photon Mapping):通过模拟光子在场景中的传播和相互作用,计算场景中的光照信息,并存储为纹理或纹理集,然后在运行时应用于模型的表面。
三、Unity中的光照烘焙技术3.1 Unity的光照烘焙工具Unity提供了丰富的光照烘焙工具和功能,包括实时光照、烘焙照明、环境光遮蔽(AO)等,可以满足不同场景的照明需求。
3.2 使用Unity进行光照烘焙的步骤- 设置光照参数:在Unity中设置场景的光源、材质和照明参数,为光照烘焙做准备。
- 执行光照烘焙:在Unity中执行光照烘焙,将场景中的光照信息计算并存储为纹理或纹理集。
- 应用光照烘焙:在运行时将光照信息映射到模型的表面,以获得真实的光照效果。
四、光照烘焙技术在游戏开发中的应用4.1 光照烘焙技术的作用在游戏开发中,光照烘焙技术可以用于优化场景的渲染效果和性能,提高游戏的视觉质量和用户体验。
unity自带LightMapping和3Ds Max烘焙贴图的小对比对于做虚拟现实的朋友来说,烘焙贴图应该不是一个陌生的东西。
想要在有限性能的电脑上面即时运算较好的光影效果,一般都会采用烘焙贴图的方法。
而除了在3dmax里面烘焙贴图之外,Unity3D也自带了LightMapping烘焙贴图的功能。
下面我们来做一个小例子,对两者的意义和效果做一个小对比。
在3dmax里面,我简单的建立了几个模型,并分别赋予他们不同的颜色:然后使用3dmax自带的光线追踪渲染一下,会出现这样的效果:很明显的,光线追踪之后的渲染效果比没有光线追踪时立体感强了很多。
这是因为高级渲染器模拟了真实环境里面光线的各种反射和散射,使物体看起来接近真实的效果。
我们所要做的烘焙,其实就是把这种经过高级渲染器计算的光影效果,记录在贴图上面。
我对上面的几个物体展了UV,并使用3dmax的烘焙功能,烘焙出相应的贴图。
并把这个带着UV信息的模型导出为FBX,放进Unity里面。
在unity里面,我拉出了两个模型,一个按照原来的颜色直接给予他材质,另外一个把3dmax里面烘焙的贴图贴上了模型,会出现上图的情况。
场景里面也没有打灯光,假如是只有颜色的材质时,模型会没有任何的轮廓和立体感。
而贴上了烘焙贴图的模型,看起来会和在3dmax里面使用光线追踪时渲染的效果差不多。
接下来我们对只有颜色的这个模型进行LightMapping烘焙处理。
选择该模型,然后在Static里面选择Lightmap Static。
在菜单栏的Window——>lightMapping打开lightMapping面板,在bake栏里面设置一下烘焙的参数,我这里用了如下参数:设置好之后,就可以烘焙了,在烘焙之前先保存场景,然后点击Bake Scene按钮。
经过漫长的等待(等待的时间取决于你的模型的复杂程度),烘焙结束,生成了贴图,我们可以在maps里面查看:这时候,我们可以进行一个小对比了:同样是场景里面没有灯光,但不论是经过Lightmapping烘焙的模型,还是在3DMax里面烘焙贴图的模型,都有了较为真实的光影效果。
unity3d烘焙场景设置注意事项Fbx、贴图导入Unity时的注意事项:在导出Fbx之前,Maya中已经对物体连接了正确的贴图,并且贴图文件名不能更改。
把Fbx和贴图放在同一文件夹内,直接把此文件加拖入Unity内。
此时Diffuse贴图应能自动识别。
此时,对贴图修改后,在Unity中更新贴图(删除老贴图,导入新贴图,并保持命名,路经一致),模型能够自动更新。
假如Unity中删除贴图,关闭Unity,再打开Unity,导入之前删除的贴图,模型不会自动更新贴图。
------------------------------------------------------i3D的这篇教程中的模型比例有问题,先根据Unity官方帮助文档中的内容说一下:Unity官方帮助文档中认为,模型的缩放尺寸是非常重要的。
特别是涉及到一些物理特效模拟的时候。
Unity认为,在理想状态下,不要更改模型的Transforms Scale 值,保持Scale值为(1,1,1)。
(这样的话,模型在Maya中制作时需要freeze,使缩放值为(1,1,1))。
原因是,额外的缩放数值会增加不必要的计算量。
Unity首先推荐模型在创建时使用真实尺寸。
其次是在Unity的Import Settings中更改尺寸。
Unity在进行场景优化时会根据物体尺寸来进行优化。
当在Unity中把一个物体parent到另外一个物体时,最好父级物体的坐标值是(0,0,0),否则之后会遇到不少头痛问题。
Unity的粒子系统不受Transforms Scale值的影响。
物体的不均匀缩放值在Parent后会产生不良后果(这个情况和Maya中是一样的)Unity中,1个单位尺寸代表1米。
即在Unity中创建一个Cube的尺寸是1x1x1米大小。
Unity推荐把人的身高定为大约2个Unity单位高度(2米)。
在Max中,只要正确设置单位尺寸(系统单位尺寸设置以及输出时单位尺寸设置)成厘米后,得到的效果是一致的。
unity lightmap原理
《Unity Lightmap原理》
Unity的Lightmap是一种用于静态场景中的光照信息的技术,它可以帮助开发者在游戏中尽可
能真实地模拟光照效果。
Lightmap的实现原理主要是通过预烘焙的方式,将场景中的光照信息计算出来并保存到贴图中。
在使用Lightmap之前,首先需要设置场景中的光照。
这可以通过Unity内置的照明系统或者第三方的照明插件来完成。
当光照设置完成后,开发者可以通过Unity的菜单选择“Bake”来触发Lightmap的计算。
在计算过程中,Unity会通过光线追踪等技术,计算每个像素点的光照值,并将其保存到贴图中。
这些贴图包括主光照贴图、间接光照贴图等。
同时,Unity还会计算物体表面的阴影信息,并将其保存为阴影贴图。
当游戏运行时,Unity会根据场景中物体的位置和光照信息,自动选择合适的Lightmap贴图来
渲染物体表面的光照。
这样就可以在不实时计算光照的情况下,提升游戏运行的性能表现。
总的来说,Unity的Lightmap原理是通过预烘焙的方式,将场景中的光照信息计算出来并保存
到贴图中,从而实现在游戏中尽可能真实地模拟光照效果的目的。
如此,开发者可以在不牺牲性能的情况下,获得更好的视觉体验。
unity 灯光烘焙原理Unity是一款广泛应用于游戏开发的引擎,其中灯光烘焙是其重要的功能之一。
本文将介绍Unity灯光烘焙的原理和作用。
一、什么是灯光烘焙灯光烘焙(Lightmapping)是指将场景中的灯光效果预先计算并存储为纹理的过程。
在运行时,游戏引擎会根据这些预计算的灯光纹理来渲染场景,从而提高渲染效率和画面质量。
二、灯光烘焙的作用1. 提高渲染效率:灯光烘焙可以减少实时计算光照的工作量,从而提高渲染性能。
在运行时,引擎只需要根据预计算的灯光纹理来渲染场景,大大减少了CPU和GPU的负荷。
2. 提高画面质量:通过灯光烘焙,可以实现更加真实的光照效果。
预计算的灯光纹理可以包含更多的光照信息,使场景中的物体产生更加明暗的阴影,增强真实感。
三、灯光烘焙的原理1. 光照贴图:灯光烘焙的核心原理是将场景中的光照信息计算并存储为光照贴图(Lightmap)或光照图(Lighting Map)。
光照贴图是一张纹理,其像素值表示场景中每个点的光照强度和颜色。
2. 光照计算:在进行灯光烘焙之前,需要设置场景中的光源和材质属性。
Unity会根据光源的类型(如点光源、聚光灯、方向光等)和材质的属性(如反射率、折射率等)来计算场景中每个点的光照强度和颜色。
3. 光照采样:为了生成光照贴图,Unity会在场景中的每个点进行光照采样。
采样过程中,会考虑光源的位置、颜色、强度等因素,以及材质的反射率、折射率等属性。
通过多次采样和计算,得到最终的光照贴图。
4. 光照传递:在生成光照贴图之后,Unity会将光照贴图应用到场景中的物体上。
渲染时,引擎会根据物体的UV坐标和光照贴图的像素值来确定物体的光照强度和颜色。
通过多次传递光照,实现场景中物体的明暗效果。
5. 光照合并:在场景中存在多个物体时,为了提高渲染效率,Unity会将多个物体的光照贴图进行合并。
合并过程中,需要考虑物体之间的遮挡关系,以及光照的传递效果。
通过合并光照贴图,可以减少纹理的数量,提高渲染性能。
光影烘焙,英文叫Lightmapping 或 light baking。
Unity 自带了 Lightmapping 的功能(是 Illuminate Labs出的名为Beast的产品)。
本系列教程分为4讲:第一讲光影烘焙第三讲 Light Probes第四讲脚本控制其中第三第四讲讲解的是动态物体与烘焙后场景的融合。
打开方式Window - Lightmapping有几点需要注意:1.所要烘焙物体的mesh必须要有合适的lightmapping uv。
如果不确定的话,就在导入模型设置中勾选 Generate Lightmap UVs2.任何Mesh Renderer, Skinned Mesh Renderer 或者 Terrain 都要标注为static(lightmap static)界面一:Objec点击Bake Scene即开始烘mappingObject MapsRan d4rersVBipODI Pelvis (Skinned Mesh Renderer)Lightmsp StaticScale In Lightmap 1CleatI lightmap2: 2K 1 024M1024P::烘焙参数的设置Mode:(1)Dual Lightmap mode:近景烘焙图(near lightmaps)和远景烘焙图(far lightmaps)都会被烘焙,只有deferred rendering path支持该模式。
(2)Single Lightmap mode:只有远景烘焙图(far lightmaps)会被烘焙,(3)Directional Lightmap mode:Use in forward rendering:一般可以忽略它。
针对Dual lightmaps的设定,只在Mode选的是Dual时才会出现。
在forward rendering模式下是否激活dual lightmaps,需要自己写对应的Shader。
一.简易烘焙教程:
1.准备需要烘培的光照贴图的场景,在物体面板中将所有要烘培光照贴图的物体设置为LightingStatic
2.从菜单中Window – Lightmapping打开Lightmapping窗口。
在Bake面板下调整相关参数,(第一次默认参数即可)
3.点击BakeScene(烘培)
4.等待右下角进度条完成即可
二.Lightmapping窗口参数:
1.Object网格渲染器和地形:
物体的烘培设置:灯光、网格渲染和地形- 取决于当前的选择。
·Static 静态
可渲染网格和地形必须标记为静态才能被烘培。
·Scale In Lightmap 光照图比率
(只作用于可渲染网格)特别大的数值将分配给可渲染网格更大的分辨率。
最终分辨率比例(光照图缩放)*(物体世界坐标空间所占面积)*全局分辨率烘培设置)如果设置为0物体将不被烘培。
(但是它依旧对其他的物体有影响)
·Atlas 图集
图集信息-如果Lock Atlas(锁定图集)选项没有开启那么这些参数将自动更新。
如果Lock Atlas(锁定图集)选项开启,这些参数将不会自动编辑。
但是你可以手动设置他们。
·Lightmap Index 光照图索引
光照贴图序列中的索引。
·Tiling 平铺
(只作用于可渲染网格)物体光照贴图UVs平铺。
·Offset 偏移
(只作用于可渲染网格)物体UVs的偏移。
Lights 灯光:
·Lightmapping 光照贴图
光照图模式:仅实时模式,自动模式和仅烘培模式。
查看下面Dual Lightmaps的描述。
·Color 颜色
灯光颜色。
一些属性只作用于实时光照。
·Intensity 光强度
灯光照明强度。
一些属性只作用于实时光照。
·Bounce Intensity 反弹强度
特定光源间接光照强度的倍增值。
·Baked Shadows 烘焙阴影
控制当前灯光是否产生阴影。
(当选择自动选项时同时影响实施阴影的产生)
·Shadow Radius 阴影半径
(只作用于点光源和聚光灯)增加这个值将得到一个较柔和的阴影。
增加这个值的大小影响阴影覆盖面积范围的计算(不会影响到灯光照射范围)。
·Shadow Angle 阴影角度
(只影响平行光)增加这个值将会得到一个比较柔和的阴影-增加灯光阴影覆盖角度范围的计算。
(不会影响到灯光照射范围)
·Shadow Samples 阴影采样
如果你将阴影半径或者角度设置为大于0的值,增加阴影采样值能得到一个比较好的结果。
高采样值将消除半影中中的噪点。
2.Bake 烘焙
全局烘焙设置。
·Mode 模式
控制离线烘培和实时光照模式。
Single Lightmaps模式仅烘培远端光照图。
在延迟渲染方式下也可以强制使用单光照图模式。
Dual Lightmaps模式下近端和远端光照图都将被烘培;只有延迟光照渲染方式式才能更好的支持双重光照图。
双光照贴图即意为使用两套光照贴图:
·远:包含全部照明
·近:包含标记为自动模式的灯光所产生的的间接照明,和标记为仅烘焙模式的灯光,发光材质和天光的所有照明。
·Use in forward rendering 使用正向渲染(详见渲染路径 Rendering Paths)
·Quality 质量
高质量(比较好的效果)和低质量(计算速度快)的预设值。
它们将影响最终聚集光线数量和对比度的数值以及其他有关最终聚集和抗锯齿的设置。
·Bounces 反弹
控制全局反射光照模拟中光线反弹的次数。
如果想得到一个比较柔和的相对真实的光照至少需要将此数值设置为1.如果设置为0那么只会计算直接光照。
·Bounce Boost 反弹增强
增强间接光,可用来增加场景中渲染太快没有烘焙出灯光的反弹量。
·Sky Light Color 天光颜色
天光是模拟从天球向所有方向发射光线照射场景-在烘培室外场景的时候开启天光将得到一个非常好的效果。
·Sky Light Intensity 天光强度
天光的强度- 0代表禁用天光。
·Bounce Intensity 反弹强度
间接光照的强度倍增器。
·Final Gather Rays 最终聚集光线
控制从最终聚集点发射的光线数量-较高的数值能得到更好的效果。
·Contrast Threshold
对比度阈值
颜色对比度根据采样运算规则控制哪些最终聚集点被创建。
较高的数值可以使Beast处理物体表面灯光照明时有很大的改善,从而得到一张平滑的光照贴图但是会牺牲一些照明细节。
较低的数值需要最终聚集光线数量要高于对比度阈值这样被过滤掉的最终聚集点才能被创建出来。
·Interpolation 插值
控制最终聚集点颜色的插值。
设置0为线性插值,设置1为基于梯度的高级插值。
多数情况下推荐使用后者。
·Interpolation Points 插值点
设置最终聚集点颜色的插值的参考点。
高数值可以获得比较平滑的结果,但是会牺牲一些光照细节。
·Ambient Occlusion
环境光遮挡
烘培光照图时产生一定数量的环境阻光。
环境阻光计算物体每一点被一定距离内的其他物体或者一定距离内自身物体的遮挡程度(用来模拟物体表面环境光及阴影覆盖的比例,达到全局光照的效果),所以和所有的灯光设置没有太大关系。
·Max Distance 最大距离
超出这个距离的光线将不被遮挡。
0表示无限长的光线。
·Contrast 对比度
控制完全阻光和不阻光之间的过度。
lod surface distance
·Lock Atlas 锁定图集
当锁定图集被打开。
自动图集功能将不执行,物体光照图索引,平铺和偏移将不能编辑。
·Resolution 分辨率
每世界单位中光照图分辨率的大小。
因此当设置分辨率为50的一个10单位乘以10单位的平面将产生一张500*500像素的光照贴图。
3.Maps 贴图所有光照贴图的可编辑数组。
·Compressed 压缩
控制是否压缩所有当前场景中的光照贴图。
·Array Size 数组大小
光照贴图数组的大小(0~254)。
·Lightmaps Array 光照贴图数组
当前场景被烘培的所有光照图的可编辑序列。
没有被指定的通道将被处理为黑色光照图。
索引相当于网格渲染和地形中所使用的光照图编号。
除非锁定图集被开启否则序列将自动初始化并分配给你烘培的贴图。
4.Lightmap Display 光照贴图显示
在编辑器中控制光照图如何显示的工具。
光照图显示是在场景视口中的一个子窗口。
可见只要光照图窗口可见。
·Use Lightmaps 使用光照贴图
是否渲染光照图。
·Shadow Distance 阴影距离
根据过度到只使用远端光照图时哪些设置为自动模式的灯光被关闭的距离。
这里的设置覆盖其他面板中相关设置。
但是不能覆盖质量设置中的阴影距离设置。
·Show Resolution 显示分辨率
切换在场景中是否显示光照图分辨率。
开启这项设置你可以在你的场景中直接预览静态物体光照图的分辨率大小。