• Runtimes
  • 让SkeletonGraphic也支持用Controller控制

使用SkeletonGraphic创建的Spine在UICanvas上时,Unity的Controller无法控制Spine的动画切换,原因时组件本身不支持;想请问如何修改或者是否可以新增功能,让SkeletonGraphic支持SkeletonMecanim,或者支持Unity Mecanim的 Animator 组件,从而使用控制器(Controller)资产来控制动画,使得UI上的Spine动画切换也更为方便

Related Discussions
...

目前,SkeletonGraphic 组件不直接支持 Unity 的 Mecanim 系统,因此无法通过 Unity 的 Animator 控制器来切换动画。要实现这一点,您可以使用一个包装器,将 Mecanim 状态更改转发到 SkeletonGraphic。可以参考 Spine-unity 提供的示例场景 Spine Examples/Other Examples/StateMachine SkeletonAnimation/Mecanim Logic SkeletonAnimation View,该示例展示了如何从 Mecanim 控制器驱动 SkeletonAnimation 组件。您可以修改此示例以适用于 SkeletonGraphic,因为它们都包含相同的 SkeletonAnimationState 属性。

如果您需要完整的功能集,建议使用 SkeletonGraphicAnimationState API。另一种可能的解决方案是创建一个使用 SkeletonGraphic 的可视化(网格生成)代码的 SkeletonMecanim 变体。