Hi all,
Pretty new to 3ds max scripting coming from Maya/python. I’m trying to figure out how to script setting keys on a different position controller called ‘Zero_Pos_XYZ’. I have some objects who have their positions frozen through a position list so their zero’d out location is not 0 in the world (like Freeze Transforms in Maya). When I animate them through a script, it still affects them via their actual world position. Here’s the testing script I’ve been playing around with:
import MaxPlus
nodes = MaxPlus.SelectionManager.Nodes
# test data (frame, [x, y, z])
anim_data = [(1, [0, 0, -150]), (14, [0, 0, 0]), (30, [0, 0, -150])]
for node in nodes:
MaxPlus.Animation.SetAnimateButtonState(True)
for data in anim_data:
MaxPlus.Animation.SetTime(data[0] * 160) # ticks
node.Position = MaxPlus.Point3(data[1][0], data[1][1], data[1][2])
MaxPlus.Animation.SetAnimateButtonState(False)
I imagine the issue is something with the node.Position needing to be set to the Zero_Pos_XYZ controller but nothing I’ve tried seems to work. Thanks in advance for any help.