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.5a

Download Spring Magic 3.5a

Download Spring Magic 3.5a Python 3 
( For Maya 2022+, Credit to “MCL” and “二次元bug” )

There is MotionBuilder Version Click Here

Version History

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

194 thoughts on “Spring Magic in Maya”

  1. 白老师你好,用了您的插件Spring Magic – Maya 版1年,感觉非常优秀,不过我和我身边的Maya同学目前遇到些困难始终困扰着我们,看看是否能解决。在我们完成一个飘带文件时,比如100帧的完成文件(控制器烘焙完),到了后期需要优化中间30-60帧的飘带,只重新计算这分部就需要把整条控制器动画全部删除重新绑定计算,这样就失去了30-60帧之外的完成动画。在控制器烘焙完成的情况,能否加上局部解算,保留其它控制器的段落动画的功能,这样就能保留好其它的完成动画效果,这会大大提高工作效率!

    1. 最早的时候是可以只计算局部的,后来好像是因为和 pose match 功能冲突了还是什么其他原因,才改成现在这样的
      两个方案,一是可以尝试去掉 pose match 的勾,看看行为是不是有变化,二是借助第三方工具,先把其他需要的帧复制或者迁移到其他物体,计算后再 copy 回来

  2. 大佬您好,我在计算裙摆的时候如果不使用碰撞就能正常计算,但是一启用碰撞就提示’NoneType’ object has no attribute ‘vtx’,请问该怎么解决呢

  3. 大佬,我是2020的maya安装3.5a的飘带插件,报错是# 错误: ImportError: file C:/Users/yhy4eve/Documents/maya/scripts\springmagic\ui.py line 5: No module named request
    这个有什么解决办法吗

  4. I use Maya 2025. I followed the instructions, checked the folder again….
    When entering the script below:

    import springmagic
    springmagic.main()

    , I get this message:

    # Error: ModuleNotFoundError: file C:\Users/Admin/Documents/maya/scripts\springmagic\ui.py line 14: No module named ‘pymel’

    please help .-.

  5. 您好
    最近第一次碰上SPRING MAGIC BAKE 的問題~
    我是用MAYA 2023.3
    想請問一下解決方法
    scripts\springmagic\core.py line 530: list index out of

    謝謝

  6. 安装后显示的是英文,请问这个在哪调,可能因为分辨率原因,名称和数字都显示不全,虽说也能用吧,但是看的很难受~

  7. 大佬好,我用的是maya2024,装得是3.5a,python3版,也在bin目录下安装了pymel,但是运行的时候还是报错如下:
    import springmagic
    springmagic.main()
    # pymel.internal.apicache : Rebuilding the API Caches… #
    modelingToolkit
    # Warning: No initializePlugin() function
    #
    # Error: (pyside2-rcc-script) #
    # Warning: No initializePlugin() function
    #
    # Error: (pyside2-uic-script) #
    # Warning: No initializePlugin() function
    #
    # Error: (shiboken_tool) #
    # Warning: No initializePlugin() function
    #
    # Error: (pyside_tool) #
    updateRenderOverride;
    // cgfxShader 4.5 for Maya 202402.0 (Oct 18 2023) //
    // AbcBullet v1.0 using Alembic 1.8.3 (built Oct 18 2023 13:02:50) //
    updateRendererUI;
    +++++++ Turtle for Maya registered successfully ++++++
    # Warning: No initializePlugin() function
    #
    # Error: (precompTemplate) #
    # Error: OSError: file C:\Users\DELL\AppData\Roaming\Python\Python310\site-packages\pymel\internal\parsers.py line 801: Cannot find maya documentation. Expected to find it at C:\Program Files\Autodesk\Maya2024\docs\Maya2024\en_US #
    updateRendererUI;
    不知道是我操作没到位呢,还是目前这个版本对maya2024还不兼容呢~

    1. 啊,大佬,你把我的评论删掉吧,问题我已经解决了,是我安装的pymel版本太低导致的,我重新手动安装了pymel1.4.0 后就能正常启动了。^_^

  8. 这个错误要怎么解决呢.跪求帮忙.
    # 错误: ModuleNotFoundError: file C:\Users/Administrator/Documents/maya/2023/zh_CN/scripts\springmagic\ui.py line 9: No module named ‘pymel’

    1. 1.win+r 打开运行框,输入cmd;

      2.在黑窗口中输入”cd maya安装目录的bin文件夹”;
      例如:
      【cd C:\Program Files\Autodesk\Maya2022\bin】

      3.输入”mayapy -m pip list“;查询是否有pymel插件;

      4.如果没有看到pymel字符,电脑联网后,
      输入mayapy -m pip install pymel~=1.3.0a

      5.等待自动下载安装完成后,再输入”mayapy -m pip list”查询

      6.没成功继续安装pymel插件,成功了可以关掉窗口.在maya中安装插件

      查询和安装pymel的两行代码:
      mayapy -m pip list (查询)
      mayapy -m pip install pymel~=1.3.0a (下载安装)

  9. Error: RuntimeError: file C:\Program Files\Autodesk\Maya2018\Python\lib\site-packages\pymel\internal\pmcmds.py line 134: Objects with existing connections cannot be constrained when the animation blending preference is off. 同样操作其他同事电脑没问题。 就我这台不行提示这个,是和玛雅别的查件哪里有冲突?

  10. Hello! Thank you for your work, it’s really helpful.
    I encountered an error related to some python code that I don’t understand.

    – I load the script
    – I select some bones
    – I clic apply
    – The tool goes through the timeline but no spring happens and no keys are places
    – I get the following error :
    # Error: TypeError: file C:\Program Files\Autodesk\Maya2019\Python\lib\site-packages\pymel\internal\pmcmds.py line 134: Not enough objects for this command (expected at least 1). #
    – The loading bar stays stuck at 100% and the apply button is stuck in a “grayed-out” state

    Could you please help?

    1. Hollow, bro. maby I kown your question.
      -First, Animating the Root Bone
      – And then, Select the bones you want to move, except for the root bones.
      – tips,For example, select the second bone, click the right mouse button, and then select Layers

      Bless you have a good day.

  11. # 错误: NameError: file line 1399: global name ‘i’ is not defined
    3.4版本报错 触发场景 绑定控制器后添加风场会有报错 不加风就没有

      1. # 错误: TypeError: file C:\Program Files\Autodesk\Maya2018\Python\lib\site-packages\pymel\internal\pmcmds.py line 134: 此命令没有足够的对象(至少应有 1 个)。
        我用的3.5a 出错了,求大神帮助…

  12. 您好,想问一下末端骨骼解算出来没有动画要怎么解决,我这现在是 有些头发上面只有两个控制器,一个根部,一个末端,绑定完后单独选择末端骨骼计算出来是没有动画的。这种情况要怎么办呢?

  13. 你好大佬,有个疑问请教一下,我把其他软件绑定好的怪兽翅膀,做好了动画的文件,翅膀控制器加绑定的时候会有错误,那么我改用最笨的方法,直接把翅膀的骨骼断开约束的链接,直接选那些骨骼去计算动画,而算出的动画却是非常大角度的乱转,这是为什么呢?为什么我手动新建骨骼就没问题,我也查看了翅膀的骨骼,初始旋转值都是0的,却无法正确计算。

    1. 我试出骨骼的问题了,就是我如果先建立了左侧的骨骼链,再用镜像命令,镜像出右侧的骨骼链,那么左侧是可以正常计算的,但是右侧就无法正常计算,大佬有解决办法吗

      1. 如果你稍微动动手,翻翻楼下其他人的问题就会发现大家都在反复讨论这个同样的问题
        因为计算只支持 +X 轴指向子骨骼的骨骼链,镜像后是 -X 轴指向子骨骼,需要调整 Maya 的镜像设置

  14. 不好意思,我这边碰撞功能始终不能用,应该是什么问题? 或者可能是哪些节点的问题?我自己去研究一下,可不可以给我一些提示?我用的是Maya 2018 SP6

    1. 如果你指的不能用是说场景里按照教程视频那样有类似的骨骼和胶囊体,但碰撞后没有任何报错,只是胶囊提穿过骨骼,无事发生的话,可能是因为骨骼链没动的缘故,可以给需要被碰撞的骨骼链一个小的移动,再做测试

  15. hello,请问一下,我在骨骼计算完成之后,没有点烘焙,然后直接把骨骼隐藏了,之后点了控制器进行烘焙,当我再次对这几个控制器进行绑定计算的时候出现下面这种警告,无法进行下一步# Warning: Tauren_sample:fk_pifeng_l_01_anim_SpringProxy|Tauren_sample:fk_pifeng_l_02_anim_SpringProxy|Tauren_sample:fk_pifeng_l_03_anim_SpringProxy has duplicate name objcet! Stopped! # ;请问知道该如何处理吗

  16. hi,你好,我发现我在结算的时候,maya会闪退,每次在24帧的时候都会闪退,请问知道是怎么回事吗?是不是我的文件太过庞大,我也是使用ARTV1搭建的骨骼,除了基本骨骼外有将近40-50根骨骼。

  17. # Error: RuntimeError: file I:\maya2018\Maya2018\Python\lib\site-packages\pymel\internal\pmcmds.py line 134: Objects with existing connections cannot be constrained when the animation blending preference is off.
    Spring Magic – Maya 版,绑定完之后点计算会报这个错是什么问题?请教下大佬有办法解决吗

    1. 因为你的控制器已经被其他物体约束了,所以产生这个报错
      Spring Magic 的“绑定”功能,只能对没有受到任何额外约束的控制器生效

  18. 不好意思,前面发错地方了。
    大佬,是这样的。不知道是不是Maya版本问题。
    Maya2018使用过程中,创建碰撞体会报错# 警告: pymel.core.general : Could not create desired MFn. Defaulting to MFnDagNode.场景中无法看见碰撞体,创建风场也看不见,不过好在风场看不到也能产生效果。
    比较麻烦的是碰撞体看不见就没法确定体积了 T_T

  19. Hellow.
    this is nice scripts!

    I am using v3.2 with maya2019, but v3.5a gives an error.

    # Error: ImportError: file C:\Users\〇〇\Documents\maya\2019\scripts\ springMagic.py line 14: No module named springmagic #

    Can I use the same command as “HowToInstall.txt”?

  20. 大佬为什么我点击计算后,运算到100%出现错误:# 错误: TypeError: file D:\Program Files (x86)\Autodesk\Maya2020\Python\lib\site-packages\pymel\internal\pmcmds.py line 130: 此命令没有足够的对象(至少应有 1 个)。 #

  21. 大佬,集成到blender里面去好吗?这软件好说也是开源的用的,blender工能越来越强大的将来肯定是一个好苗子。感谢大佬了。

  22. 您好 ,我想问一下在使用Spring Magic 3.1 maya 解算飘带后,C盘的缓存持续增加,除了每次去删除C盘用户路径下的\AppData\Roaming\Autodesk\ADPSDK\JSON 文件夹,还有什么好办法吗 感谢~

  23. 非常感谢你的回答,CgAbBlastPanelOptChangeCallback这个确实是MAYA的问题,spring Magic 停止运算是MAYA animation blending 首选项设置没开启的原因,已经解决,非常感谢.

  24. 您好,非常感谢你的插件,这对我的工作效率有很大提升,
    最近使用MAYA2019经常出现报错// Error: line 1: Cannot find procedure “CgAbBlastPanelOptChangeCallback”.
    然后插件停止解算运行,请问是什么原因了,同样的文件放到2018又可以正常运行的,非常感谢能在百忙中抽空解答,万分感谢!!

  25. execfile(r’C:\Scripts\SpringMagic\springMagic.py’)
    # 错误: NameError: file line 1: name ‘execfile’ is not defined #
    大神,请问maya2022安装时提示这个错误,怎么解决?

  26. Hello, when using v3.4, an error occurs when using collision capsules (springMagic.py line 947: ‘NoneType’ object has no attribute ‘vtx’)
    there are no such problems in version 3.1

    maya 2020.3

  27. 大佬,为什么我测试解算的时候,从次节第二根骨骼开始就一直乱飞。每次都这样,一次也没成功过~~~~~我操作是看你教程的。

  28. 老师您好 耽误下您的时间。我在使用时有些问题搞不明白 Maya当中 ,空场景中,新建骨骼和碰撞体后可以正确解算,但是我在应用在实例的时候,总是解算失败 ,裙子在走路时一点都不碰撞腿和手,直接穿过(根关节k了),就是一点碰撞都没有,
    不知道啥问题,会不会和蒙皮有关,

Leave a Reply

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