THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 29/09/2007 at 11:22, xxxxxxxx wrote:
Cinema 4D Version: R8.2-R10
Platform: Windows ; Mac ; Mac OSX ;
Language(s) : C++ ;
Normally, my plugin creates or updates tracks+(sequences)+keys for a slider when it is changed - via SetDParameter(). This avoids spurious creation/updates during animation render or timeline scrubbing as SetDParameter() is not called during these - note that bit of information.
I'm adding an IK system where the goal can be any object and influences the sliders that control rotation through an Expression tag via Execute(). Animation rendering can be handled by CheckIsRunning(). But as expected, timeline scrubbing cannot be tracked and spurious key creation/updates are inevitable because Execute() is called in all of these situations (for every frame). To avoid this, I've opted for a 'Record Key' button and avoid my automatic key creation/update process.
Tracking the goal object (with a tag, say) won't help as the goal doesn't necessarily have to be moving for IK to be working - for instance, if the hip is being translated with leg IK, the goal might not move but the legs are being udpated through the IK solver.
It would be better if there was another way to have the IK solver process besides Execute() in an Expression tag so as to retain my automatic key creation/update process.
Any thoughts on this?