Unity3D之Lightmap入门、烘焙贴图、场景技巧
- 格式:doc
- 大小:420.50 KB
- 文档页数:6
中国第一免费Unity3D教程手册
Unity3D教程:Unity批量处理修改烘培LightMap
用Unity烘培后的多重纹理不能直接转到Unity中,还需要一个个的手动指认Shader。
在Max 里建立你的模型,然后Diffuse Map贴这个模型上,导出一个Fbx文件,然后再相同的模型和相同的Diffuse Map通道上,贴好烘培图,同样导出一个Fbx文件,最终的结果是2个Fbx文件,模型是相同的,其中一个包含材质UV信息,另一个包含LightMap 材质UV信息。
这个Unity资源包包含两个编辑器脚本,即"合并"两个模型网格和将一个模型上的UVs复制到另一个模型物体上并创建一个文本文件记录UV坐标信息.其他的脚本是重新导入Fbx物体的时候重新赋予UVs。
它还能自动设置所有LightMap材质,因此你不必手动的设置Shader和重新赋予LightMap纹理。
唯一的"副作用"是用来取LightMap的UV坐标的网格模型的LightMap通道会被Diffuse Map所占据,但这不是一个真正的问题,作为LightMap 网格模型可以在UV转移后删除掉。
使用本脚本的方法,你必须像下图这样选择两个网格物体文件,然后右键菜单中选择TransferUVs。
Unity3D教程:Unity批量处理修改烘培LightMap
这个脚本不仅测试了从LW 9.5导出的OBJ模型,它也可以很好的用于其他软件导出的模型文件。
中国第一免费Unity3D教程手册。
Unity3d游戏场景优化涉及到Lod技术 (Levels of Detail,多细节层次),选择剔除(Culling),光照贴图(Lightmap)(一) 光照贴图动态实时灯光相比静态灯光,非常耗费资源。
所以除了能动的角色和物体静态的地形和建筑,通通使用Lightmap。
强大的Unity内置了一个强大的光照图烘焙工具Beast,这个东东是Autodesk公司的产品(可怕的垄断,感觉和3d沾边的软件丫都要插一手)。
据说用来制作过杀戮地带和镜之边缘。
镜之边缘建筑场景漂亮干净的光影,Lightmap的效果。
在Unity中制作Lightmap很方便,调节几个参数后直接烘焙即可。
支持GI,Skylight,效果一流!!!当然你需要一台好点的机器,不然漫长的烘焙过程你就有的等了。
内置的光照图烘焙工具BeastP场景准备和光照图烘焙点选Window --> Lightmapping 打开光照图烘焙面板:1.确认所有将要被用来烘焙光照贴图的网格体 UVs正确无误. 最简单的办法是在meshimport settings中选择 Generate Lightmap UVs选项(由Beast自动分uv)2.在Object面板中将所有网格体或地形标注为 static –这将告诉 Unity, 这些物体将不会被移动和改变并且可以被赋予光照贴图。
3.为了控制光照贴图的精度, 进入Bake 面板并调整Resolution 的值. (为了更好的了解你的lightmap texels使用情况, 在Scene 视窗中找到Lightmap Display 小窗口并且选择ShowResolution).1. 点击 Bake 按钮。
2. Unity Editor's 会出现一个进度条,位置处于右下角.3. 当烘焙结束, Lightmap Editor窗口会显示已经烘焙好的光照图.Scene 和 game 视图会同时自动更新–现在你的场景已经有了光照图的效果! Unity Lightmap的设置还有更详细和更高端的内容,请参考自带的文档!(二) LODLOD(Level-of-detail)是最常用的游戏优化技术。
Unity中的场景建模与渲染技巧第一章:Unity场景建模入门Unity是一款强大的游戏引擎,可以用来创建丰富多样的游戏场景。
在使用Unity进行场景建模前,我们需要了解一些基本的概念和技巧。
1.1 Unity场景基础Unity的场景由游戏对象(Game Objects)组成,每个游戏对象可以包含模型、贴图、光照等组件。
了解游戏对象的层次关系和组件的属性对于场景建模非常重要。
1.2 使用工具进行基本建模Unity中有一些内置的工具可以帮助我们进行基本的场景建模。
例如,Terrain工具可以生成地形,Tree工具可以快速生成树木。
另外,Unity还支持导入外部建模软件生成的模型文件。
1.3 场景组织与管理场景的组织和管理对于复杂的项目非常重要。
在Unity中,我们可以使用场景视图、层和标签等功能来管理场景对象。
此外,还可以使用Prefab来创建可复用的场景元素。
第二章:场景渲染技巧2.1 光照与阴影光照和阴影是场景渲染中不可或缺的部分。
Unity支持各种光照技术,包括实时光照和预计算光照。
合理使用光照贴图、灯光设置和阴影投射等技巧可以提高场景的真实感。
2.2 材质与纹理材质和纹理决定了场景物体的外观和质感。
在Unity中,我们可以使用着色器(Shader)来定义物体的材质特性。
此外,合理使用纹理贴图和法线贴图可以使场景更加真实和细腻。
2.3 特效与后处理特效和后处理可以增强场景的表现力和视觉效果。
Unity内置了一些特效系统,如粒子系统和镜头后期处理。
合理配置和使用这些特效可以使场景更加生动和吸引人。
第三章:高级场景建模与渲染技巧3.1 资源优化与性能优化在构建复杂场景时,资源和性能优化是重要的考虑因素。
合理使用LOD(Level of Detail)技术可以降低模型的绘制负担。
此外,合理使用批处理和合并网格等技巧可以优化渲染性能。
3.2 动态天气效果动态天气效果可以增加场景的真实感和沉浸感。
在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里面烘焙贴图的模型,都有了较为真实的光影效果。
灯光-Light对于每一个场景灯光是非常重要的部分。
网格和纹理定义了场景的形状和外观,而灯光定义了场景的颜色和氛围。
可以通过从菜单中选择 GameObject->Light并将其添加到你的场景中。
有3种类型的灯光。
一旦添加了一个灯光你就可以像操作其他物体一样操作它。
相关属性介绍◆Type:灯光的类型⏹Directional:平行灯,类似太阳光;⏹Point:点光源,类似灯泡;⏹Spot:聚光灯,类似舞台聚光灯;◆Baking:该选项有三个选择⏹Realtime:即光源不参与烘焙,只作用于实时光照;⏹Baked:表示光源只在烘焙时使用⏹Mixed:该光源会在不同的情况下做不同的响应;在烘焙时,该光源会作用于所有参与烘焙的物体;在实际游戏运行中,该光源会作为实时光源作用于那些不参与烘焙的物体或者动态的物体(不作用于静态的物体,就是勾选了Static);◆Color:光源的颜色,根据不同的环境设置不同的颜色,营造出不同的氛围;◆Intensity:光线强度;◆Bounce Intensity:光线的反射强度;◆Shadow Type:设置是否显示光源作用在的物体的阴影,⏹No Shadows不显示阴影,阴影不存在;⏹Hard Shadows:硬阴影(无过滤),效果不是很自然比较生硬;⏹Soft shadows:柔化阴影,更加贴近实际生活中的阴影显示,但比较消耗资源;◆Strength:阴影黑暗程度,取值范围0~1◆Resolution:阴影的清晰度,细化度,越高消耗越大;◆Bias:阴影的偏移量,越小,物体表面会有来自它自身的阴影,太大光源就会脱离了接收器;◆Cookie:灯光投射的纹理,如果灯光是聚光灯和方向灯就必定是一个2D纹理,如果是点光源必须是一个Cubemap(立体贴图);◆Cookie Size:缩放Cookie的投影,只适用于方向光◆Draw Halo:如果勾选,那光源带有一定半径范围的球形光源◆Flare:在选中的光源的位置出现镜头光晕;◆Render Mode:此项决定了选中的光源的重要性,影响照明的保真度和性能;⏹Auto:渲染的方法根据附近灯光的亮度和当前的质量设置在运行时由系统确定;⏹important灯光是逐个像素渲染的;⏹Not Important灯光总是以最快速度渲染;Culling Mask:剔除遮罩,类似摄像机的遮罩,选中指定的层收到光照影响,未选中的不受到光照影响;设置全局光照和烘焙光照贴图-LightMap一个场景中灯光添加多了资源消耗也就大了,为了降低资源的消耗,可以选择烘焙光照贴图;把光源的效果烘焙到贴图上,形成自带光源效果的贴图,这样就可以减少灯光的使用。
ue烘焙流程UE烘焙流程烘焙是一门需要技巧和耐心的艺术,而UE烘焙则是指使用Unity引擎的烘焙工具来为游戏场景创建光照和阴影效果。
本文将介绍UE烘焙流程的一般步骤和注意事项。
一、准备工作在开始烘焙之前,我们需要准备好以下几项内容:1. 游戏场景:确保场景中已经设置好了需要烘焙的光源和物体。
2. 光照贴图:在烘焙过程中,我们需要使用到光照贴图来模拟光线的传播和反射。
可以根据场景需要选择合适的光照贴图。
3. 烘焙设置:在Unity中,我们可以通过调整烘焙设置来控制烘焙的效果和质量。
可以设置光照贴图的分辨率、烘焙的范围和精度等参数。
二、烘焙流程下面是UE烘焙的一般流程:1. 打开Unity引擎,选择需要烘焙的场景。
2. 在Unity编辑器中,找到烘焙工具。
通常可以在菜单栏的“Window”或者“Lighting”选项中找到烘焙工具。
3. 进入烘焙工具后,可以进行光照贴图的设置。
根据场景需要选择合适的光照贴图,并调整其分辨率和其他参数。
4. 设置好光照贴图后,可以进行烘焙的设置。
可以选择烘焙的范围和精度,以及其他相关参数。
5. 点击“开始烘焙”按钮,等待烘焙过程完成。
烘焙时间的长短取决于场景的复杂度和烘焙设置的精度。
6. 烘焙完成后,可以在Unity编辑器中查看烘焙的效果。
可以通过调整摄像机的角度和距离来观察烘焙后的光照和阴影效果。
7. 如果对烘焙结果不满意,可以回到烘焙工具中重新调整设置,并重新进行烘焙。
8. 当烘焙结果满意后,可以保存场景并导出烘焙结果。
烘焙结果通常保存为纹理贴图或者Lightmap文件,供游戏运行时使用。
三、注意事项在进行UE烘焙时,还需要注意以下几点:1. 场景布局:合理的场景布局可以减少烘焙的时间和计算量。
尽量避免过多的重叠物体和遮挡物。
2. 光源设置:光源的位置、强度和颜色等参数都会影响烘焙的效果。
需要根据场景需要进行合理的调整。
3. 烘焙设置:烘焙的范围和精度会直接影响烘焙的效果和计算时间。
3Dmax模型烘焙教程:实现模型的高质量贴图输出引言:3Dmax是一款业界常用的三维建模软件,它不仅可以创建精确的三维模型,还可以添加材质和纹理使其更加逼真。
在进行渲染前,一个重要的步骤就是将模型进行烘焙,以获得高质量的贴图输出。
本文将详细介绍在3Dmax中实现模型烘焙及高质量贴图输出的步骤和注意事项。
一、准备工作1. 确保已经安装并正确配置了3Dmax软件。
2. 确定所需的模型和纹理文件已经导入到3Dmax中,并进行了正确的材质分配。
二、设置烘焙参数1. 打开3Dmax软件,进入模型编辑界面。
2. 选择要进行烘焙的模型,并将其选中。
3. 在3Dmax菜单中找到“烘焙”选项,并点击打开烘焙设置对话框。
4. 在烘焙设置对话框中,设置烘焙的输出路径和文件名,并选择适当的贴图分辨率和文件格式。
5. 可根据需要设置其他烘焙参数,如间隔、投射光线数量等。
三、设置材质和纹理1. 确保模型已经正确分配了材质,并且纹理已经应用到了相应的材质上。
2. 若模型有多个材质,需要确保它们的ID已经正确设置,以便在后续的烘焙过程中能够正确识别并生成贴图。
3. 对于复杂的模型,可以使用3Dmax提供的纹理编辑器对纹理进行调整和处理,以获得更好的效果。
四、执行烘焙过程1. 点击烘焙设置对话框中的“开始烘焙”按钮,启动烘焙过程。
2. 等待烘焙过程完成,期间不要进行其他操作,以免影响烘焙结果。
3. 一旦烘焙完成,保存生成的贴图文件到指定的输出路径。
五、导出并应用贴图1. 在3Dmax中,打开贴图编辑器,并将生成的贴图文件导入到贴图编辑器中。
2. 对贴图进行必要的调整和编辑,以满足所需的效果。
3. 将贴图应用到相应的材质上,使模型呈现出高质量的纹理效果。
六、渲染和输出1. 在3Dmax中,设置所需的渲染参数,如光照、阴影等。
2. 在渲染设置中,选择适当的渲染引擎和输出格式。
3. 点击渲染按钮,开始渲染过程,并将结果保存到指定的输出路径。
unity烘焙场景的创建保存和使用(附demo项目)Unity烘焙场景是一种将场景中的静态物体和光照信息转换为纹理贴图的过程,可以提高游戏的渲染效率。
在Unity中,烘焙场景的创建、保存和使用非常简单。
首先,我们需要创建一个新的场景,并将需要烘焙的物体放置在场景中。
烘焙通常用于静态物体,因为它们不会在运行时发生移动。
可以使用Unity的预制体或手动创建物体。
在场景中,我们还需要设置光照信息。
这可以通过创建光源或使用Unity提供的预置光照设置来完成。
光照设置包括环境光、定向光、点光源、聚光灯等。
根据场景需要,可以调整光源的位置、颜色和强度等属性。
完成物体和光照的设置后,我们可以开始进行烘焙。
在Unity的顶部菜单栏中,选择“Window”->”Lighting”打开烘焙窗口。
在烘焙窗口中,选择“Scene”选项卡。
在这里,可以设置烘焙的一些参数,如光照贴图的像素分辨率、间接光照的质量等。
同时,还可以选择烘焙的物体和光照信息。
点击“Bake”按钮开始烘焙过程。
Unity会根据场景中物体的位置和光照的设置,计算出每个像素的颜色和光照强度,并将其保存为一张贴图。
这张贴图将被应用到场景中的物体上,提高渲染效率。
完成烘焙后,我们可以保存场景。
在Unity的顶部菜单栏中,选择“File”->”Save Scene”来保存场景。
保存后,场景将包含烘焙后的光照信息,可以在其他项目中使用。
保存的场景可以在其他项目中导入和使用。
在新的项目中,打开场景后,场景中的物体将自动应用保存的光照信息。
这样可帮助我们节省时间和提高工作效率。
除了创建、保存和使用烘焙场景,我们还可以进一步优化烘焙结果。
在烘焙窗口的“Lighting”选项卡中,可以调整烘焙参数,如光照贴图的分辨率、间接光照的采样数量等。
通过适当调整这些参数,可以使烘焙结果更精确和逼真。
总结来说,Unity烘焙场景的创建、保存和使用非常简单。
通过将静态物体和光照信息转换为纹理贴图,可以提高游戏的渲染效率和优化性能。
Unity3D美术方面贴图我们都知道,一个三维场景的画面的好坏,百分之四十取决于模型,百分之六十取决于贴图,可见贴图在画面中所占的重要性。
在这里我将列举一些贴图,并且初步阐述其概念,理解原理的基础上制作贴图,也就顺手多了。
我在这里主要列举几种UNITY3D中常用的贴图,与大家分享,希望对大家有帮助。
01首先不得不说的是漫反射贴图:漫反射贴图diffuse map漫反射贴图在游戏中表现出物体表面的反射和表面颜色。
换句话说,它可以表现出物体被光照射到而显出的颜色和强度。
我们通过颜色和明暗来绘制一幅漫反射贴图,在这张贴图中,墙的砖缝中因为吸收了比较多的光线,所以比较暗,而墙砖的表面因为反射比较强,所以吸收的光线比较少。
上面的这张图可以看出砖块本身是灰色的,而砖块之间的裂缝几乎是黑色的。
刨去那些杂糅的东西,我们只谈明显的,漫反射贴图表现了什么?列举一下,物体的固有色以及纹理,贴图上的光影。
前面的固有色和纹理我们很容易理解,至于后面的光影,我们再绘制漫反射贴图的时候需要区别对待,比如我们做一堵墙,每一块砖都是用模型做出来的,那么我们就没有必要绘制砖缝,因为这个可以通过打灯光来实现。
可是我们如果用模型只做了一面墙,上面的砖块是用贴图来实现,那么就得绘制出砖缝了。
从美术的角度,砖缝出了事一条单独的材质带外,还有就是砖缝也是承接投影的,所以在漫反射图上,绘制出投影也是很有必要的,如下图:没有什么物体能够反射出跟照到它身上相同强度的光。
因此,让你的漫反射贴图暗一些是一个不错的想法。
通常,光滑的面只有很少的光会散射,所以你的漫反射贴图可以亮一些。
漫反射贴图应用到材质中去是直接通过DiffuseMap的。
再命名规范上它通常是再文件的末尾加上“_d”来标记它是漫反射贴图。
凹凸贴图Bump maps凸凹贴图可以给贴图增加立体感。
它其实并不能改变模型的形状,而是通过影响模型表面的影子来达到凸凹效果的。
再游戏中有两种不同类型的凸凹贴图,法线贴图(normalmap)和高度贴图(highmap)。
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面板里勾选上小窗口Lightmap
Display中的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.
选择灯光打开物体面板,展开阴影范围和阴影采样属性。
设置阴影范围为1.2,阴影采样为100从新烘培,会产生一个半影范围很宽的软阴影。
我们画面看起来真的好多了。
使用专业版Unity能够开启全局光照和天光进行烘培画面效果能得到更大的改进。
在Bake(烘培)面板设置Bounces (反弹)为1,Sky Light Intensity天光强度为0.5。
能够烘培出带有微妙变化的反射效果的软光源。
(会从绿色和蓝色的盒子上产生色彩溢出)。