maya 设置半径 获取时长,设置时长

maya 选择当前节点的所有子节点,设置半径,获取动画时长,并且设置时长

python 脚本

python 复制代码
import maya.cmds as cmds

# 获取当前选择的节点
selected_nodes = cmds.ls(selection=True)

# 创建一个列表来存储所需的节点:当前选中的节点及其所有后代
nodes_to_select = list(selected_nodes)  # 确保当前选择也被包含

# 遍历每个已选择的节点并获取其所有后代节点
for node in selected_nodes:
    # listRelatives命令用来获取节点的所有后代,allDescendents=True开启递归查询
    node_descendants = cmds.listRelatives(node, allDescendents=True) or []
    nodes_to_select.extend(node_descendants)

# 过滤出有半径属性的节点
nodes_with_radius = [node for node in nodes_to_select if cmds.attributeQuery('radius', node=node, exists=True)]

# 设置所有有半径属性的节点的半径为0.01
for node in nodes_with_radius:
    cmds.setAttr(node + ".radius", 0.01)

# 可选:重新选择这些节点以便在界面上看到变化
cmds.select(nodes_with_radius)

def get_animation_length():
    # 获取场景中所有的动画曲线节点
    anim_curves = cmds.ls(type='animCurve')
    
    # 初始化最小和最大帧变量
    min_frame = float('inf')
    max_frame = float('-inf')
    
    # 遍历所有动画曲线
    for curve in anim_curves:
        # 获取每条曲线的关键帧时间
        keyframes = cmds.keyframe(curve, query=True)
        
        # 更新最小和最大帧数
        if keyframes:
            min_frame = min(min_frame, min(keyframes))
            max_frame = max(max_frame, max(keyframes))
    
    # 检查是否找到有效的帧数
    if min_frame == float('inf') or max_frame == float('-inf'):
        return 0
    else:
        return max_frame
 
# 调用函数并打印结果
end_frame=get_animation_length()

print("end_frame",end_frame)

start_frame = 1


# 设置动画的实际播放范围
cmds.playbackOptions(min=start_frame, max=end_frame)

# 设置动画编辑器的时间范围(如果需要的话)
cmds.playbackOptions(animationStartTime=start_frame, animationEndTime=end_frame)

# 设置时间轴的显示范围
cmds.playbackOptions(minTime=start_frame, maxTime=end_frame)
相关推荐
CG_MAGIC6 天前
Substance Painter 高效出图:贴图导出与后期优化技巧
3d·贴图·maya·substance painter·渲云渲染·3d软件
哎呦哥哥和巨炮叔叔9 天前
程序化纹理(Procedural Texture)详解:3D项目体积缩减90%,云渲染效率全面提升
blender·maya·渲染101云渲染·材质系统·arnold渲染·程序化纹理·cg工作流
成都渲染101云渲染666610 天前
渲染速度慢怎么办?如何将 Maya 渲染速度提升成百上千倍(通用方法)
人工智能·图形渲染·blender·maya·houdini
哎呦哥哥和巨炮叔叔10 天前
Cinema 4D 与 Maya 全面对比:3D 动画与设计该如何选择?
云渲染·maya·三维动画·渲染101·动态设计·cinema 4d·3d软件对比
CG_MAGIC11 天前
Maya 关键帧动画基础:角色走路循环与姿态调整
3d·maya·效果图·建模教程·渲云渲染·渲云
哎呦哥哥和巨炮叔叔11 天前
Maya 角色绑定效率提升:免费 Mansur-Rig 模块化绑定工具详解 + 云渲染方案推荐
云渲染·maya·rigging·渲染101·角色绑定·mansur-rig·cg制作
哎呦哥哥和巨炮叔叔11 天前
使用 Maya 进行动态设计的最佳方法总结(Motion Design 高效流程解析)
云渲染·maya·渲染101·动态设计·arnold渲染·motion design·mash动画
cvcNYgAdnd13 天前
电力系统连续潮流计算/ Matlab编程 1.绘制电力系统任意节点完整的PV曲线(PV curve)
maya
CG_MAGIC13 天前
Maya 角色绑定基础:骨骼搭建与权重绘制避坑要点
3d·maya·渲云渲染·3d软件
jtymyxmz16 天前
《Maya 2024 超级学习手册》3.4.9 实例:制作锤子模型
学习·maya