I have a locator constrained to a controller in which the constrained channels are mainly the translate and rotate. Initially, I tried to bake out these channels over a frame range as follows:
frames = range(1,10) for frame in sorted(frames): # this loops through frame range and sets existing keys from original control cmds.currentTime(frame) for locator in locators: cmds.setKeyframe(locator, attribute = 'translate', time = (frame, ) ) cmds.setKeyframe(locator, attribute = 'rotate', time = (frame, ) ) for loc_constraint in locator_constraints: cmds.delete(loc_constraint) However the above method would cause the timeline to always be transversing should I have more than 1 locators. Then I chanced upon `cmds.bakeResults` in which this allows me to bypass the tranversing. for locator in locators: cmds.bakeResults(locator, time=(start_frame, end_frame)) for loc_constraint in locator_constraints: cmds.delete(loc_constraint) While the latter method seems to works very well for me, where it seems to bake out only the constrained values (eg. scale channels are not part of the baking), is this a 'safe' approach? I was given the impression that if you not specify the attributes, it will baked all the attributes? If not, should I make it as a good practice to make use of the `attribute`flag within `bakeResults` and explicitly specify the channels? I asked this as I am not sure of `bakeResults` behavior. -- You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group. To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/64e3741c-3375-4eac-8721-6a07e9eebb80%40googlegroups.com.