Text mograph nodes design

Yes this is kind of old already. Right now I’m working on converting the node to output instances of the characters instead of a single curve, and remove the field inputs for translation. Instead the instances can be translated after the String to Curve node.

Curve Fill will need to be updated to support instances as well. This will make a huge speedup and also automatically fix the rotation issue.

15 Likes

This sounds awesome! Are the character instances still a curve or a mesh? I am still wondering how it will be possible to transfer color or shading attributes to individual characters. Hoping that this will somehow be possible :slight_smile:

1 Like

Just wanted to sau this is one of the most exciting new features I’ve come across recently in development…
And found it just after the C4D new blender-inspired layout announced :slight_smile:
so cool!

So… I was just looking at the diff and this seems to be commited now, right? Does that mean it’s included in tonight’s master and the experimental build is no longer needed?

Congrats on the merge!! This is truly exciting!!

That’s right! Still some things missing like the nodes to transform individual instances (characters) but they are planned for 3.0. Really excited to see what people can do with these new nodes.

15 Likes

That’s amazing! I was worried that it would get out of 3.0. It’ll be a very exciting release :smiley:

Can’t wait to try those nodes. Is there a diff to keep an eye on?

These three tasks:
https://developer.blender.org/T91655
https://developer.blender.org/T91653
https://developer.blender.org/T91654

4 Likes

Excellent! Subscribing right now :smiley:

Thanks for all the hard work you are doing!

2 Likes

Great news! Thank you very much for your work on these nodes @ecke101! :clap: :clap:

3 Likes

This isn’t possible with the current master, right? I tried replicating it but it seems Index nodes are no longer there, and also there isn’t an option for transforming characters separately (since they’ll be separate nodes moving forward).

You will need to toggle “Geometry Nodes Fields” under experimental in preferences to get fields nodes:

If there’s no “Experimental” tab, you can enable that from Interface > “Developer Extras”:
image

2 Likes

I am so excited to see this topic.
I have develop some string operate node for my addon renderstacknode.
I want to have some node in future

1.Text to string. Combine the power of text file, so that we can easily use \n and some other signal
2.Replace/re replace. this node can replace old string to new string, or use re to find some string
3.Mutiply. Accept an int input and output string*input int
4.String to Value. Convert string back to float/int for math purpose

Besides, I recommand to rename node string substring to String Slice… Maybe it is easiler (for me) to understand

2 Likes

A lot has changed since this prototype so you can’t replicate this setup yet in master. You can do some of it, but not the rotation and scaling parts of the instances, just the position animations.

You now need to use the the set position node after the string to curve node since all transforms happen on the character instances after the instances are created. Previously the string to curve node handled transforms directly.

Also, there is no way of scaling or rotating the individual instances yet. Not sure if the plan is to have separate set rotation and set scale nodes or if it is all going to be all handled in one fields transform node? The math nodes from this setup should still work the same.

Hi, nice to see that you are excited about it.

  1. Text to String: This node existed in the prototype (Choose a text data-block and convert it to string), but the problem was that it would not get updated when the data-block was updated. We are investigating how to solve this (automatically by depsgraph or a manual reload-button).
  2. Yes, that’s planned.
  3. This is also planned. My suggestion is that the offset input is a field input so that individual characters in the string can be modified. I’ll have to try this to see how it works.
  4. Will also be implemented. :slight_smile:

String Slice, yes that seems reasonable. I guess it could be personal preference.

7 Likes

Thanks for your hard work!

That’s awesome! I guess these are for 3.x rather than 3.0, no?

My favorite additions to Blender!!
One thing I like to do with Blender is data motion graphics, and using texts with list of inputs -
Like taking the location of one of the vertexes and use as an input for text and vector location.
As you can see in the video it’s a fairly easy to setup in Animation Nodes, so I tried to recreate this in Geometry Nodes but it seems that the ‘Instance on Points’ only breaks one input of a text string into a list of letters. Is there a way to input different strings into multiple instances?

9 Likes

There are probably multiple ways to solve this but I’m thinking when we are able to set attributes on instances (could be soon) maybe there could be a node that joins attribute values to a string separated by line breaks or something like that.
Instance attributes would also make it possible to make Word-/Line number attributes on the String to Curves-node that could be used to transform characters in groups.

Do you think that would work?

3 Likes

In this current system?

Sounds cool but what if I want to spawn an info string with line breaks, for example “Verb, Adjective, Number, etc.” Than this is a group of strings that as an instance change due to multiple data sources.
Nested list in a list, of sorts…
(Example gif is from " From the future with love" short)
table