AI与艺术的约会 —— 基于ArtEngine的手机照片转化PBR材质流程
unityPBR美术设计 222 2
实名

通过了实名认证的内容创造者

发布于 2024-1-31 14:17:49

您需要 登录 才可以下载或查看,没有账号?注册

x

Unity ArtEngine 是一款强大的3D内容创建工具,能够借助AI辅助功能创建逼真的数字艺术内容。ArtEngine免去了材质创作工作中冗繁、琐碎的部分(如将照片转换为基于物理渲染的材质、分辨率增强、去模糊、接缝消除、平整和配色等),帮助艺术家聚焦于创作工作流程中能带来附加值的部分。
今天进行一个很有意思的尝试,使用Unity ArtEngine将用手机拍摄的照片最终输出为一个PBR的材质表现。先上树皮的最终效果图:
v2-dc1f3af769bf664e60b40302f83daa23_720w.jpg 制作的树皮材质
那么接下来我们就一起制作这个有趣的材质。照片转化为PBR材质的大致可以分为两个步骤:
  • 规范的拍摄需要转换为材质的照片;
  • 使用ArtEngine相关功能节点进行制作。
拍摄篇
如果在户外直接采集并拍摄的话,为了避免过多的光线和阴影对制作材质时的影响,最好选择阴天。但今天我们是在室外采集所需的树皮和苔藓实物,在室内进行拍摄。
对于采集实物的时候要特别注意:表面要避免反射、透明以及潮湿。因为这样容易产生高反光,使拍摄的照片产生亮点。再者就是注意拍摄物体尽量平坦。如以下两张树皮,建议选用第一张中的树皮进行拍摄。
v2-a4e97fea6c87c3b61de0aa9df3e131d3_720w.jpg
然后将我们采集到的一部分小树皮,进行简单的清洁处理,带回工作室。此刻在工作室我已经准备好了一个可以固定手机的支架,调整合适的位置,镜头大致距离树皮30~50cm,为了避免手按拍摄键产生晃动影响照片质量,我用了蓝牙连接器按钮来拍摄。
我们需要一张带有刻度的圆盘背板,这里我在百度上找了一张带有刻度的图片打印出来来充当。
使房间变暗,接下来比较重要的一步是打光,我使用单个便携式漫射光源(通俗点就是LED灯),按照顺时针或者逆时针方向,将光源依次移到材料周围的4等分罗盘刻度点上拍照。此过程中,相机必须保持在固定位置,且不能移动,仅光源移动。当然按照8等分点拍八张以便软件更准确得根据阴影位置的变化来计算高度。
拍摄时光源的位置
Ok,到这里的话,关于如何规范的拍摄照片已经告一段落。接下来就是使用ArtEngine相关功能节点进行制作。
制作篇
在这里我已经默认大家拍出了规范的照片。(当然如果你还是不小心拍出局部高光的照片也没有关系,我会在后续文章中来讲解如何使用ArtEngine去Delight。)
关于ArtEngine的简单使用我会在接下来的制作过程中进行简要说明,但还是希望大家可以去Unity官网或者官方B站上再熟悉下(B站ID:Unity官方)。
首先对我们拍摄的照片进行裁剪,这一步可以在ArtEngine中进行操作,当然你也可以在其他软件上进行裁剪。
ArtEngine Crop裁剪节点
接下俩我们把裁剪过的4张照片直接拖入到ArtEngine Asset窗口中,在节点编辑窗口创建Multi-Angle to Texure节点。从下图的参数中可以看到,照片必须按照拍摄时光源的顺序,也就是顺时针或者逆时针的有序地与Multi-Angle to Texure输入点相连。
最终Multi-Angle to Texure 节点会输出Normal与Albedo两张贴图。接下来我们研究下合成材质节点Compose Material,但我们需要为 Compose Material 节点分配正确的PBR映射类型,ArtEngine Compose Material 节点默认需要提供Albedo、Normal、Height、Roughness、Metalness、 AO 这六种贴图。也可以通过参数Input Connections来修改需要输入的贴图数量。
接下来就按部就班进行分配,首先Multi-Angle to Texure 节点会输出Normal与Albedo贴图,我们直接连接到Compose Material节点相对应的输入参数上。
关于材质的粗糙度贴图,Roughness定义了材质的微表面(粗糙)状况。这里值得注意的是,ArtEngine Compose Material 节点要求输入的贴图是粗糙度贴图(roughness map),而不是光滑度贴图(gloss map)。这两种类型其实几乎没有区别,顶多就是粗糙度贴图是一张反色的图,例如,暗色表示光滑表面,亮色表示粗糙表面。
在上面的理论基础之上,我们来进行粗糙度贴图的制作。先创建Grayscale节点,将Albedo 贴图转换为灰度图,然后创建直方图扫描节点这个节点。其实跟Substance 中的节点是类似的,通过调参来重新调整灰度图的对比度和亮度。
正如上面说提到的,我们需要进行一次反转,转化成粗糙度贴图。
接着我们要生成高度贴图了,ArtEngine提供了Height Generation 节点,允许直接从法线贴图生成高度贴图。继续添加AO Generation 节点,由高度贴图生成AO贴图。
OK,我们按照类型连接好后,就已经成功了80%了。
双击Compose Material,可以看到我们目前输出的材质效果图,会发现材质的接缝问题很严重。
这个怎么处理呢?我们可以使用 ArtEngine提供的Seam Removal 节点 智能的去除接缝,这无疑避免了美术手动去接缝的麻烦。
以上的具体节点连接步骤如下所示。
除此之外,还有一个节点必须介绍,那就是Mutation突变节点。这对创作材质变体绝对非常有用。只要修改节点的参数就可以获得不同的效果。试想下这会是一个多么美妙的体验。
另外,ArtEngine还包括提高分辨率、去模糊、展平、色彩匹配等功能。讲到这里,我们创作材质的过程就已经完成啦,接下来用Export to Unity节点将我们制作完成的材质导入到Unity中,就可以进行使用了。
接下来,我们学习一下将树皮与苔藓混合后的材质制作过程。
其实这一步跟树皮材质制作的步骤是类似的,首先我们也是需要采集苔藓和规范的拍摄照片,这一步我就不带大家手把手拍摄了,上面我已经写的很清楚了。
我们就直接开始来说如何在ArtEngine中制作的苔藓的材质吧。
首先,将拍摄好的苔藓材质导入到Assets资源窗口与节点编辑窗口,创建Multi-Angle to Texture节点,按照拍照时候的打光顺序的顺时针将照片与节点的四个Input连接。
创建Height Generation节点与Multi-Angle to Texture的Normal Output连接生成高度贴图,为了增加更多的细节在里面,我用了一个普遍的方法,大家可以记住这个方法,就是将Albedo贴图转化为灰度图,然后再增加对比度与法线贴图融合得到一个多细节的高度贴图。具体步骤如下:
创建Grayscale节点与Multi-Angleto Texture的Albedo Output相连接;创建Levels节点与Grayscale节点相连接。然后将生成的高度贴图与Albedo转化后的贴图进行融合。然后再创建Levels节点提高融合后的对比度。
从左到右依次是直接生成的高度贴图、融合后的高度贴图与提高对比度后的贴图;可以明显看出来细节在逐渐的提高。
接着创建Ambient Occlusion Generation 与 Levels节点相连接,由高度贴图生成AO贴图。
创建Compose Material 节点将生成的高度贴图、Albedo贴图、法线贴图、AO贴图一一相连接,这里的Metalness 是0,所以我们需要创建一个 solid color节点,将RGB值调节为0,与Metalness连接。
接着创建Mutation节点与生成的材质相连接,由此可以得到更多不同效果的苔藓材质。
这里我们发现得到材质中有许多白色的区域,为了去掉这些地方并智能的添入苔藓信息,这里我们需要创建Mask Paint节点,用BRUSH刷掉这些区域。如下所示:
经过计算后得到如下图所示的效果:
然后在这里加入Blend (Material By Height)将上次所得树皮与这次的苔藓材质通过高度进行融合。
FYI,具体参数调节如上图所示。
我们的树皮材质已经创作完毕,如果大家对ArtEngine感兴趣,欢迎参加后天(12月16日)在B站的课程直播,我为大家详细介绍这款好用的插件。
https://space.bilibili.com/386224375 (二维码自动识别)



发布于 12-14



评分

参与人数 1活跃度 +15 展开 理由
恋の雪 + 15 【点赞】这很有大网气质!

查看全部评分

天将雨 夜三思
使用道具 <
天下第一大气力  发表于 2020-12-30 11:17:49  
2#
好东西  学习了
回复 收起回复
使用道具
挚爱丿蓉儿  发表于 2021-3-8 10:48:55  
3#
插件呢~
回复 收起回复
使用道具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表