Maya (MEL) 以特定时间间隔复制选定对象

问题描述

我有一个对象(例如立方体),它被键控以在 20 帧内从 A 点移动(平移)到 B 点。在第 1 帧(currentTime 1),对象在 A 点,在第 20 帧(currentTime 20),对象移动到点 B。

我想要实现的是要在特定的时间间隔内复制主要对象,例如 5,10 和 15。

我编写了一个简单的代码工作我的对象(名为“Konga”),在这里

select -r Konga ;
currentTime 1 ;
duplicate -rr;
select -r Konga ;
currentTime 5 ;
duplicate -rr;
select -r Konga ;
currentTime 10 ;
duplicate -rr;
select -r Konga ;
currentTime 15 ;
duplicate -rr;

但现在我希望它修改代码以使其适用于我选择的“任何”对象

所以我根据我在另一篇关于如何将代码应用于选定对象

的帖子中找到的信息对代码进行了修改
string $sel[] = `ls -sl`;
string $obj;
for ($obj in $sel)
{
  currentTime 5 ;
  duplicate -rr;
  currentTime 10 ;
  duplicate -rr;
  currentTime 15 ;
  duplicate -rr;
}

但是所有这些代码所做的就是在第一个提到的 currentTime 复制选定的对象 这里恰好是 5。所以我最终得到了主要对象的 3 个副本,都在主要对象在时间 5 的相同位置,而在 10 和 15 没有任何东西。我在这里做错了什么,我应该多次选择对象吗?之前的代码

我只是一个 3d 建模师,并不真正喜欢编写脚本,所以请帮帮我。

解决方法

您的问题是您没有准确地告诉重复命令要复制什么。默认情况下,它只使用当前选定的对象,而这些对象似乎不是您想要的。但是你可以像这样给它你想要复制的对象的名称:

string $sel[] = `ls -sl`;
string $obj;
for ($obj in $sel)
{
  currentTime 5 ;
  duplicate -rr $obj;
  currentTime 10 ;
  duplicate -rr $obj;
  currentTime 15 ;
  duplicate -rr $obj;
}