手持双手武器

November 22nd, 2019

final result

你是否有想过在Spine中创建一个装配,让角色不仅可以手持武器,还能根据需要扔出去?现在可以做到了!本文我们将解说如何逐步做到,介绍我们的教学小贴士之一。

本教程需要用到Spine专业版,因为我们将会使用IK约束变换约束来实现目标。

骨架设置

initial skeleton setup

从基本的身体装配开始,创建一个代表武器的骨骼。本文将略去图片和网格附件,这样更容易专注于骨架结构。

武器骨骼要能自由移动,就不能是身体骨骼的子级。其父级应设置为骨架的骨骼。

上图说明了初始设置,武器由名为weapon的绿色骨骼表示,身体其余部分则遵循标准的人形骨骼层级设置。

除了武器和身体骨骼外,我们还创建了名为hand-on-weapon-lhand-on-weapon-r的骨骼。这些将成为IK约束的目标,帮助我们保持双手装配在武器上。

约束设置

所有骨骼就位后,武器和身体在骨骼层级内是分开的,我们可以通过约束来连接两者。

创建IK约束

ik setup

首先,我们想让双臂跟随武器的左右手附件点。从左手开始选择两个手臂骨骼arm-l-uparm-l-down创建一个IK约束,以hand-on-weapon-l为目标。对右臂重复此操作。

双臂即会试着指向其各自的目标骨骼。为了在没有武器时更容易进行姿势和移动动画,我们会想要在设置模式下禁用此行为。对两个IK约束,将混合100改为0,这样手臂将会使用其原始姿势。

创建变换约束

transform setup

最后我们想要双手与武器旋转配合一致,就像实际拿着武器那样,而非跟随各自父级旋转。要做到这点,可选择hand-l创建一个新变换约束,以weapon骨骼作为目标。另一只手骨骼也要这样做。要让一切看起来正常,我们将偏移旋转设置为90。保持所有混合为0,这样在设置模式下手不会随武器而转,也更容易做出无武器时的移动和姿势动画。

创建跟随武器的动画

在创建手臂和手跟随武器的动画时,只需将IK混合设置为关键帧并将约束转换为100的值。这样,手和手臂就会跟随武器而动!

ik animate

transform animate

如果一切顺利,你的动画模式下的最后装配看起来应如此:

final skeleton setup

变化

可以使用一个变换约束将双手约束到武器上。一般而言,越少的约束越好,这样装配就更简单些。但是这样也有不便的地方,例如当角色只需要将一只手从武器拿开时。

不拿武器时,可以对角色双臂使用IK约束。这种情况下,这些IK约束的混合可设置为0,拿武器时的混合设置为100

总结

final result

角色可单手或双手持武器,扔武器,以及做出技巧性动作等等。由于可以打开或关闭,所以可为多种武器进行多个类似设置,如手枪、猎枪、机枪、矛等。可在动画中设置约束混合或在运行时用代码设置。

可在此处下载一个此设置的示例。

希望这个小设置对你的项目有用!欢迎您在forum发表评论。