You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maya Python脚本:为实例化对象添加顺序后缀问题

嘿,我来帮你搞定这个实例化对象的命名问题!其实核心就是在创建实例后,手动给每个实例重命名成你要的格式就行,我给你准备了完整的可用脚本,还会拆解关键步骤帮你理解:

完整可运行脚本

import maya.cmds as cmds
import random

def create_named_instances():
    # 获取选中的原对象
    selected_objects = cmds.ls(selection=True, long=False)
    if not selected_objects or len(selected_objects) != 1:
        cmds.error("请先选中**单个**对象再运行脚本哦!")
    original_obj = selected_objects[0]
    
    # 循环创建100个实例
    for instance_num in range(1, 101):
        # 创建实例(instance返回的是列表,取第一个元素)
        new_instance = cmds.instance(original_obj)[0]
        
        # 生成指定格式的名字:原对象名 + _instance + 序号
        new_name = f"{original_obj}_instance{instance_num}"
        
        # 给实例重命名
        cmds.rename(new_instance, new_name)
        
        # 给实例添加随机变换属性
        # 随机平移(范围可自行调整,这里是-10到10)
        trans_x = random.uniform(-10, 10)
        trans_y = random.uniform(-10, 10)
        trans_z = random.uniform(-10, 10)
        
        # 随机旋转(0到360度)
        rot_x = random.uniform(0, 360)
        rot_y = random.uniform(0, 360)
        rot_z = random.uniform(0, 360)
        
        # 随机缩放(0.5到2倍)
        scale_x = random.uniform(0.5, 2)
        scale_y = random.uniform(0.5, 2)
        scale_z = random.uniform(0.5, 2)
        
        # 应用这些随机变换
        cmds.xform(new_name, 
                   translation=(trans_x, trans_y, trans_z),
                   rotation=(rot_x, rot_y, rot_z),
                   scale=(scale_x, scale_y, scale_z))

# 运行函数
create_named_instances()

关键部分拆解

  1. 选中对象校验
    先确保用户只选中了一个对象,避免脚本出错。用cmds.ls(selection=True)获取选中列表,加判断逻辑抛出友好提示。

  2. 实例化+命名核心逻辑

    • 用cmds.instance(original_obj)创建实例,它返回的是一个包含实例对象的列表,所以我们取[0]拿到单个实例。
    • 用Python的f-string拼接名字:f"{original_obj}_instance{instance_num}",这样就能自动生成原对象名_instance1、原对象名_instance2...的格式。
    • 最后用cmds.rename()把实例改成我们想要的名字。
  3. 随机变换实现
    用random.uniform()生成指定范围内的随机值,再通过cmds.xform()一次性把平移、旋转、缩放属性应用到实例上,比单独设置属性更高效。

小提示

如果你的原对象名字里包含特殊字符(比如空格、标点),可能会导致命名问题,建议先给原对象改个简洁的名字再运行脚本~

内容的提问来源于stack exchange,提问作者Hadi D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:23:36