Unity场景优化工具:Mesh Baker 基础教程(贴图篇)

这篇具有很好参考价值的文章主要介绍了Unity场景优化工具:Mesh Baker 基础教程(贴图篇)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

一、Mash Baker是什么?

二、使用步骤

1.打开场景

2.将Texture Baker添加到场景中

3.使用Texture Baker生成贴图集

4.烘焙新的模型并使每个模型独立

总结


前言

模型贴图整合是3D游戏中美术资源优化的重要环节,我们通常把多个模型的贴图集成到一张2048大小的贴图集中,以达到减少贴图和材质球的数量来节省资源。但是面对成百上千的模型,纹理贴图,法线贴图,高光贴图等等,每种贴图集合成大图,再分别对一次UV,结果是累死,各种贴图还未必对得上位置……,那使用 Mesh Baker 我们可以批量自动拼合贴图并映射UV,大多数工作只需在 Unity 中来完成,免去在三维软件中手动调整UV的烦恼。话不多说,上教程。

meshbaker,游戏引擎,性能优化,游戏美术
使用后:多个模型共用一个材质球,使用一张大贴图(图片来源网络)
meshbaker,游戏引擎,性能优化,游戏美术
使用前:一个模型对应一个材质球,使用一张小贴图(图片来源网络)

一、Mash Baker是什么?

Mash Baker 用于 Unity 有优化模型场景的一种工具,该工具是为了解决场景模型数量过多导致运行时产生较高的DrawCall而创建的。

以下是官方的对于这款插件的介绍。

提高性能!结合网格和材料以减少批量! Mesh Baker 是一个强大的工具包,具有灵活的非破坏性工作流程,用于优化道具和场景。 Unity 最著名的优化工具。自 2012 年以来的五星级支持和更新。

* 为道具组创建图集或纹理数组
* 在大型复杂场景中查找、分组和组合网格
* 修改道具预制件以使用图集材料
* 支持 URP、HDRP、标准管道
* 适用于内置和自定义着色器
* 为使用色调的材料创建地图集
* 支持多种材质的道具
* 处理平铺纹理
* 结合自定义并向蒙皮网格添加道具
* 创建可定制的蒙皮网格角色
* 将蒙皮网格与混合形状相结合
* UV、法线、切线自动调整
*光照贴图支持
*混合搭配灵活的工作流程工具
* 运行时 API

二、使用步骤

1.打开场景

meshbaker,游戏引擎,性能优化,游戏美术
如果导入的模型都集中在世界原点,这将不利于我们后面的操作,我们需要把模型分开
meshbaker,游戏引擎,性能优化,游戏美术
分开放置,方便我们后续的操作

2.将Texture Baker添加到场景中

如果你已经在项目中导入了Mesh Baker插件则在Unity菜单栏中找到以下路径来添加场景组件

GameObject > Create Other > Mesh Baker > TextureBaker and Mesh Baker 

meshbaker,游戏引擎,性能优化,游戏美术
这将在Hierarchy窗口中生成一个名为TextureBaker对象

可以看到这款插件的功能非常强大,此篇主要是讲贴图的优化,所以选择TextureBaker and Mesh Baker 是我们适用的功能。

3.使用Texture Baker生成贴图集

让我们选中Hierarchy窗口中的TextureBaker组件,我们可以看到右侧inspector窗口中有着许多复杂的设置,请不用担心,我将在实践中介绍他们的作用。

meshbaker,游戏引擎,性能优化,游戏美术

 我们先进行操作的是MB3_Texture Baker (Script)里的参数,所以让我们把MB3_ Mesh Baker Grouper (Script)折叠起来。下图是对插件功能的解释说明。

meshbaker,游戏引擎,性能优化,游戏美术

 选中我们要导入的场景对象,拖放到图中的添加窗口栏。

meshbaker,游戏引擎,性能优化,游戏美术
为了方便我们一次导入所有,我们先给它打个组,之后只拖它的父对象即可,这里我将父对象命名为Building

 先在Hierarchy中高亮选择TextureBaker组件,然后直接按住父对象(Building)拖放到inspector中的对象添加窗口。

meshbaker,游戏引擎,性能优化,游戏美术

 对象导入后,我们需要继续进行MB3_Texture Baker (Script)的设置,由于对象过多,我们直接折叠列表。

meshbaker,游戏引擎,性能优化,游戏美术
这些选项的理解是我看了官方教程后的总结,解释不正确还请反馈

我们首先点击Create Empty Assets For Combined Material 这将给我们的贴图集和共享材质提供一个存放位置并且会自动生成一个贴图和材质。

meshbaker,游戏引擎,性能优化,游戏美术

让我们在Project中找到我们所保存的路径,看看发生了什么。 

meshbaker,游戏引擎,性能优化,游戏美术

 这里我是用标准着色Standard

meshbaker,游戏引擎,性能优化,游戏美术

 之后让我们回到TextureBakery的Inspector中,我们可以看到,在Texture Baker Result(存放结果的地方)自动填上了刚才生成的文件,此外Combined Mesh Material 中也自动填上了新生成的材质球。

meshbaker,游戏引擎,性能优化,游戏美术

 点击过后,根据对象的数量,及其复杂程度,我们需要等待个十几、几十秒,甚至是分钟!让插件来合并贴图。我建议一次不要搞太多以防万一(虽然到目前我还没遇到过崩溃的情况)。

meshbaker,游戏引擎,性能优化,游戏美术
恭喜你,你已经成功一半了

4.烘焙新的模型并使每个模型独立

MB3_Texture Baker (Script)的使用到这里就结束了,我们在Inspector面板中将它折叠。并展开
MB3_ Mesh Baker Grouper (Script),你可以看到又是一大堆参数设置,请不要烦恼,在这里我们并不需要做很多改动。接下来我将对部分设置进行解释。

meshbaker,游戏引擎,性能优化,游戏美术

 首先我们要使每个子对象都可以独立选择并移动变换,我们先看上图黄色框内找到Cluster Type(集群类型),切换为Agglomerative这个选择使按照物体本身来划分,最适合我们。然后我们点击Click To Build Clusters按钮来构建集群。

meshbaker,游戏引擎,性能优化,游戏美术

 这个时候你在Scene窗口仔细观察,会发现模型被一圈圈的曲线包裹,这类似于碰撞网格一样的东西,每一个被包裹的将会分到一个组内,成为一个独立的模型。

meshbaker,游戏引擎,性能优化,游戏美术

 现在的包裹曲线数量并不多,我需要每个模型都有自己的包裹曲线,这样每个模型就是一个组,以达到独立模型子对象的目的。这个时候我们可以看到有个滑块叫Max Distance(最大距离)我们将他调至最左,在滑动的过程中,观察场景中包裹曲线的变化。

meshbaker,游戏引擎,性能优化,游戏美术

 这个时候我们需要生成一个记录分组信息的组件,在烘焙时插件会读取该组件的分组信息,来进行烘焙分组。我们将inspectior面板滚动到最底部,点击Generate Mesh Bakers,如果跳出提示我们点击OK即可。此时在Hierarchy面板中会多出一个名字超长的组件,这就是用来记录分组信息的组件,我们不用管它。此时我们接着点击Bake All Child MeshBakers(烘焙所有子对象)

meshbaker,游戏引擎,性能优化,游戏美术

 在Hierarchy窗口中,你会多出来很多对象,没错,这就是我们烘焙出来的新对象。目前这些对象与原对象处于重叠状态,我们将它拖出来。选择名称为0结尾的Mesh按住Shift再点击最后一个Mesh将其全部选中。在Scene窗口中将他移动与原对象分开。

meshbaker,游戏引擎,性能优化,游戏美术

 插件生成的对象几乎和我们原对象一样!烘焙出来的对象有些反光,这是因为我们没有调整材质球的Smoothness,我们将它归零。此时我们随便点击一个对象并在Inspectior中查看它所使用的材质球,不出所料,使用的正是我们新生成的材质球,我们再选择其他对象查看,使用的也是相同的材质球

恭喜,整个新生成的对象所使用的材质都是同一个,这达到了我们的目的!

总结

以上就是使用Mesh Baker批量合并贴图的基础教程,本文仅仅简单介绍了Mesh Baker中Texture Baker功能的使用,而Mesh Baker的强大之处不仅仅只有这些。有关更多Mesh Baker的介绍可以前往官方论坛进行查看。

论坛

油管官方教程

资料参考:3D美术资源优化—材质贴图篇文章来源地址https://www.toymoban.com/news/detail-782995.html

到了这里,关于Unity场景优化工具:Mesh Baker 基础教程(贴图篇)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【libGDX】Mesh立方体贴图(6张图)

    ​ 本文通过一个立方体贴图的例子,讲解三维纹理贴图的应用,案例中使用 6 张不同的图片给立方体贴图,图片如下。 ​ 读者如果对 libGDX 不太熟悉,请回顾以下内容。 使用Mesh绘制三角形 使用Mesh绘制矩形 使用Mesh绘制圆形 使用Mesh绘制立方体 Mesh纹理贴图 ​ 本节将使用

    2024年03月09日
    浏览(62)
  • 网格(mesh)点跟踪及在贴图中的应用

            本文介绍网格跟踪的思路及其在贴图中的使用效果。网格跟踪即跟踪所有的网格点,然后根据网格点估算某一点的变形,相较于曲面跟踪可以在保证一定精度条件下大幅提高处理速度。这里介绍一种简单的网格跟踪思路,效果如下图所示:   网格由用户通过输入一个

    2024年02月12日
    浏览(46)
  • Unity 动态创建Mesh 基础方法与高级方法

    最近在做项目优化,注意到动态创建Mesh时,Unity提供了一套高级方法用于快速创建模型,特此记录学习一下。 关于Mesh的基本概念再次不在阐述,可以参考Unity Mesh 官方文档,介绍的很详细,其中 基础方法 包括:SetVertices、SetNormals、SetUVs、SetTriangles、SetIndices、SetColors、SetTa

    2024年03月27日
    浏览(52)
  • Unity教程||Unity 渐进式光照贴图烘焙详解

    随着各大计算平台的算力稳步增长,特别是GPU技术的不断进化,原先可望而不可及的技术比如实时光线追踪技术开始逐步走入玩家的视野。一些先锋厂商甚至已经超出Demo的范畴,开始正式推出支持实时光追的游戏。 不过目前的实时光追技术还只能在配备了最新Nvidia RTX 20系列

    2024年02月08日
    浏览(53)
  • 游戏基础常识 Unity的三种常见贴图

    Normal Map 法线贴图 看起来像蓝色的凹凸图用于体现模型细节 Diffuse Map 漫反射贴图 将平面图像福附着在3d模型上,使模型的像素按uv坐标显示贴图上的颜色信息,从而使模型拥有跟多的细节。漫反射贴图包含物体最基本的色彩信息 这就是我们实现游戏内换色的方法:更换这张贴

    2024年02月11日
    浏览(45)
  • 【Unity基础】2.网格材质贴图与资源打包

        大家好,我是Lampard~~     欢迎来到Unity基础系列博客,所学知识来自B站阿发老师~感谢      第一次接触3D物体的话,会觉得好神奇啊,这个物体究竟是由什么组成的呢?其实3D物体基本就是由网格,材质和纹理3个部分构成的 (1)网格     那什么是网格?首先需要知道

    2024年01月22日
    浏览(45)
  • Unity DOTS Baking与Baker详解

    Unity DOTS Baking与Baker详解   最近DOTS终于发布了正式的版本, 我们来分享一下DOTS里面Baking 与Baker的关键概念,方便大家上手学习掌握Unity DOTS开发。   Unity DOTS开发模式,为了让大家在”创作”游戏的时候使用原来组件方式来编辑游戏场景与资源,同时Unity提供了一种Baking机制

    2024年04月17日
    浏览(38)
  • 【瑞模网】Unity3D基础:贴图与材质球

    一、贴图与材质球 材质(Material):物体的质地,物体看起来是什么做的 贴图(Texture):普通的材质图片 贴图 + 着色器(Shader) = 材质球 所谓着色器(Shader)实际上就是一小段程序

    2023年04月12日
    浏览(69)
  • Unity | Shader基础知识(第十一集:什么是Normal Map法线贴图)

    目录 前言 一、图片是否有法线贴图的视觉区别 二、有视觉区别的原因 三、法线贴图的作用 四、信息是如何存进去的 五、自己写一个Shader用到法线贴图 六、注意事项 七、作者的话 前言 本小节会给大家解释,什么是法线贴图?为什么法线贴图会产生深度?我们怎么自己写一

    2024年04月15日
    浏览(47)
  • Babylonjs 基础教程与填坑④sandbox+inspector面板中的Mesh类

    目录 inspector基本操作 1、在场景想要通过鼠标点击选中模型 2、鼠标点击场景内的小桌子,选中模型后,可以通过左边的眼睛开关,确认是否选择正确。 3、inspector左侧面板的上方的可以单选控制模型的transform值(移动、旋转、放大) 额外补充:中心点pivot最好是模型师修改,

    2023年04月09日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包