先来说下这个问题的现象,因为在Maya中将两个物体做BlendShape(BS)是一种非常常见的制作方式,然而会发现偶尔我们做完BS操作,模型的一些Shape节点名称被修改(在Shape节点后添加了Deformed),这里说的是偶尔,然而这不是一个偶发现象,我们很容易重现这种现象。
然后清空场景,将这个cube.ma文件通过reference的方式引入,我们可以打开Shape节点观察此时两个cube的Shape节点名称
此时我们对其中一个cube做一些动画K一些帧,然后选择动画的cube再加选不动的cube,去做BlendShape
这里只要创建完BS,你就会发现其中cube1的Shape节点变成了pCubeShape1Deformed
那么有没有办法不让它修改这个Shape节点名称依然可以正常做BS呢,答案是有的
在Blend Shape Options中选择Advanced,修改Deformation order为Pre-deformatiion,再次创建,就不会修改Shape节点名称啦
如果写成代码也就两句话
import pymel.core as pm
pm.blendShape(origin='world', before=1)[0].w[0].set(1)
至于这玩意有啥用处,如果你的项目也是采用给高模冲缓存的流程你会回来感谢我,那么今天的文字就分享到这里