网格绑定教程
January 21st, 2020
Spine中装配的许多角色在动画期间需要一些其他部分的图片,例如,增加视角或视觉效果。如果这些新的部分是网格,则很难将其绑定到骨骼并设置权重,这是因为需要它们的姿势处在动画中,而非装配姿势。本文将会详述如何做到这点!
动画模式绑定
考虑下这只鸟的翅膀:
为了给鸟儿增添视觉变化,我们想要有一个“翅膀扇动”的动画,向下和向上的翅膀使用不同的网格。我们不想给它增加额外的骨骼,这会使骨架显得杂乱,并且不易使两个网格的行为与同一个翅膀一致。而应让wing
骨骼来控制两个网格。
鸟儿的装配姿势与上图左侧相似。向下翅膀与body
和wing
骨骼绑定。当wing
骨骼上下移动时,网格会变形,看起来像翅膀在扇动。
向上的翅膀网格有点棘手:我们想要wing
骨骼在做向下网格时控制向上网格的尖端,但是在装配姿势中,wing
骨骼未放在向上网格的尖端。如果在装配姿势将向上网格绑定到wing
骨骼,则会让控制该网格变难。
解决方法是在动画模式下绑定骨骼(注意,需要Spine 3.8.77或更高版本)。如果想要自己尝试,可下载此飞鸟项目。打开bird-before.spine
并转到动画模式,将时间轴位置移动到第5帧,即wing
骨骼在最高时。下一步,需要使用移动
工具将向上的翅膀放到正确位置:
如果启用了自动关键帧
,在动画模式下移动网格会创建一个变形关键帧,如上图。这没关系,后续步骤会解决。
下一步,在权重
视图中点击绑定
并选择body
和wing
骨骼。使用权重
工具为wing
最高2个顶点设置100%,为body
最低2个顶点设置为100%:
完成后,两个翅膀网格都由wing
骨骼控制,切换它们时就很容易控制:
如果在设置模式显示向上的翅膀,会发现看起来很怪:
原因是在动画模式中向上移动时它绑定到了wing
骨骼,但是wing
在装配姿势中向下移动。网格在装配模式中看起来奇怪是正常的,只要是用于动画中的姿势,而非装配姿势。
更新绑定
重要的部分是骨骼在绑定到网格时处于正确的位置,称为“绑定姿势”。当骨骼从绑定姿势移动时,网格将基于网格的顶点权重变形。我们来看看骨骼绑定到错误的姿势时会发生什么,以及如何修复。
重新开始bird-before.spine
项目,但是此次在设置模式显示向上的翅膀并使用移动
工具将其移动到位置。将其绑定到body
和wing
骨骼,然后显示向下的翅膀。
下一步转到动画模式并将时间轴位置移动到第5帧。向上翅膀仅随body
骨骼移动,因为我们尚未设置wing
骨骼的权重。但是,如果我们像前面那样设置权重,结果则不是我们想要的:
在调整权重时如果顶点移动,即表示骨骼移动了,因为骨骼与网格是绑定的。在此例中,wing
骨骼从其绑定的位置向上移动了,所以顶点在加权到wing
骨骼时也会向上移动。
在这种情形下,权重
视图中的更新绑定
按钮可以帮助!点击后,可使用当前骨骼位置和网格顶点位置重置骨骼的绑定姿势。之后,权重更改后,顶点就不会移动了。
返回到Spine中,在动画模式的第5帧,点击更新绑定
,然后设置wing
骨骼的权重。你会发现顶点不会动,如果我们在此位置绑定了骨骼,最终结果是一样的。
小贴士修正错误
你可能需要调整绑定到网格的骨骼姿势,而又不影响网格。要这样做,启用图像补偿并调整骨骼。
你可能需要重做网格的所有权重。要这样做,点击层级树底部的网格属性中的重置
。这将删除所有权重并重置网格,这样它就不会变形了。如果想要保留当前的顶点位置,则可以删除权重
视图中的骨骼,而非使用重置
。
创建一个动画,将绑定到网格的骨骼的绑定姿势设置关键帧是有所帮助的。这样可使你返回到绑定姿势添加新骨骼或重做一个网格的权重。在该飞鸟项目中,我们可以通过转到第5帧来这样做,然而这样做会容易忘记,稍后第5帧上的骨骼可能会被移动。
总结
绑定骨骼和设置权重可能有些困难,但却是个强大的功能。在动画中间显示不同的网格是很常见的,上述的工作流程让其更易实现。
希望这篇文章让你产生了一些兴趣,我们乐见大家在Spine论坛中继续讨论。