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) |