网格绑定教程

January 21st, 2020

Spine中装配的许多角色在动画期间需要一些其他部分的图片,例如,增加视角或视觉效果。如果这些新的部分是网格,则很难将其绑定到骨骼并设置权重,这是因为需要它们的姿势处在动画中,而非装配姿势。本文将会详述如何做到这点!

动画模式绑定

考虑下这只鸟的翅膀:

为了给鸟儿增添视觉变化,我们想要有一个“翅膀扇动”的动画,向下和向上的翅膀使用不同的网格。我们不想给它增加额外的骨骼,这会使骨架显得杂乱,并且不易使两个网格的行为与同一个翅膀一致。而应让wing骨骼来控制两个网格。

鸟儿的装配姿势与上图左侧相似。向下翅膀与bodywing骨骼绑定。当wing骨骼上下移动时,网格会变形,看起来像翅膀在扇动。

向上的翅膀网格有点棘手:我们想要wing骨骼在做向下网格时控制向上网格的尖端,但是在装配姿势中,wing骨骼未放在向上网格的尖端。如果在装配姿势将向上网格绑定到wing骨骼,则会让控制该网格变难。

解决方法是在动画模式下绑定骨骼(注意,需要Spine 3.8.77或更高版本)。如果想要自己尝试,可下载此飞鸟项目。打开bird-before.spine并转到动画模式,将时间轴位置移动到第5帧,即wing骨骼在最高时。下一步,需要使用移动工具将向上的翅膀放到正确位置:

如果启用了自动关键帧,在动画模式下移动网格会创建一个变形关键帧,如上图。这没关系,后续步骤会解决。

下一步,在权重视图中点击绑定并选择bodywing骨骼。使用权重工具为wing最高2个顶点设置100%,为body最低2个顶点设置为100%:

完成后,两个翅膀网格都由wing骨骼控制,切换它们时就很容易控制:

如果在设置模式显示向上的翅膀,会发现看起来很怪:

原因是在动画模式中向上移动时它绑定到了wing骨骼,但是wing在装配姿势中向下移动。网格在装配模式中看起来奇怪是正常的,只要是用于动画中的姿势,而非装配姿势。

更新绑定

重要的部分是骨骼在绑定到网格时处于正确的位置,称为“绑定姿势”。当骨骼从绑定姿势移动时,网格将基于网格的顶点权重变形。我们来看看骨骼绑定到错误的姿势时会发生什么,以及如何修复。

重新开始bird-before.spine项目,但是此次在设置模式显示向上的翅膀并使用移动工具将其移动到位置。将其绑定到bodywing骨骼,然后显示向下的翅膀。

下一步转到动画模式并将时间轴位置移动到第5帧。向上翅膀仅随body骨骼移动,因为我们尚未设置wing骨骼的权重。但是,如果我们像前面那样设置权重,结果则不是我们想要的:

在调整权重时如果顶点移动,即表示骨骼移动了,因为骨骼与网格是绑定的。在此例中,wing骨骼从其绑定的位置向上移动了,所以顶点在加权到wing骨骼时也会向上移动。

在这种情形下,权重视图中的更新绑定按钮可以帮助!点击后,可使用当前骨骼位置和网格顶点位置重置骨骼的绑定姿势。之后,权重更改后,顶点就不会移动了。

返回到Spine中,在动画模式的第5帧,点击更新绑定,然后设置wing骨骼的权重。你会发现顶点不会动,如果我们在此位置绑定了骨骼,最终结果是一样的。

小贴士修正错误

你可能需要调整绑定到网格的骨骼姿势,而又不影响网格。要这样做,启用图像补偿并调整骨骼。

你可能需要重做网格的所有权重。要这样做,点击层级树底部的网格属性中的重置。这将删除所有权重并重置网格,这样它就不会变形了。如果想要保留当前的顶点位置,则可以删除权重视图中的骨骼,而非使用重置

创建一个动画,将绑定到网格的骨骼的绑定姿势设置关键帧是有所帮助的。这样可使你返回到绑定姿势添加新骨骼或重做一个网格的权重。在该飞鸟项目中,我们可以通过转到第5帧来这样做,然而这样做会容易忘记,稍后第5帧上的骨骼可能会被移动。

总结

绑定骨骼和设置权重可能有些困难,但却是个强大的功能。在动画中间显示不同的网格是很常见的,上述的工作流程让其更易实现。

希望这篇文章让你产生了一些兴趣,我们乐见大家在Spine论坛中继续讨论