在Spine里做蒙皮,很多问题不是权重工具不会用,而是网格、绑定时机和骨骼姿态没放在一条线上。表面看是边缘被拉扯,实际常常是权重分配、顶点布置和绑定姿态一起出了偏差。Spine官方文档写得很清楚,权重本质上就是把网格顶点绑定给骨骼,让骨骼变换时顶点跟着变形;第一次绑定时,软件会自动计算一版初始权重,后面再用【Weights】工具手动细调。
一、Spine蒙皮权重怎么调整
先把顺序做对,比一上来反复刷权重更重要。更稳的做法是,先绑骨,再测弯曲,再补权重,而不是先把骨骼摆来摆去。Spine官方说明里提到,进入【Weights】视图后,可以先用【Bind】把骨骼和网格绑定起来,第一次绑定时会自动生成权重;之后再选中要增减影响的骨骼和顶点,在视口里拖动调整。
1、先在【Weights】里完成绑定
如果网格还没和骨骼真正绑定,后面就谈不上调权重。最直接的做法,就是先选网格再点【Bind】,或者先选骨骼再点【Bind】,把两边关系先建起来。
2、调权重时先选骨,再选点
Spine的权重工具不是随手刷哪里都行。官方说明里写得很明白,要先选中会增加或减少影响的骨骼,再对选中的顶点拖动修改,这样每个点受哪些骨骼影响才会清楚。
3、先开颜色覆盖看权重分布
【Overlay】可以把网格直接填成各骨骼的权重颜色,【Pies】可以在顶点上显示权重饼图。实际调整时,先看颜色分布再下手,通常比只凭肉眼拖来得稳。
4、骨骼姿态改过以后,用【Update】重绑一次
这是最容易漏的一步。Spine官方明确写到,骨骼在绑定之后如果又被移动或旋转,再去改权重时,顶点位置可能会跟着乱跑;【Update】的作用,就是按当前骨骼姿态重新记录绑定位置。
二、Spine蒙皮边缘为什么总是拉扯
边缘总被拉扯,很多时候不是你手刷得不够细,而是这类变形本身就有技术边界。Spine官方论坛提到,Spine用的是linear blend skinning,这种方式运算快,但在大角度弯折时并不擅长保持体积,所以关节边缘、尖角边缘和贴图外轮廓,本来就是最容易被拉坏的位置。
1、关节弯折太狠,边缘最先出问题
像手肘、膝盖、尾巴这类弯曲范围很大的地方,边缘贴图会被多个骨骼一起拉。弯得越狠,边缘越容易被抻薄或挤皱。这个现象和Spine使用的线性混合蒙皮机制有关。
2、绑定姿态不对,后面越调越乱
Spine官方博客专门提醒过,新手常见错误就是先把骨骼挪开去绑定,再把骨骼挪回原位。这样一来,后面每次改权重,顶点都可能出现额外位移,看起来就像边缘莫名被扯走。
3、网格顶点太少,边缘没有缓冲带
Spine的网格靠顶点去承接变形。官方关于网格和顶点布局的说明虽然没有直接说“顶点少一定拉扯”,但从网格变形和顶点布置的原理看,边缘附近如果没有足够的过渡点,变形就更容易集中在少数几个点上,贴图自然会被拉得更明显。这是基于官方网格与顶点布置说明做出的直接判断。
4、外轮廓被一起拖动,边线更容易变形
【Mesh Tools】里的软选择本来是为了让顶点变换更平滑,但官方也说明,只有在关闭【Hull vertices】时,外轮廓才不会被软选择一起带走。也就是说,如果你在修内部形体时把外轮廓也顺手拖变了,边缘拉扯感会更重。
三、Spine里怎么把边缘拉扯降下来
真要把问题压下去,重点不是死磕某一个顶点,而是把绑定姿态、顶点布置和权重过渡一起收顺。前面几层理顺了,边缘问题通常会明显减轻。
1、先用接近中间形态的姿态去绑定
官方博客举过尾巴的例子,弯曲范围大的部位,最好不要用极端直或极端弯的姿态去做绑定,而是用更居中的形态去承接两边变形。
2、在关节附近补过渡顶点
边缘容易扯的地方,不要只留大块面。关节附近多留一点过渡顶点,权重变化会更平缓,贴图不容易一下子被拽变形。这是基于Spine官方对网格变形和顶点布局的说明得出的实操做法。
3、改完骨骼姿态再按【Update】
只要setup姿态被改过,后面修权重前就最好先做一次【Update】。这一步看着不起眼,实际上很能减少“我只是调权重,为什么边缘位置也跟着跑”的情况。
4、修内部体积时别把外轮廓一起拖坏
如果只是想修关节内部的鼓包和压扁,可以利用软选择,但尽量别让hull顶点一起被拖动。这样外边线会稳很多。
总结
Spine蒙皮权重怎么调整,核心不是只会刷权重,而是先绑定、再测试、后细修,骨骼姿态改过以后记得用【Update】重绑。Spine蒙皮边缘为什么总是拉扯,常见原因也不只是权重本身,还包括线性混合蒙皮在大弯折下的天然局限、绑定姿态不对、关节附近顶点过少,以及外轮廓被一起拖坏。把这几层一起收顺,边缘问题通常会比单纯反复抹权重好处理得多。
