16

How can I add keyframes to custom properties with python? Usually, I can use the function

object.keyframe_insert(data_path="location")

but I couldn't find the right data_path of a custom property.

Garrett
  • 6,596
  • 6
  • 47
  • 75
Salvatore
  • 757
  • 1
  • 9
  • 11
  • Thanks ideasman42, it works perfectly. Never used StackExchenge and it is difficult for me to not at least thank you for your efficient help. But I didn't found where is the best place to put this thanks... – Salvatore Oct 11 '13 at 13:16
  • 1
    You can thank ideasman42 by accepting the answer. Just click the 'v' and it turns green :) – jasperge Feb 19 '14 at 00:13
  • you are right, it's done. – Salvatore Feb 20 '14 at 20:17

1 Answers1

21

Keyframes on custom properties use Python's getitem/setitem syntax rather then getattr/setattr.

This matches python api, where you would access object.location as an attribute and object["prop"] for a custom property.

So you would need to write it like this:

object.keyframe_insert(data_path='["prop"]')

Note that you have to use " quotes, not ',
'["prop"]' can be written as "[\"prop\"]" too of course.

I think we have this documented, I'll have to double check though.

ideasman42
  • 47,387
  • 10
  • 141
  • 223