通过Alembic SceneGraph重命名ReadGeo节点

2024-05-20 10:45:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有7个镜头,每个镜头有2或3个Alembic文件,每个Alembic大约有20个几何图形。在

由于我需要在新的Alembic中导出完整的3D场景,我需要重命名所有的ReadGeo节点,以便在其他软件(如Maya)中易于读取。在

为此,我想给Alembic Scenegraph到{}的几何体名称,但是我不知道如何用Python找到Geo名称。我从以下代码开始:

def AlembicRename():
    for s in nuke.allNodes("ReadGeo2"):
        GeoName = # don't know how to find this
        s['name'].setValue(GeoName)

AlembicRename()

你知道我怎样才能找到Geometry的名字吗?在

谢谢。在


Tags: 文件代码名称节点def场景alembic重命名
2条回答

解决方法

myReadGeoNode['scene_view'].getSelectedItems()

要访问ABC在NUKE中的Scenegraph层次结构,您应该尝试以下代码:

import nuke

nuke.createNode('ReadGeo', 'file {/Users/swift/Desktop/scene.abc}') 

def AlembicRename():
    for s in nuke.allNodes('ReadGeo4'):
        sceneView = s['scene_view']
        fullHierarchy = sceneView.getAllItems()
        print fullHierarchy

AlembicRename()

# Result: ['/root/polySphere/polySphereShape']

了解如何使用pythonreadThis Post从字符串内部提取子字符串。提取过程之后,您可以为您的ReadGeo节点分配(polySphere)名称。别忘了:有一个Python列表只包含零索引。在

^{pr2}$

enter image description here

相关问题 更多 >