I've got some text I want to output to the screen according to a list of times, x & y coordinates. Preferably within Animation Nodes (with or without python scripting), but without Animation Nodes would also do it. And it has to be done with an imported list of data because keyframing by hand isn't workable, due to the inflexibility of this approach & my need to tweak the timings precisely until I'm happy with them. It's for a kinetic typography type animation.

Each word (whether in an array or whatever) will come with the timing & x/y coordinate data as below...

"once", 1 (second), x=30, y=50

"upon", 2.2 (seconds), x=30, y=70

"a", 3.5 (seconds), x=30, y=70


In other words I want to control when & where each word appears on the screen.

Positioning text on the screen (x & y) is easy enough. It's just getting each word to appear at the specified time I'm having trouble with.

Any help appreciated

  • $\begingroup$ You may want to look at setting keyframes with Python Script. Your search will be as good as mine. You will find some matches here at BSE. Eventually you may want to set keyframes for render visibility. That is the render property on the object panel. You can set such a keyframe manually to help you locate that f-curve .. graph curve .. $\endgroup$ Commented Dec 29, 2020 at 23:54

1 Answer 1


If you can feed data something like this: enter image description here

We can convert this data into a Generic List using eval() in Expression node. After that we can iterate through this list using loop and do whatever stuff you want there. Here is an example: enter image description here

enter image description here

  • 1
    $\begingroup$ you legend!!!! been trying to do that for ages $\endgroup$ Commented Dec 30, 2020 at 16:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .