当迭代 Maya 场景中的节点(多个资产上的多个几何体)时,我将 blendShape 目标设置如下:
pm.blendShape(blendshape, edit=True, target=(mesh, target_index, corrective, 1.0))
有时它有效,有时我收到以下错误:
对象不允许设置别名“corrective_name”。可能是因为该名称的属性已经存在。
...其中Corrective_name 是nt.Transform的名称corrective
。我在节点上找不到具有该名称的属性blendshape
,所以这不是原因。将 的值强制corrective
为随机废话(以确保不存在冲突)会导致相同的错误。
此失败的其他原因是什么?
注意:一个可见的副作用(或原因?)是在调用工作的 blendShapes 上,我可以看到名称与更正名称匹配的权重。在调用失败的 blendShapes 上,权重称为weight[0]
、weight[1]
,weight[2]
依此类推。
注意 2:在保存 .ma 文件然后第一次加载后,似乎(某些)属性别名失败。某些对象的重量属性在加载后显示为weight[0]
而不是显示。actualName
同一个对象始终失败(该对象上的属性的别名总是失败,其他对象上的别名永远不会失败)。这意味着pm.blendShape
在第一个会话中该对象成功,但每次加载场景后都失败。然后也调用新创建的属性weight[X]
。(在完全不同的上下文中别名失败的示例。)
如果将资产(包含多个对象)导入到场景中,则不会发生这种情况,只有当它被引用时。
资产别名工作(在第一次创建和导入资产时):
资产别名失败(第一次加载引用和保存的资产场景时):