Add keyframe to userdata
-
On 18/10/2017 at 00:05, xxxxxxxx wrote:
I just want to put the keyframe to the userdata, but it does not seem to work.
So I have doubt if Python does not support to add keyframe to userdata.
Pls refer to the following script and advise if anything wrong;import c4d
from c4d import gui
#Welcome to the world of Pythondef main() :
op = doc.GetActiveObject() #designate the selected object to opdoc.RecordKey(op,[c4d.ID_BASEOBJECT_REL_ROTATION,c4d.VECTOR_X]) #Add the keyframe to Rotation X successfully
doc.RecordKey(op,[c4d.ID_USERDATA,1]) #could not add keyframe to userdatac4d.EventAdd()
if __name__=='__main__':
main()JH
-
On 18/10/2017 at 09:43, xxxxxxxx wrote:
Hi JH,
welcome to Plugin Café forums
The problem is the DescID provided for the user data. DescIDs are indeed a bit more complex and not in every case the simplified version (as you provided it) is enough.
If you write it like so, it should work:
descID = c4d.DescID(c4d.DescLevel(c4d.ID_USERDATA, c4d.DTYPE_SUBCONTAINER, 0), c4d.DescLevel(1, c4d.DTYPE_REAL)) doc.RecordKey(op,descID)
In our C++ docs we also have a manual about DescIDs, which might be an interesting read for Python developers as well.
-
On 18/10/2017 at 22:24, xxxxxxxx wrote:
Great!!
It works perfect now!Thanks a lot!
JH