草庐IT

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

萤火虫实验室 2023-09-08 原文

目录

前言

一、Mash Baker是什么?

二、使用步骤

1.打开场景

2.将Texture Baker添加到场景中

3.使用Texture Baker生成贴图集

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

总结


前言

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

使用后:多个模型共用一个材质球,使用一张大贴图(图片来源网络)
使用前:一个模型对应一个材质球,使用一张小贴图(图片来源网络)

一、Mash Baker是什么?

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

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

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

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

二、使用步骤

1.打开场景

如果导入的模型都集中在世界原点,这将不利于我们后面的操作,我们需要把模型分开

分开放置,方便我们后续的操作

2.将Texture Baker添加到场景中

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

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

这将在Hierarchy窗口中生成一个名为TextureBaker对象

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

3.使用Texture Baker生成贴图集

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

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

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

为了方便我们一次导入所有,我们先给它打个组,之后只拖它的父对象即可,这里我将父对象命名为Building

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

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

这些选项的理解是我看了官方教程后的总结,解释不正确还请反馈

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

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

 这里我是用标准着色Standard

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

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

恭喜你,你已经成功一半了

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

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

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

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

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

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

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

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

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

总结

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

论坛

油管官方教程

资料参考:3D美术资源优化—材质贴图篇

有关Unity场景优化工具:Mesh Baker 基础教程(贴图篇)的更多相关文章

  1. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  2. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  3. FOHEART H1数据手套驱动Optitrack光学动捕双手运动(Unity3D) - 2

    本教程将在Unity3D中混合Optitrack与数据手套的数据流,在人体运动的基础上,添加双手手指部分的运动。双手手背的角度仍由Optitrack提供,数据手套提供双手手指的角度。 01  客户端软件分别安装MotiveBody与MotionVenus并校准人体与数据手套。MotiveBodyMotionVenus数据手套使用、校准流程参照:https://gitee.com/foheart_1/foheart-h1-data-summary.git02  数据转发打开MotiveBody软件的Streaming,开始向Unity3D广播数据;MotionVenus中设置->选项选择Unit

  4. unity---接入Admob - 2

    目录1.AdmobSDK下载地址2.将下载好的unityPackagesdk导入到unity里​编辑 3.解析依赖到项目中

  5. Unity 3D 制作开关门动画,旋转门制作,推拉门制作,门把手动画制作 - 2

    Unity自动旋转动画1.开门需要门把手先动,门再动2.关门需要门先动,门把手再动3.中途播放过程中不可以再次进行操作觉得太复杂?查看我的文章开关门简易进阶版效果:如果这个门可以直接打开的话,就不需要放置"门把手"如果门把手还有钥匙需要旋转,那就可以把钥匙放在门把手的"门把手",理论上是可以无限套娃的可调整参数有:角度,反向,轴向,速度运行时点击Test进行测试自己写的代码比较垃圾,命名与结构比较拉,高手轻点喷,新手有类似的需求可以拿去做参考上代码usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;u

  6. 基于C#实现简易绘图工具【100010177】 - 2

    C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

  7. 「Python|Selenium|场景案例」如何定位iframe中的元素? - 2

    本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决

  8. postman接口测试工具-基础使用教程 - 2

    1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,

  9. 软件测试基础 - 2

    Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功

  10. 在VMware16虚拟机安装Ubuntu详细教程 - 2

    在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主

随机推荐