python - Maya API removeChild 让孩子从大纲中消失?
问题描述
我在下面运行这段代码,当我运行最后一行时,定位器 B 从大纲中消失了……如何将定位器 B 放在世界上,将定位器保留在大纲中?
import maya.api.OpenMaya as new_om
def getMObject(node):
selList = new_om.MSelectionList()
selList.add(node)
return selList.getDependNode(0)
cmds.spaceLocator(name="A")
cmds.spaceLocator(name="B")
A_MObj = getMObject("A")
B_MObj = getMObject("B")
parentNode_B_to_A = new_om.MFnDagNode(A_MObj)
parentNode_B_to_A.addChild(B_MObj)
parentNode_B_to_A.removeChild(B_MObj)
多谢!
解决方案
您需要添加B
回世界节点。在您的情况下A
,并且在worldB
下是直接父级,因此您可以查询和使用' 父级:A
...
parentNode_B_to_A.removeChild(B_MObj)
world_obj = parentNode_B_to_A.parent(0)
world_node = new_om.MFnDagNode(world_obj)
world_node.addChild(B_MObj)
推荐阅读
- node.js - nodejs:无法从主函数中的回调函数读取响应
- angular - 如何在 Angular 应用程序的主项目中使用 Puppeteer?
- amazon-web-services - Lex:服务器在处理 lambda 时遇到错误
- google-sheets - 如何通过几个步骤仅在 Google 表格中复制公式(没有值或格式)?
- java - Android Java将mp3文件名字符串传递给片段内的媒体播放器
- influxdb - InfluxDB Flux 连接系列
- json - 导出包含 JSON 列且没有双重转义的 SQLite 表
- r - 对正或负“条纹”的值求和
- javascript - 如何在浏览器内存中存储 CSS 变量
- java - Android 键盘设置为屏幕上的自定义位置