4
$\begingroup$

What I want to achieve with Animation Nodes is below:

For example, Using four text objects to represent 1,9,9 and 8 individually, then I want to switch it to 2016, which means

1 to 2 (the switch sequence should be [1,2])

9 to 0 (the switch sequence should be [9,0])

9 to 1 (the switch sequence should be [9,0,1])

8 to 6 (the switch sequence should be [8,9,0,1,2,3,4,5,6])

Then, I want to do both animation styles like below:

A: when 1 to 2 is finished, the 9 to 0 animation will continue, then 9 to 1, then 8 to 6.

And B: all four digits switching animation can start together and end together, in other words, with the same duration.

Here is the file to start:

$\endgroup$
7
+100
$\begingroup$

Oh that's an interesting problem. Here is my solution:

I started by making a group that 'interpolates' between two characters (numbers in this case, but I wanted it to be more generic). The group takes the Start and End character as well as a list of the ordered characters. Additionally it has a Step input. The output is the current interpolated character after the given amount of steps.

enter image description here

With that given the first effect you described is fairly easy to archieve:

enter image description here

The second one is a little more complicated because we have to calculate the amount of required steps to get the timing right. The group that does that is very similiar to the other group.

enter image description here

enter image description here

The two most important nodes I used to archieve the effects are the Search List Element and Shift List node. This screenshot hopefully shows how they work:

enter image description here

[EDIT:] To have a text list as input you can reuse most of the existing nodes. The final setup looks like so (I don't show the nodes that did not change here):

enter image description here

$\endgroup$
  • $\begingroup$ This is a nice one. Actually instead of two years, there is a "year list" among which I want to switch in order. So how can I do that? (take the style A for example) $\endgroup$ – Leon Cheung Apr 14 '16 at 13:55
  • $\begingroup$ I modified my answer :) $\endgroup$ – Jacques Lucke Apr 14 '16 at 14:47
  • $\begingroup$ Brilliant! And I managed to add Character Gap and Word Gap options based on your solution. Now we can see that AN can be a real B-LEGO. :D I'll start a bounty in 12 hours. You certainly deserve it, enjoy! $\endgroup$ – Leon Cheung Apr 15 '16 at 2:12
2
$\begingroup$

Animation Nodes

enter image description here

enter image description here

4 Text Objects have their text data set from a final string. Image above. Click images to see more detail. Node Frame GUI visual indicates this final step. The [Loop Text] subprogram is invoked with 4 Blender Text objects contained in the Object List.

enter image description here

A final string is composed of two starting strings which are in the String list. Change the starting strings to suit you. The offset and interval determine how many characters each string contributes. Frame indicates this first step. Please excuse junk nodes. Image above.

enter image description here

Blender timeline indicates where in the progression the text object changes should be. Please evaluate and improve.

$\endgroup$
1
$\begingroup$

If you are willing to have the text completely change on a frame change, I would recommend you create multiple text objects and animate the hide_render property (which is a camera icon in the outliner).

There are a number of existing answers on stackexchange related to animated text like

$\endgroup$

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.