天天看点

关于3Ds MAX在freeze transform后无法使用飘带插件springmagic的解决过程

由于之前很少使用springmagic脚本来制作飘带动画,所以很少注意这方面。

今天遇到了使用脚本来制作飘带报错的问题,特把解决过程记录下来,以备以后查看。

问题如上所述,因为之前给bone 骨骼使用了 freeze transform 和 freeze rotation ,所以遇到了如图所示问题:

MAXScript Rollout Handler Exception

-- Unknown property:"x_rotation" in Controller:Rotation_List

关于3Ds MAX在freeze transform后无法使用飘带插件springmagic的解决过程

百度了下,才发现网友有个温馨提示:使用springmagic插件的话,骨骼千万不要freeze,否则有你好看的!

好吧,才看到~

网上也没有具体解决办法,只有自己摸索了。新建个文件用骨骼一个一个的试,大家来找茬~~不是,来找错误~~看看有什么地方不同~

皇天不负有心人,我发现我freeze的时候会有个关于controller的提醒。于是我就在controller上下功夫,一个一个对照,终于发现了问题所在~

这是没freeze得骨骼controller:

关于3Ds MAX在freeze transform后无法使用飘带插件springmagic的解决过程

这是freeze过后的骨骼controller:

关于3Ds MAX在freeze transform后无法使用飘带插件springmagic的解决过程

不知道细心的你有没有发现问题所在~

下面就是怎么把下面的弄得跟上面一样了~

1、你得为每个bone骨骼弄个dummy【object或者bone都行,只要你别弄混了。我这里以dummy为例】,保证每个dummy与与之对应的bone骨骼旋转和位置在pivot point位置对齐。后面会用到~

2、找到刚刚那个controller面板下面的position list 或者rotation list 面板,将里面的frozen position 和 zero posXYZ 都 delete掉【注意:position和rotation下面的都要delete,可以在面板相邻的上面3个按钮中切换】

3、删掉之后就是重新指定controller了。

选择position:position list,点击左上角的问号,指定 position XYZ

选择rotation:rotation list,点击左上角的问号,指定Euler XYZ

关于3Ds MAX在freeze transform后无法使用飘带插件springmagic的解决过程
关于3Ds MAX在freeze transform后无法使用飘带插件springmagic的解决过程

【注意:别指定错了哈~】

4、好了,现在我们用对齐工具把已经指定好的骨骼与之前与之对应的dummy对齐。

5、剩下的骨骼以此类推,重复1-4 。

也不知道有没有哪位大大有更好的解决办法,如果有的话,还望留言告知,不胜感激!!