0

在 MaxScript 中,我如何检测对象是否随事件一起移动?我试过检测变换,但这不起作用:

when transform $Body do (
  print"moved"
)

它也不能冻结用户界面或程序,因为它必须检测对象何时主动移动。

4

2 回答 2

1

已设置关键帧的节点不会触发此处理程序,它不是由用户驱动,而是由系统驱动。

当您在轨迹栏中按下播放时,这不会触发。

在不确切知道您打算做什么的情况下,很难推荐替代方案。

如果您希望在 trackbar/currentTime 发生变化时报告特定节点的位置或变换信息,您可以使用 registerTimeCallback 和 unRegisterTimeCallback 。

fn reportObject =
(
    print $Box001.pos
)
registerTimeCallback reportObject

这将在使用播放按钮或擦洗时间栏时触发。阅读有关时间回调的文档,因为它们有特定的规则。

希望这会有所帮助。

于 2016-07-16T02:57:27.340 回答
1

你忘记了changes关键字。正确的语法是

when transform $Body changes do (
    print "moved"
)
于 2016-05-11T05:28:17.217 回答