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$ – atomicbezierslinger Dec 29 '20 at 23:54

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$ – user3435279 Dec 30 '20 at 16:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.