31 lines
921 B
Python
31 lines
921 B
Python
|
#!/usr/bin/env python
|
|||
|
# -*- coding: utf-8 -*-
|
|||
|
|
|||
|
import maya.cmds as cmds
|
|||
|
from Core import Descriptor
|
|||
|
|
|||
|
def current_project_dna():
|
|||
|
"""
|
|||
|
更新当前项目的DNA文件路径
|
|||
|
- 检查场景中的RL4节点
|
|||
|
- 更新项目DNA路径
|
|||
|
"""
|
|||
|
# 获取所有embeddedNodeRL4类型的节点
|
|||
|
rl4_nodes = cmds.ls(type="embeddedNodeRL4")
|
|||
|
|
|||
|
# 如果没有找到RL4节点,报错并返回
|
|||
|
if not rl4_nodes:
|
|||
|
cmds.error("No RL4 node object...")
|
|||
|
return
|
|||
|
|
|||
|
# 获取当前项目DNA路径
|
|||
|
pre_path = Descriptor(gpd=True)
|
|||
|
|
|||
|
# 检查每个RL4节点
|
|||
|
for node in rl4_nodes:
|
|||
|
# 获取节点的DNA文件路径
|
|||
|
rl4_path = cmds.getAttr(f"{node}.dnaFilePath")
|
|||
|
|
|||
|
# 如果文件存在且与当前路径不同,则更新项目DNA路径
|
|||
|
if cmds.file(rl4_path, query=True, exists=True) and rl4_path != pre_path:
|
|||
|
Descriptor(spd=rl4_path)
|