Unity LightMapping参数

合集下载

unity官方60题

unity官方60题

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渲染篇
Atlas size光照贴图的尺寸
General GI的设置
Directional Mode :一般选择Directional
7.渲染结果效果图
在画圈的地方可以看到光线的反射,所有物体或者阴影有些偏橙色,这是物体旁边是橙色的物体。
上面的渲染简单流程是实时光照的渲染流程。烘培的也是光照信息。并不是烘培光照贴图,下面介绍下光照贴图
渲染流程简单介绍
1.模型导入设置,这个步骤主要是烘培贴图UV的设置
导入模型,在unity中设置烘培贴图UV,烘培UV也可以在max中使用第二套UV制作成烘培UV,烘培UV不能有任何UV重叠。
Unity设置如下
2.接下来把模型拖入Hierarchy视图中,勾选Static
3.接下来要设置渲染参数
在Other Settings
红色圈圈里是动态物体,阴影是可以影响到周边物体的。
9.在Lighting设置下的Auto最好是取消勾选,需要烘培时手动烘培就好。烘培的主要流程和方法就这些了。
6.接下来技术调整参数去渲染场景了。下图是使用实时光照的渲染参数,
Skybox:旋转当前场景的天空盒子
Sun:旋转当前场景的平行光
Ambient Source:这个环境源选择有几个选项,可以选择天空盒子,渐变色,颜色,可以更具需求去选择,我比较爱用颜色设置,这样可以很好调整环境色彩和亮度。
Reflection Source:反射源,这个就是反射球的设置,如果场景中有需要去反射环境,就可以根据需求设置。
这种渲染要特别注意场景中有无动的物体,如果全是不动的物体,那么全部勾选Static,把灯光baking 修改为baked,直接烘培就好。烘培完成后在lightmaps中有这样的灯光贴图出现:

unity 标准材质参数

unity 标准材质参数

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)环境光是指物体表面受到周围环境光线的照射效果。

unity的光照烘焙技术摘选

unity的光照烘焙技术摘选

一、光照烘焙技术的概念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 光照烘焙技术的作用在游戏开发中,光照烘焙技术可以用于优化场景的渲染效果和性能,提高游戏的视觉质量和用户体验。

Lightmapping_zhendong_1104

Lightmapping_zhendong_1104

三种Lightmapping模式的比较
• Non-Directional • 简单且较高效的表现方 式 • 只有diffuse效果
三种Lightmapping模式的比较
• • • • Non-Directional 简单且较高效的表现方 式 只有diffuse效果 Directional 支持Bump效果 缺失Specular效果

GI的局限
• Realtime GI和Baked GI都只能影响static的 Object,非static Object无法受全局光照影响, 也无法影响static Object
Light Probes
Light Probes简介
• • 采样每个探测点Probe处的光照信息,将临近点的采 样结果插值映射到动态物体上。 高效的实时映射,使动态物体与静态场景很好的融 合。
实时全局光照 Realtime GI
• 使用Realtime GI
• 光源的Baking类型设为 “Realtime”


勾选“Precomputed Realtime GI”
光源的Bounce Intensity大于0,等于0 的时候就是一般局部实 时光照 依然只影响“Lightmap Static”的Object
实时全局光照 Realtime GI
• Realtime GI的实现方式
• 内部实现也是lightmap的方 式,预计算场景内所有可能 的光线反射信息,而不是固 定灯光条件下的反射信息 Directional Specular的实 现方式不同,使用三张纹理 (Intensity,Direction, Normal),代价相当于一个 un-shadowed的光源

5.x

Unity烘焙教程

Unity烘焙教程

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烘焙场景设置注意事项

unity3d烘焙场景设置注意事项

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原理
《Unity Lightmap原理》
Unity的Lightmap是一种用于静态场景中的光照信息的技术,它可以帮助开发者在游戏中尽可
能真实地模拟光照效果。

Lightmap的实现原理主要是通过预烘焙的方式,将场景中的光照信息计算出来并保存到贴图中。

在使用Lightmap之前,首先需要设置场景中的光照。

这可以通过Unity内置的照明系统或者第三方的照明插件来完成。

当光照设置完成后,开发者可以通过Unity的菜单选择“Bake”来触发Lightmap的计算。

在计算过程中,Unity会通过光线追踪等技术,计算每个像素点的光照值,并将其保存到贴图中。

这些贴图包括主光照贴图、间接光照贴图等。

同时,Unity还会计算物体表面的阴影信息,并将其保存为阴影贴图。

当游戏运行时,Unity会根据场景中物体的位置和光照信息,自动选择合适的Lightmap贴图来
渲染物体表面的光照。

这样就可以在不实时计算光照的情况下,提升游戏运行的性能表现。

总的来说,Unity的Lightmap原理是通过预烘焙的方式,将场景中的光照信息计算出来并保存
到贴图中,从而实现在游戏中尽可能真实地模拟光照效果的目的。

如此,开发者可以在不牺牲性能的情况下,获得更好的视觉体验。

unity 灯光烘焙原理

unity 灯光烘焙原理

unity 灯光烘焙原理Unity是一款广泛应用于游戏开发的引擎,其中灯光烘焙是其重要的功能之一。

本文将介绍Unity灯光烘焙的原理和作用。

一、什么是灯光烘焙灯光烘焙(Lightmapping)是指将场景中的灯光效果预先计算并存储为纹理的过程。

在运行时,游戏引擎会根据这些预计算的灯光纹理来渲染场景,从而提高渲染效率和画面质量。

二、灯光烘焙的作用1. 提高渲染效率:灯光烘焙可以减少实时计算光照的工作量,从而提高渲染性能。

在运行时,引擎只需要根据预计算的灯光纹理来渲染场景,大大减少了CPU和GPU的负荷。

2. 提高画面质量:通过灯光烘焙,可以实现更加真实的光照效果。

预计算的灯光纹理可以包含更多的光照信息,使场景中的物体产生更加明暗的阴影,增强真实感。

三、灯光烘焙的原理1. 光照贴图:灯光烘焙的核心原理是将场景中的光照信息计算并存储为光照贴图(Lightmap)或光照图(Lighting Map)。

光照贴图是一张纹理,其像素值表示场景中每个点的光照强度和颜色。

2. 光照计算:在进行灯光烘焙之前,需要设置场景中的光源和材质属性。

Unity会根据光源的类型(如点光源、聚光灯、方向光等)和材质的属性(如反射率、折射率等)来计算场景中每个点的光照强度和颜色。

3. 光照采样:为了生成光照贴图,Unity会在场景中的每个点进行光照采样。

采样过程中,会考虑光源的位置、颜色、强度等因素,以及材质的反射率、折射率等属性。

通过多次采样和计算,得到最终的光照贴图。

4. 光照传递:在生成光照贴图之后,Unity会将光照贴图应用到场景中的物体上。

渲染时,引擎会根据物体的UV坐标和光照贴图的像素值来确定物体的光照强度和颜色。

通过多次传递光照,实现场景中物体的明暗效果。

5. 光照合并:在场景中存在多个物体时,为了提高渲染效率,Unity会将多个物体的光照贴图进行合并。

合并过程中,需要考虑物体之间的遮挡关系,以及光照的传递效果。

通过合并光照贴图,可以减少纹理的数量,提高渲染性能。

unity烘焙光照贴图

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。

Unity3D之Lightmap入门、烘焙贴图、场景技巧

Unity3D之Lightmap入门、烘焙贴图、场景技巧

Unity3D之Lightmap入门作者:李志健Unity内置的光照贴图烘培工具是Illuminate Labs 的Beast。

烘培光照贴图流程被完美的整合到Unity中。

这就意味着使用Beast可以根据你的网格物体,材质贴图和灯光属性的设置来烘培你的场景,从而得到完美的光照贴图。

同时也意味着光照图将作为渲染引擎的一部分。

只要你烘培一次光照贴图你就不需要其他任何操作。

光照图将自动指定到物体上。

准备需要烘培的光照贴图的场景从菜单栏选择Window – Lightmapping打开光照图工具窗口。

1.检查你将要烘培的模型上是否存在一个合适的用来定位光照贴图的UVs。

你也可以从mesh import settings面板中的勾选Generate Lightmap UVs选项来生成一个用于定位光照图UV的集。

2.在物体面板中将要烘培光照贴图的物体设置为Static(静态),这样Unity就会知道哪些物体是需要被烘培的。

3.在Bake面板下调整Resolution的值控制光照贴图的分辨率。

(在Scene View面板里勾选上小窗口LightmapDisplay中的Show Resolution选项可以帮助你更直观的查看贴图分辨率设置)。

4.点击Bake(烘培)5.在Unity编辑器底部的状态栏的右边会出现一个进度条。

6.当烘培结束时,你可以从光照图编辑器的底部预览窗口中查看所有烘培好的贴图。

场景和游戏窗口将会更新。

现在在你的场景中已经可以看到光照贴图效果了!Tweaking Bake Settings 调节烘焙设置最终场景的渲染效果取决与你对灯光和烘培选项的更多设置。

让我们来看一个通过基础设置改进光照的质量的小例子。

这是一个简单的场景,包含一组立方提和一个位于场景中心的点光源。

灯光产生硬阴影,看起来这个效果十分的晦暗和不自然。

Selecting the light and opening the Object pane of the Lightmapping window exposes Shadow Radius and Shadow Samples properties. Setting Shadow Radius to 1.2, Shadow Samples to 100 and re-baking produces soft shadows with wide penumbra - our image already looks much better.选择灯光打开物体面板,展开阴影范围和阴影采样属性。

Unity3D的命令手册

Unity3D的命令手册

Unity3D的命令手册MR.C编制这本书主要对Unity3D的所有菜单与参数进行了翻译并逐个讲解来帮助大家初步的认识Unity3D的每个命令的作用Unity3D下分8个菜单栏(翻译的不一定准)分别是File(文件)Edit(编辑)Assets(资源)GameObject(游戏对象)Component(组件)Terrain(地形)Window(窗口)Help(帮助)File(文件)------New Scene 新建场景Open Scene 打开场景Save Scene 保存场景Save Scene as…场景另存为…New Project…新建工程文件Open Project…打开工程文件Save Project…保存工程文件Build Settings…建造设置(这里指建造游戏)Build & Run 建造并运行(这里指建造游戏)Exit 退出Edit(编辑)------Undo 撤销Redo 重复Cut 剪切Copy 复制Paste 粘贴Duplicate 复制Delete 删除Frame selected 当前镜头移动到所选的物体前Select All 选择全部Preferences 参数选择Play 播放Pause 暂停,中断Step 步骤Load selection 载入所选Save selection 存储所选Project settings 工程设置Render settings 渲染设置Graphics emulation图形仿真Network emulation 网络仿真Snap settings 对齐设置Assets (资源)-----Reimport 重新导入Create 创建Show in Explorer 在资源管理器中显示Open 打开(打开脚本)Import New Asset... 导入新的资源Refresh 刷新Import Package... 导入资源包Export Package... 导出资源包Select Dependencies 选择相关Export ogg file 导出OGG文件Reimport All 重新导入所有Sync VisualStudio Project 同步视觉工作室项目GameObject--------Create Empty 创建一个空的游戏对象(游戏对象) Create Other 创建其他组件Center On Children 子物体归位到父物体中心点Make Parent 创建子父集Clear Parent 取消子父集Apply Changes To Prefab 应用变更为预置Move To View 移动物体到视窗的中心点Align With View 移动物体与视窗对齐Align View to Selected 移动视窗与物体对齐Component(组件)---Mesh 网Particles 粒子Physics 物理Audio 音频Rendering 渲染Miscellaneous 杂项Scripts 脚本Camera-Control 摄像机控制Terrain(地形)-----Create Terrain 创建地形Import Heightmap - Raw... 导入高度图Export Heightmap - Raw... 导出高度图Set Resolution... 设置分辨率Create Lightmap... 创建光影图Mass Place Trees... 批量种植树Flatten Heightmap... 展平高度图Refresh Tree and Detail Prototypes 刷新树及预置细节Window(窗口)------Next Window 下个窗口Previous Window 前窗Layouts 布局Scene 场景窗口Game 游戏窗口Inspector 检视窗口Hierarchy 层次窗口Project 工程窗口Animation 动画窗口Profiler 探查窗口Asset Server 资源服务器Console 控制台Help(帮助)--------About Unity 关于Unity Enter serial number 输入序列号Unity Manual Unity手册Reference Manual 参考手册Scripting Manual 脚本手册Unity Forum Unity论坛Welcome Screen 欢迎窗口Release Notes 发行说明Report a Problem 问题反馈第一章File(文件)New Scene 新建场景创建一个新的游戏场景Open Scene 打开场景打开一个游戏场景Save Scene 保存场景保存一个游戏场景Save Scene as 场景另存为游戏场景另存为New Project 新建工程文件创建一个新的工程文件Open Project 打开工程文件打开一个工程文件Save Project 保存工程文件保存一个工程文件Build Settings 建造设置导出游戏的设置Build & Run 建造并运行设置并导出游戏Exit退出退出软件这里面我们需要注意的是,创建一个场景与创建一个工程是完全不同的,一个工程文件可以包含多个游戏场景,但场景文件却是唯一的。

Unity3D教程:关于LightMapping和NavMesh烘焙的动态加载

Unity3D教程:关于LightMapping和NavMesh烘焙的动态加载

Unity3D教程:关于LightMapping和NavMesh烘焙的动态加载熟悉Unity的朋友都应该知道,unity有内部LightMapping烘焙和NavMesh寻路的功能。

但这些非常好用的功能,都是基于对某个已经保存的关卡(scene)进行烘焙(Bake)的操作,我一直以为,一般来说这样很难做到外部加载或者动态加载的。

但通过最近一段时间的研究,发现其实这些基于scene的功能,也是可以动态加载的,虽然在使用上是有一定的限制,不过合理利用还是能做到不少想要的效果的。

假设我们限制有这样的项目要求,游戏项目是网页游戏,由于容量的关系,我们所有的场景都是外部动态加载的,但为了效果好,我们使用了LightMapping烘焙了场景,而为了有寻路功能,我们对场景进行了NavMesh的烘焙。

我们希望把这个烘焙了的场景像一般的assetBundle那样从外部加载进来。

现在我们需要把这个烘焙好的场景导出成assetBundle。

使用的方法是:BuildPipeline.BuildPlayerBuildPipeline.BuildPlayer 编译播放器例如我们把上面烘焙好的场景保存成scene001,那么我们就可以写成:这样我们可以把这个scene001的场景导出成了scene001.unity3d的assetBundle。

当我们想从外部加载这个烘焙好的场景时,可以使用WWW来下载他,但用法和一般的www加载assetBundle有点不同的用法。

假设我们把这个导出的asssetBundle放在了一个路径(url),那么我们可以这样加载它:可以看出,在前两步,我们的做法和普通的www加载assetBundle是一样的,都是获取一个新的WWW资源,但下面的一步就有点不一样,由于他是一个场景,而不是一个GameObject,所以我们不能通过Instantiate 来实例化他,而是用Application.LoadLevel 或者Application.LoadLevelAdditive 之类的加载关卡的方法来读取他的。

unity开发讲义PPT学习教案

unity开发讲义PPT学习教案
Unity3D操作极为简单、直观,操作基本上和主流的3D软件一致。在程序方面使用自 带的MoNoDevelop编辑器,使用C#或者JavaScript等高级语言实现脚本功能,使作为开 发者来说无需掌握底层复杂的脚本语言。即使不使用脚本开发也能快速的开发出具有 高性能、高品质的游戏以及虚拟现实的产品。
第3页/共145页
Unity3d在市场上火爆的时代背景
1.跨平台 时代
游戏的发布平台的日益多样化。例如:PC平台、家用机平台、WEB、移动 终端(智能手机、平版电脑)等等。
第4页/共145页
Unity3d在市场上火爆的时代背景
2. 移动终 端游戏
游戏开发是策划、美工和程序三者的协调及创意和商业运作的平衡。集美 术、音乐、动画、人工智能等元素于一身。相比传统平台游戏开发,移动终 端游戏开发又具备以下特点:
移动设备发布
移动终端的发布(iphone ,ipad,Android, PS3,Nokia N9)
沉浸式体验:
• TechViz XL 软件整合 • 或购买UnitygetReal3D • 单通道/多通道发布 • 支持VR 外设
3.精美画面品质以及高效开发工具
渲染
音效
递延渲染
播放/暂停
内置100组Shader
第18页/共145页
11.简单的一键发布
unity3D的发布非常方便,只需简单的几步操作即可发布成功。
12 3
第19页/共145页
1.1 工程向导面板
工程文件:Unity工程文件中存储了我们开发游戏所需要的资源、场景等相关资源。 当我们打开Unity的时候,会出现Project Wizad面板。这里是要求我们创建一个工程 文件。 工程文件存储地址 需要导入的资源包

Unity的光照与渲染(十二)MixedLighting

Unity的光照与渲染(十二)MixedLighting

Unity的光照与渲染(⼗⼆)MixedLighting Shadowmask模式Shadowmask模式⼜分为了Shadowmask和Distance Shadowmask。

Shadowmask这个模式下与substractive模式下最⼤的不同是,直接光并没有烘焙进光照贴图,⽽是使⽤两张光照贴图分分别记录了光照的亮度以及⽅向,仅仅记录了光的信息⽽不是所有的直接光照的最终效果。

然后它使⽤了⼀张RGBA四个通道的贴图,⽤于记录Mixed Light在静态物体之间投射的阴影。

这⾥说是记录阴影并不准确,其实是记录的就如模式名字的字⾯意思,阴影遮罩,每⼀个使⽤阴影的Mixed Light都使⽤其中⼀个通道记,按照Lightmap的UV和分辨率,记录了其灯光的影响范围(其他地⽅对于这盏灯光就是阴影部分了)。

由于贴图只有4个通道(RGBA),对于同⼀个位置,只能记录4个Mixed Light的影响(光照探针同样之记录最多4个Mixed Light),多于这个数量就会将其中某个灯光当做Baked Light处理,同时Unity在Scene窗⼝的绘制模式中提供了Shadowmask模式以便观察这个阴影遮罩,以及Light Overlap模式以便检查某⼀区域是否有超过5个Mixed的灯光。

Shadowmask绘制模式使⽤Light Overlap绘制模式为同⼀区域超过4个带有阴影的Mixed Light的情况查错这样的处理,我们相当于可以从Shadowmask中获取静态物体的遮挡关系,动态物体则有实时计算的Shadow map,通过⽽综合这些遮挡关系从⽽处理最后的阴影叠加就能获得正确的Mixed Light的阴影效果。

总结下来,静态物体之间的阴影由Shadowmask贴图提供,动态物体产⽣的阴影将读取实时计算的Shadowmap,⽽静态物体投射到动态物体上的阴影则由光照探针(Light Probes)提供。

这个模式下,⽤⼀个简单的⽰例展⽰⼏个点:左:设置的参数以及Shadowmask 右:除⼩球外均设置为静态,采⽤mixed的点光源第⼀:静态物体阴影的分辨率将由Lightmap Resolution参数决定,动态物体阴影则受Quality页⾯下的阴影参数影响,为了获得更好的阴影可能需要提升光照贴图分辨率。

unity3D学习之光照贴图

unity3D学习之光照贴图

光照贴图完全集成到Unity 中,可在编辑器(Editor) 中创建整个关卡,然后对其进行光照映射,让所有材质自动获取光照贴图,无需手动进行。

对Unity 中的光照贴图来说,所有灯光属性会直接映射到Beast 光照烘培贴图工具中并烘培到纹理,提高性能。

Unity 专业版扩展了全局照明(Global Illumination) 功能,可烘培出真实、美观的光照,实时的相反操作则不可行。

此外,Unity 专业版提供天光和发光材质,使场景照明更加有趣。

在本页中,您将看到光照贴图(Lightmapping) 窗口中出现的所有属性的深入描述。

要打开光照贴图(Lightmapping) 窗口,请选择窗口(Window) –光照贴图(Lightmapping) 选项。

检视器顶部有三个场景筛选器(Scene Filter) 按钮,供用户将操作应用到所有对象或限制在灯光或渲染器内。

对象(Object)每个对象的灯光、网格渲染器和地形烘培设置根据当前的选择而定。

单击场景筛选器(Scene Filter) 按钮可在层级视图(Hierarchy) 中轻松看到灯光、渲染器或地形。

文章来自【狗刨学习网】网格渲染器和地形(Mesh Renderers and Terrains):静态光照贴图(Lightmap Static) 网格渲染器和地形(Mesh Renderers and Terrains) 须标为静态才能进行烘培。

光照贴图比率(仅用于网格渲染器(Mesh Renderers))值越大,网格渲染器的分(Scale In Lightmap) 辨率越高。

最终分辨率将成比例(光照贴图缩放(Scale))*(对象的世界坐标空间所占面积)*(全局烘培设置分辨率(Resolution) 值)。

值设置为0 将不烘培对象(但仍会影响其他烘培对象)。

光照贴图大小(Lightmap Size) (仅用于地形)地形实例的光照贴图大小。

地形不与其他对象共用图集,而是有自己的光照贴图。

平滑度参数

平滑度参数

平滑度参数
平滑度是评判纸张表面凹凸程度特性的一项指标,它表示了纸张表面的平整光滑程度。

在金属性和镜面反射着色器模式下显示的平滑度参数,适用于镜面反射(Specular)工作流程和金属性(Metallic)工作流程,并且在两者中的工作方式非常相同。

在Unity中,“微表面细节”不是直接可见的,它是光照计算中使用的概念。

可以用一组从0到1的平滑度值表示。

平滑度值越低,表面上每个点的反射光来自较宽的区域,因为微表面细节凹凸不平并散射光。

在高平滑度值下,每个点的光线来自狭窄的聚焦区域,因此能更清晰地反射对象的环境。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.简易烘焙教程:
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 显示分辨率
切换在场景中是否显示光照图分辨率。

开启这项设置你可以在你的场景中直接预览静态物体光照图的分辨率大小。

相关文档
最新文档