资源
我通过收集Google,Pinterest和Youtube上的参考资料开始了我的项目。采用拼图软件,把图片整合在一起,在制作的时候给从中获取制作灵感和参考。
雕刻
我用ZBrush来雕刻主体。我保持细分,因为我希望从远处读取形状。我经常缩小到很远,以检查我的模型。网格经历了多次迭代,直到我得到满意的结果。您还可以使用ZBrush的“透视模式”,并将您的雕刻与Sketchfab上的3D扫描进行比较。
确保牙齿和根部尺寸正确,因为观察者可以轻松判断比例是否已关闭。我在很长一段时间内保持低细分水平。我从事个人项目的时间越长,就越了解这种习惯的重要性。
提示:使用轮廓着色器或黑色材质不断检查轮廓。
我使用ZBrush中的转置线来测量每颗牙齿并将其调整到正确的尺寸。由于有些人在与ZBrush单位斗争,这是一个指令:
在场景中附加一个单元帮助器,将其移至3D软件,将其缩放至10mm,然后将其重新调整为ZBrush。
现在将TransposeLine从一个立方体侧拖到另一个立方体,并将Scale设置为1Unit。您现在可以使用读取精确值的TransposeLine
我分别雕刻每颗牙齿,因为这样可以完全控制Toolbag或SubstancePainter中的烘烤。如果您需要修改牙齿,保持每个子工具分开可以保持灵活性。当我了解人类牙齿实际上是多么复杂时,这种方法保证我可以听取其他艺术家的反馈并轻松解决形状问题。第一遍有一些夸张的细节,有些遗漏:
提示:由于细分的性质,当您切换回SD级别1时,网格会缩小。这会导致不良影响,因为我的牙齿,牙龈和混合网格必须完美排列。我写了一个宏脚本,在每个细分命令之前存储了网格的morphtarget并恢复了它的初始卷。
我使用这个宏脚本作为我的主细分命令设置为CTRL+D. 您可以在此处下载脚本。
在完成基础雕刻之后,就可以考虑拓扑了。良好的拓扑结构可以支持您的雕刻,镜面反射流和动画。
牙齿和牙龈的清洁多流将有助于混合网覆盖所有复杂的形状。
您总是必须在低多边形数与支撑边之间做出妥协。我的目标是在第一个SD级别上清洁牙齿轮廓:
当我完成拓扑和雕刻后,我将抽取的网格导入MarmosetToolbag。这有助于在不同的照明场景下全面了解模型的外观。
尽早使用Toolbag或Keyshot找到您在细节阶段忽略的区域。看到一些结果也有助于保持正轨。
知道我想在实时环境中展示模型,我建立了一个过渡网格,将牙齿与牙龈混合。否则,屏幕空间次表面散射会产生严重的过渡。我将介绍如何提高此blendmesh的细节级别。
在ZBrush中,您可以在腔区域绘制细管以表示唾液沉积。我们将仅用于烘焙目的。通过这种方式,您可以使用贴合的凹形混合网格以及类似凸形的法线贴图。它将在您的实时渲染器中获得回报,因为您将在凹陷区域获得漂亮的镜像,如下所示:
UV展开
您可以将网格导入3dsMax或类似的软件解决方案,以进行展开和纹理布局。我想保留UDIM布局,以便在不同平台上拥有生产就绪模型。我将我的子工具转到3dsMax来设置我的切割接缝,然后是“快速剥离”和包装操作。然后我回到ZBrush使用其强大的unwrapper(“使用现有的似乎”)。如果要从ZBrush导出置换贴图,这一点至关重要。
纹理绘画和位移
解开后,您可以将模型加载到SubstancePainter中以放下一些油漆。
反照率
我喜欢使用程序和手绘面具来创建反照率地图。投射交叉偏振的照片看起来很诱人但是当你想为另一个项目改变静脉或血管时会限制你。您还可以通过自己制作材料来学习很多关于颜色值和组织层的知识。它可能不是完美的反照率,但从长远来看会得到回报。
我的Shader在早期阶段一直在运行Toolbag。由于牙龈的反射性质掩盖了反照率信息,我夸大了颜色:
粗糙度
为了获得Toolbag中湿表面的感觉,我创作了粗糙度图。它将许多非常细微的变化融入到不同的层中。我来回走了一段时间才得到我想要的结果。牙龈的外观有很多变化,因此检查参考非常重要。
我对大多数凹陷区域(如毛孔)使用稍微更强的粗糙度值,但排除了您发现较低粗糙度值的牙齿腔。因为我收到了一些新的反馈,所以在写这篇文章的时候我一直在调整它。我喜欢完成项目,但是自我批评和开放思想对提高你的技能至关重要。
提示:在所有纹理集上创建深灰色,并将其blendmode设置为“替换”,以便在不同光照条件下立即检查粗糙度图行为。
blendmesh的不透明度
首先为此纹理集选择单独的着色器。使用“metal/rough-with-alpha-test”着色器,您将获得完美的效果。将“皮肤着色器”应用于其他纹理集。
将不透明度通道添加到“纹理集设置”,并在图层堆栈的底部创建一个填充图层,中性法线和不透明度信息设置为零。
现在,您可以开始在顶部绘制不透明蒙版(我使用红色进行视觉反馈)。
花了一些时间才能获得完美的结果,但是通过这个阶段会降低渲染的整体质量。
提示:您可以通过纹理设置菜单导出蒙版,或者只需按蒙版叠加上的RMB并选择“将蒙版导出到文件”。
移位
我从ZBrush导出了置换贴图。
它有一个简洁的功能,可以分析您的子阵列并调高置换贴图,以涵盖所有高值和低值。我使用MultiMapExporter将单独的子工具合并到它们的相关UVtile中,并使用以下设置:
着色器
在MarmosetToolbag中,我为每个纹理集创建了一个着色器。这使我可以为舌头,牙齿和牙龈使用不同的着色器设置。
在设置SSS着色器和位移之前,将场景比例设置为正确的值非常重要。Toolbag提供了“Scale”和“Scale-Center”滑块,我用它们来强调位移效果:
提示:快捷键STRG+SHIFT+J激活SpeedyViewport,关闭要求的计算。
牙齿着色器
Toolbag有一个漂亮的地下着色器,如果你用好的地图支持它,它可以给你很好的结果。我使用了一个细节法线贴图来为我的烘焙法线贴图添加更多变化。牙齿本质上具有半透明的感觉,良好的半透明贴图有助于实现这种效果。我在SubstancePainter中烘焙了厚度图,并根据我的需要对其进行了修改。
这是我的牙齿着色器设置:
着色模型
我想牙齿着色器中最重要的是我设置为“Refractive”的反射率模型。折射率决定了进入材料时光的路径弯曲或折射的程度。让您的材料看起来正确至关重要。经过一些研究,我发现牙本质的IOR为1.540。
为了强调凹陷区域中的较低反射值,我在着色器中添加了腔图,并将“镜面腔”滑块设置为0.4。我将漫反射腔滑块归零,因为我的Albedo地图已经在腔体中嵌入了红色填充物。
折射和镜面反射模型之间的比较:
Shader