SketchUp 导入 Substance Painter 流程概述

文/士严

使用软件:SketchUp,Substance Painter,V-Ray for SketchUp

编者按:非常感谢士严的投稿,在这篇文章中,他探讨了一个非常有潜力的工作流程,涉及到 SketchUp 四边面建模,展 UV,以及导入 Substance Painter 绘制并导出到 V-Ray for SketchUp 渲染的流程。这条路线跑通了,相信能给很多 SketchUp 玩家带来新的思路。

前记

这些年,PBR 工作流程越来越被大家熟知并接受,PBR 的全称是 Physically Based Rendering。当今走在 PBR 前沿的公司叫做 Allegorithmic,有超过85%的 3A 级游戏工作室使用该公司的软件。其服务的领域迅速扩散到了 CG、VFX 和 Animation,其中也包括了建筑可视化领域。

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

https://www.ronenbekerman.com/making-of-garden-loft/

https://www.allegorithmic.com/blog/how-pete-sekula-built-rome-almost-day-substance-designer

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

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

戴老师和你聊渲染:https://zhuanlan.zhihu.com/david

背景

本文是笔者对于 SketchUp 导入 Substance Painter 的一次尝试。

SketchUp 作为国内外知名的建筑表现入门软件,其优势在于建模迅速方便、默认显示效果直观。但是它是一个较为初级的 Mesh 建模软件,在谈 SketchUp 导入 Substance 流程之前,笔者希望先谈一谈 SketchUp 的劣势所在。

  1. SketchUp 没有原生四边面

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

    从下图就可以看到,SketchUp 模型导入 Blender 之后,它原本的拓扑结构是不合理的。


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

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

    在2016年,笔者闲逛 Sketchucation 时,有一个帖子吸引了我的注意(http://sketchucation.com/forums/viewtopic.php?f=15&t=63974),这个帖子的楼主无论如何都希望在 SketchUp 中展 UV,直接导入 Substance Painter,帖子下的很多人都说,这几乎是天方夜谭。没有人愿意相信 SketchUp 团队会重写他们的软件。该贴的楼主收到最多的建议还是将 SU 模型直接导入 3ds Max 或者 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(链接地址:https://github.com/thomthom/cities-skylines-sketchup-tools),但是它需要把模型全部炸开,实在是反人类……

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

尝试

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

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

    1.1 理解 SketchUp 中的伪四边面

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


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

    1.2 理解 SketchUp 中的 N-gon

    如上图所示,当一个面超过四个顶点时,这个面就称作 N-gon。在下文介绍的展 UV 流程中,N-gon 必须 Mark Seam(分缝),否则 N-gon 将不被 WrapR 所识别。

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

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

    (传送门:http://www.sublog.net/?s=QuadFaceTool)

    1.先拉一个方盒子

    2.在门窗的位置卡线

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

    4.使用Shell插件加厚四边面

    5.使用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日,大家赶紧去注册(这才是重点)。

    http://wrap-r.com/early-access.html

    下面要举的例子

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

    2.在组件中 Mark Seam

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

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


    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 贴图了。这时候就可以开始绘制你想要的贴图,绘制的过程此处不展开。建议大家上 aboutcg.com 搜索相关教程,讲得还是比较详细的。


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

  4. 导出贴图

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

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

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

    不要忘记在贴图大小中选择4K贴图,至于贴图导出是32位还是8位,笔者询问老韩,老韩表示他还没接触 Substance,不清楚,建议我询问更专业人士。为了避免 SketchUp 窗口出现恼人的UV 辅助贴图,笔者还是愉快地选择导出 8 位贴图。

    我说的辅助贴图就是这货。


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


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


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


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

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

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

    http://thearender.com/forum/viewtopic.php?f=17&p=128101#p128085

    因为本人实在是懒癌发作,不能安装个Thea给大家操作了,抱歉。

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

因为我也是 Substance 萌新,所以一些操作也许不正确,我非常需要大家指出我的错误,这样才能得到进步。

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

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

士严
2017.6.30

以下两个视频,详细地展示了本文涉及的内容,非常感谢士严的工作。

  • 本视频使用优酷提供的通用代码引入,可以支持PC和IOS设备,如果始终处于读取状态,请点击视频框右下角优酷图标回到视频原链接观看。

  • 本视频使用优酷提供的通用代码引入,可以支持PC和IOS设备,如果始终处于读取状态,请点击视频框右下角优酷图标回到视频原链接观看。

版权声明

本文由士严投稿于本站,转载之前请务必联系原作者(电子邮箱:249659466@qq.com)或站长:联系站长

欢迎您关注网站的微信公共平台,所有直播活动通知,教程更新信息,都会第一时间在微信公众平台推送:
扫描关注“韩的日志”微信订阅号

  • 请注意,为了保证我能看到所有留言的提示,留言将通过审核后才会显示,请不必重复留言。
韩世麟

韩世麟

站长,天津大学研究生毕业,天津人
存为书签: 本文的固定链接.

4 条评论

  1. 小伙伴们需要一篇关于lumion6.0的文章 😉

  2. 谢谢韩SIR的分享

  3. 所以这篇高技术含量的教程还有后续吗?期待作者的高模烘焙低模的研究结果,这样SU被人诟病的面数承载力不高的问题,也就不那么重要了

  4. 老韩,我的su2016的3dwarehouse打不开,有没有什么解决的办法?百度上该网址的方法用过了但是没用,很烦啊

发表评论