0

当迭代 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](在完全不同的上下文中别名失败的示例。)

如果将资产(包含多个对象)导入到场景中,则不会发生这种情况,只有当它被引用时。

资产别名工作(在第一次创建和导入资产时):

导入资产时工作

资产别名失败(第一次加载引用和保存的资产场景时):

引用资产和加载场景时失败

4

0 回答 0