Spring Magic in Maya

Spring Magic for Maya is a script tool that can create dynamic bone chain animation.

Features:

Create waving, twisting, flexibility effect on bone chain

Create loop animation

Collision supporting

Work with existed animation controller

Wind effect

Special Thanks:

Benoit Degand, who help improved performance and re-constract script in a better way.

Latest Version: 3.7

Download Spring Magic 3.7 (for Maya2023+)

Download Spring Magic 3.5b (for All Maya)
( py3 Credit to “MCL” and “二次元bug” )

There is MotionBuilder Version Click Here

—————————–

Version History

v3.7

  • Even Faster with bug fix

v3.6

  • It’s lightning fast !!!

v3.5b

  • Fix bug that py3 cannot clean up constraints correctly

v3.5a

  • Fix bug tension calculation introduced in the 3.5 (Benoit Degand)
  • Fix bug inertia calculation introduced in the 3.5 (Benoit Degand)
  • Fix bug Shelf button error

v3.5

  • Add possiblity to cancel the operation (Esc) (Benoit Degand)
  • Increase speed x2 (Benoit Degand)
  • Fragment source code in several files (Benoit Degand)
  • Pose Match default off

v3.4b

  • fix collision bug
  • fix wind bug

v3.4

  • add plane collision
  • add pose match

v3.3

  • add inertia effect

v3.2

  • fix wind effect cannot set key issue
  • add warning for risky case, to avoid ” No valid objects supplied to ‘xform’ command” error

220 thoughts on “Spring Magic in Maya”

  1. 你好,为什么3.7版本不能直接选择控制器解算,会弹出这个警告(xxxxxxxxxx是所选控制器的项目资产层级)

    # Warning: Selection has a gap before |WearAssembly|xxxxxxxxx. Select the intermediate nodes.

    3.5b版本都可以直接选择控制器解算

      1. 项目文件不方便外发呢,后面有用其他绑定测试一下有问题再发你吧

  2. 为什么选择的控制器最后一个不会被解算,能不能加上这个最后一个控制器也解算

    1. Duplicate the end control, parent the duplicate to the original end control, and then use SM. This will animate the end control as well.

  3. 你好,Spring Magic – Maya 版安装的时候提示一下报错,请问怎么解决呢
    # 错误: ModuleNotFoundError: file C:\Users/92164/Documents/maya/scripts\springmagic\ui.py line 14: No module named ‘pymel’

  4. 严宾你好,我是一名maya动画,关于姿态拟合功能我想向你反馈一下使用中遇到的问题:
    通常动画师都是针对控制器来做动画,如果我在控制器上面做了想要的pose,这时候使用姿态拟合功能的话,出来的效果就是没有效果,硬邦邦的。如果我想要用这个功能,就必须绑定骨骼后,然后再在骨骼上做想要的中间帧,这样出来的效果才是正确的“姿态拟合”效果,但是K骨骼就不像控制器那样方便,而且还比较麻烦。
    不知道有没有描述清楚,期待回复

    1. 你好,你的描述的情况我可以理解,这个问题的点在于,用户控制器与骨骼的关联,是非常多样性的,可以父子约束,可以表达式,可以通过多层 group 嵌套,也可以通过其他插件来驱动
      而 spring magic 作为一个简单的脚本工具,如果要适配花样繁多的控制器关联方式,其工作量会超出我的维护精力,所以我选择了无脑的转化为,通过 bind 功能,生成额外骨骼来约束控制器的形式,以简化这一层复杂度,同时保证功能的可用性
      整件事情简单来说就是,直接支持控制器理论上可行,实际上我做不到

      1. 严宾你好,我感觉你没理解我的意思。
        我的意思是,在“姿态拟合”功能下,你额外生成的骨骼链并没有烘焙到控制器的动画,导致姿态拟合功能失败了,但是如果直接对骨骼链进行“姿态拟合”功能是完全没问题的!~(并不是吐槽spring magic 的计算流程)
        其次我非常认同你额外生成骨骼约束控制器的做法,这样是相当高效的方案!~

  5. # pymel.internal.apicache : Rebuilding the API Caches…
    modelingToolkit
    # Error: OSError: file C:\Program Files\Autodesk\Maya2026\Python\Lib\site-packages\pymel\internal\parsers.py line 801: Cannot find maya documentation. Expected to find it at C:\Program Files\Autodesk\Maya2026\docs\Maya2026\en_US

Leave a Reply

Your email address will not be published. Required fields are marked *