作者:林斯翰

特别感谢林思翰老师的投稿和对活力网的支持!真是一颗特别的心。这是不能错过的技术科普帖子!

电力

过去两年流行的PBR pipeline在CG界掀起了狂潮。PBR的全称是基于物理的渲染。

当今走在PBR前沿的公司叫做Allegorithmic,有超过85%的3A级游戏工作室使用该公司的软件。其服务的领域迅速扩散到了CG、VFX和Animation,其中也包括了建筑可视化领域。

对于建筑可视化领域,建议大家认真看一看以下链接:

这个公司旗下的三款软件Substance Painter、Substance Designer、Bitmap2Material,这三款软件组成了制作材质、绘制贴图、导出贴图的整个流程。整个工作流程十分直观,制作的成果可以直接导入游戏引擎(Unity、Unreal)、DCC Tool(3dsmax、Maya、Modo等等)、支持各大渲染引擎(Octane Render、Iray、V-ray、Corona、Redshift、Arnold)

想要对Substance有更多了解的同学,可以点击以下传送门:

戴老师和你聊渲染:

背景

本文是在下对于Sketchup导入Substance Painter的一次尝试

Sketchup作为国内外知名的Archviz Toy,其优势在于建模迅速、显示效果好。但是请不要忘记它同时是一个粗陋的Mesh建模软件,在谈Sketchup导入Substance流程之前,在下希望先谈一谈Sketchup的劣势所在。

1.Sketchup没有原生四边面

Sketchup的优点是软件使用者与模型几乎没有障碍的接触,你可以随意的推拉面,随意的在面上开洞。而这些便利都是牺牲合理的面拓扑结构导致的。

从下图就可以看到,Sketchup模型导入Blender之后,它原本的不堪入目。

在Sketchup中可以实现四边面建模,只能依靠插件实现。

2.Sketchup没有原生的展UV工具

在2016年,本人闲逛Sketchucation时,有一个帖子吸引了我的注意(;t=63974),这个帖子的楼主无论如何都希望在Sketchup中展UV,直接导入Substance Painter,帖子下的很多人都说,这几乎是天方夜谭。没有人愿意相信Sketchup团队会重写他们的软件。该帖的楼主收到最多的建议还是将SU模型直接导入3dsmax或者Blender等专业的软件对面进行重新拓扑,他们有更好的展UV工具。

有必要提醒的是,Sketchup中其实是存在有力的贴图插件的,包括了Thrupaint、SketchUV等等。

3.Sketchup的FBX导出工具并不能导出符合Substance支持的数据结构

在下曾经尝试了很多回,希望能找到符合数据结构要求的FBX导出插件,但是以失败告终。

以上图片是本人通过Entity Info对各个模型的后缀进行命名,使其符合Substance Painter对高模和底模的后缀名的要求

以上是当Match选项为By Mesh Name时,Substance Painter要求的Suffix,只有当后缀名完全符合时,Substance Painter才能够正确的烘焙法线贴图。

以上是Sketchup导出的FBX模型数据结构,在下虽然是Grasshopper的初级玩家,但也能发现这不是Flat的数据结构。目前,能够导出完全Flat的FBX模型插件貌似是前几年ThomThom弃坑多年的City Skyline(链接地址:)

总之,这也是我这些日子的实验里感觉最糟心的地方,因为Sketchup历来有承载力不高的问题,用高模烘焙的法线贴图可以供低模使用,这能有效解决内存不足的问题,明显是代理物体外另一个黑科技。

尝试

1.如何在Sketchup中四边面建模

提醒:这种工作方式是比较反人类的,折中的工作方式会在后文提到。

1.1 理解Sketchup中的伪四边面

Sketchup并没有对四边面有任何定义,插件开发者们达成了一个共识,当两个三角面(Triangle)共有一条线,且这条线是柔化(soft)且平滑(smooth)的,而且Cast Shadow是关掉的。

如上图所示,当满足以上条件时,这两个三角形组成了一个四边面。

1.2 理解Sketchup中的N-gon

如上图所示,当一个面超过四个顶点时,这个面就称作N-gon。在下文介绍的展UV流程中,N-gon必须Mark Seam。

1.3 普通的方盒子模型,应该如何通过四边面的方式建模?

以下方法基于Sketchup插件QuadFaceTool进行介绍

(传送门:)

1.31 先拉一个方盒子

1.32 在门窗的位置卡线

1.33 删掉开窗及门的位置,把楼板、墙分开打组

1.34 使用Shell插件加厚四边面

1.35 使用Mesh analysis工具进行四边面检查

在QuadFaceTool自带的Mesh Analysis中,绿色代表Quad(四边面)、红色代表N-gon、紫色代表Triangle(三角面)

2.Sketchup的展UV插件WrapR介绍

Substance Painter本质上是在模型Bake出的UVmap上绘制贴图。Sketchup对于Substance Painter而言无疑是最糟糕的DCC Tool,它所导出的模型自带的贴图信息混乱,可操作性低。

那么Sketchup模型能否导入Substance Painter,就取决于它能否UnwrapUV。自从去年开始,Sketchup的插件开发者开始研发UVunwrap插件Wrap-R。2017年2月份开始Wrap-R开始全民公测,公测开放注册时间截止到7月31日,大家赶紧去注册(这才是重点)。

下面要举的例子

2.1 将需要展UV的各个部分打组(Component),并赋予材质,要注意一个组件里只能有一种材质。

2.2 在组件中Mark Seam

Mark Seam俗称分缝,是UVunwrap最关键的一步。不管是各位看官或者是在下,肯定有不少人对这个概念了解较少。UVunwrap作为一个黑暗的艺术,往往要花上一年的时间才能了解和掌握它。学习它最好的方法就是去找3dsmax或者Maya的视频去学习。这里只举一个比较形象的例子:一个六面体,你至少要剪7刀才能把它展平,以下是分缝的结果,可以看到Barrel(铁桶)的分缝原则是把N-gon和其他四边面分开,让它成为UV Island,中间那一刀是为了让圆柱体能够展开。

万事具备之后,大家就可以点击左边的Send to Wrap-R

2.3 Wrap-R界面介绍

在Wrap-R的界面中,所有的操作都跟Sketchup一样,可以说这款插件是真正为Sketchup玩家设计的。

界面的左边为模型空间(Physical Space),右边为UV空间(UV space)。右边视图里的展UV情况会实时反馈在左边的模型空间中。

以上是界面工具的翻译,要注意的是这些都不必用鼠标去操作,插件作者贴心的放出了每个工具的快捷键。

以下就是展UV的结果啦

Barrel(铁桶)的UV展开图,本人手动把点打平,表示已经累瘫。。。毕竟这还是一个WIP插件,要注意的是,里头有快捷键,大家要善用呀。

墙身和地面的UV展开图,表示浪费了一大片面积。。

在编辑器里点击保存UV,然后在Sketchup里选择相应模型,然后右击菜单–>WrapR–>Reload from WrapR

把模型Reload完成之后就可以导出FBX,然后导入Substance Painter了,但是导出FBX之前还需要一些准备工作。

在模型导出之前,如果不三角化(Triangulate)四边面,最后就会出现如上图的结果,160个Texture可以得知UV信息此时是不正确的,模型无法导入Substance Painter。

要三角化四边面,需要用到QuadFaceTool中的Triangulate

位置如上所示

这样才是正确的结果

3.导入Substance Painter

如上图所示,开一个新的项目文件。使用PBR–Metalic Roughness流程,预览贴图大小2K。

第一件事情就是烘焙additional map,在这里无需勾选Thickness和ID贴图,需要注意的是烘焙贴图的大小也选择2K。最后选择Bake all texture set

烘焙完的所有贴图都会体现在模型空间里,可以看到模型的边角勒了一层淡淡的黑边,这就是烘焙出的AO贴图了。这时候就可以开始绘制你想要的贴图了,此处不展开。建议大家上abou搜索相关教程,讲得还是比较详细的。

这是在Substance Painter绘制出来的结果,我的水平还是比较糙的,大家勉强看一看吧。

4.导出贴图

在键盘上按Ctrl+Shift+E会弹出导出贴图窗口

因为本人是Vray for Sketchup用户,所以本人选择了Vray预设,可以看到它每个texture set都会导出Diffuse、Reflection、Glossness、IOR、Height、Normal贴图,符合VrayMtl的材质设定。需要注意的是,我们开头选择的Metalic-Roughness 与VrayMtl是两种不同的概念,具体有什么不一样,推荐大家看戴巍的:

Vray for Sketchup 3.4.04目前无法完全还原Substance Painter中的材质效果,因为在原本的剧情设定中,Vray 3.4的内核的Vraymtl并没有Glossy Fresnel这个选项,一切都要等到Vray 3.5 for Sketchup。

不要忘记在贴图大小中选择4K贴图,至于贴图导出是32位还是8位,本人询问韩神表示不大清楚,因为32位是走影视流程的。为了避免Sketchup窗口出现恼人的UV辅助贴图,所以本人还是愉快地选择导出8位贴图。

我说的辅助贴图就是这货

最后导出来了22张4K贴图,一共103m

8位贴图链接进材质之后,Sketchup视窗里头的效果。本人本来担心,22张4K贴图,Sketchup的内存肯定会爆掉。。但是当我打开交互式渲染,贴图慢慢载入之后,发现情况并没有想得那么糟糕。

当交互式渲染打开的时候,同时打开浏览器、Substance Painter,占用的内存是17G,在32G内存日渐普及的今天,相信这还是一个Hold住的水平,特别是Sketchup没有崩溃,这是难能可贵的。

最后渲染一张2K的图,作为这几天试验的一次总结吧。

需要注意的是,需要大家非常注意的是

Thea Render for Sketchup 中集成了Substance Material Converter ,可以直接将Metalic Roughness等贴图转化为Thea 中的材质,具体请点击传送门:;p=128101#p128085

非常感谢阿祥让我下定决心把这个流程写下来、分享出来

写完这篇文章,在下也要踏上学犀牛的艰难旅途了,May the force be with you.

突然想起前文还提到了有一个折中的办法,那就是抄起3dsmax就是干了。。本人将来有机会一定会填下一个坑的,大家下次再见了。


后记

对于文中所提到的Thea Render 、Rhino(犀牛)软件,感兴趣的朋友可以上活力网了解相关课程:;id=344

对于Rhino(犀牛)、SketchuUp、VRay3.4等相关软件的下载地址:;id=317

相关推荐