薛山
方法一:传统的直观设计
最近可以说是动画电影大丰收,前有《马力欧》,后有《灌篮高手》,而作为一名游戏老玩家来说,水管工马力欧可以说是我最喜欢的角色之一,看完电影我就在想,如果我们能用Blender 来制作一个非常复杂的管道效果,是不是也算一种对经典游戏的致敬呢?在这种想法的驱使下,咱们就来试着做做看吧。
管道的设计其实就是一个可以变换方向的柱体,从传统设计思路来说,用曲线工具画一条曲线,再通过曲线的几何属性来添加倒角,就能得到一条管道的雏形了,如果想要在上面做一些效果,比如管道的出口要略向外挤出,就需要将它转换为网格,再选中想要的区域来进行挤出操作。
但这个方法的坏处是显而易见的,那就是一旦成型就无法再进行修改,没有任何“后悔药”,而如果你想要更进一步地为管道添加细节,比如赛博朋克风格的管道纹理,那就需要在加载表面细分或多分辨率修改器的情况下,进入雕刻模式来绘制,或者使用着色器的置换功能,结合现有的图像纹理在Cycles 渲染器下进行操作,总体来说虽然可行,但并不方便,所以最好的方法依然是使用几何节点。
方法二:纹理工具+几何节点
既然要做可调整且纹理复杂的管道模型,我们首先就需要制作想要的纹理图样,建议大家使用JSplacement 这款免费软件,它可以生成类似PCB 板的复杂纹理,将纹理保存到硬盘之后我们就可以开始Blender 的操作了。
首先是新建一条贝塞尔曲线,在它的几何节点编辑器里添加“曲线转网格”节点,并使用“曲线圆环”作为轮廓曲线,在线框模式下我们可以看到它的顶点分布情况,建议在“曲线转网格”之前再加一个“曲线重采样”,让这个管道柱体的顶点分布趋近于正方形,这样咱们在后续的操作里才会看上去比例正常。
接下来就是为它添加表面细分节点,这一步就是为了增加可操作的顶点数量, 然后我们就要做一个按照JSplacement 生成的纹理,来删除面和挤出面的复杂管道表面模型,但做这一步之前就需要解决一个问题——在几何节点状态下, 默认是没有UV 的,也就是说咱们的纹理图如果是直接放进来,也会因为没有UV 而无法定位坐标,自然无法起到我们想要的作用,所以这就涉及到本次教程最关键的一步:重设UV。
将纹理图拖到几何节点编辑器中, 为它的“ 矢量” 添加一个“ 合并XYZ”, 因为UV 其实就是沿X 和Y轴展开的一个二维面,换句话说就是找到管道的X 和Y 方向,就找到了它的UV,而管道的这两个方向其实很容易找,一个是咱们贝塞尔曲线的长度,另一个则是轮廓曲线,也就是曲线圆环的长度。
理清思路之后,我们就需要使用“捕捉属性”来捕捉贝塞尔曲线和曲线圆环长度值,也就是“样条线参数”的“长度”值,并将它们分别引入到图像纹理“合并XYZ”的X 和Y 上,这时候我们如果通过预览器来进行预览的话,就能看到纹理正确分布在管道上了。这里注意一定要用“长度”而不是“系数”,因为长度是一个固定值,图像纹理默认的的UV 拼接方式是“重复”,所以当我们在编辑模式下修改贝塞尔曲线时,已形成的区域会正常展现不受影响,如果选择“系数”则会拉伸纹理,效果并不相同。
在纹理已经正确使用之后,咱们就可以做很多个性化的操作了,比如结合纹理来删除或分离几何体,将一部分面删掉,再结合“挤出网格”来为表面添加细节,这些都可以结合图像纹理和颜色渐变来完成,只要表面细分的等级足够高,就能得到足够真实的效果,当然,如果你的效果图可以看到管道内部,记得把未挤出的原管道模型删除同样的面之后进行合并,这样就能得到一个视觉质感更出色的复杂管道了。
……
关注读览天下微信,
100万篇深度好文,
等你来看……