0

我有一个对象(例如立方体),它被键控以在 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 建模师,并不真正喜欢编写脚本,所以请帮帮我。

4

1 回答 1

1

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

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;
}
于 2021-03-08T10:13:54.053 回答