Maxscript - 在不同的关键帧上更改场景中所有Box对象的值?

时间:2017-09-21 10:56:48

标签: 3dsmax maxscript

我是Maxcscript的新手,我尽力解释一个问题,

我正在尝试在Maxscript中创建一个脚本,这会在第一个关键帧的场景中将高度更改为零。

我有几个场景都有很多盒子,有些有12个,有20个盒子等等。 并且所有框都是动画的 - 但是在不同的关键帧上,例如第一个框从12-23帧动画,第二个框从30-45帧动画等等(所以我不能在脚本中放置特定的帧编号) 现在我正在使用这个脚本来改变盒子的高度:

set animate on
modPanel.setCurrentObject $.baseObject
$.height = 0

使用这个脚本我必须手动转到每个盒子的第一个关键帧,然后执行脚本。 那么,在Maxscript中是否有一种方法可以制作一个可以转到场景中每个框的脚本 - 转到第一个关键帧,转动动画并将其高度更改为零;从一个场景中的第一个到最后一个框?

1 个答案:

答案 0 :(得分:1)

我也是初学者。
试试这个?

actionMan.executeAction 0 "40021"  -- Selection: Select All

for i in $ do
(
    if matchpattern i.name pattern: "*Box*" == true do --ObjectName matching part
    (
        local foo = i.height.track  --set Your Animation Controller
        slidertime = getkeytime foo 1

        set animate on
        i.height = 0
        set animate off
    )
)