how can i create text that moves along a path?
I have some things I want to do with text in jitter. Here are the critical tasks that I cannot figure out how to do:
1) a line of text that moves along a circular path
2) a line of text that moves long the surface of a sphere
Once I can do these, I want to have multiple lines, where a line of text will appear letter by letter out of a particular spot. And possibly other similar text animations.
In other software, like Adobe Illustrator, there is a simple "text to path" type command. Obviously it wont be this simple in Max, but surely there are ways to do this. My only thoughts are to create each letter individually, figure out how to create its "anchor point", have this anchor move along a path (how to get a path from a sphere?!?), and rotate the anchor according to the angle of the path. Or something like that – way too complicated for me to figure out :S
Does anyone know of any methods? Or ways to get started?
Any help is greatly appreciated :)
I don’t have any great ideas for #1, but for #2 here’s one possible solution.
----------begin_max5_patcher---------- 1059.3oc2X0siahCF85jmBKtrJEgMFBrWk8UXUuqpJxAbIdJAyZb5jtU8ce8 OPBoShIyTBQZjHArww97c72OGmeNel2F9AZiG3u.eFLa1OmOaloKcGyZaOya G4PVIowLLuJ5y7MO4sv9JI8fzz8SLoeQoufVkSE.4V5Z8q1KnfUTAogtNiWx E.n+wqtonlHy1xpJVKnYRKRPnH+fE.XJReCEaZgB7C.eo8GwxMqpBIeDEzMS U62w2KKoRCRQs89UdkrhriZ9A+sfQJ858lF1+YdCTuTGmFVU2r.a6zNwxeTS sPzaCopvaAvyC7E8H90745uV7myh6HRA6vYTHFjskH.gn..BG3f35XLXrkwP tHN3xGBworw0Va7tPeOypx4OC9jh99GZy9RIXkFpcjGXUMuArLH.DEbCLYHJ wPgotYx32WtfmBj6Si8iiC7auNEGWxpnY78Ux9V9EXVLVSkoFOTHN0vxgWgW id2wqEBVdyVRM8bOTSOM0ao5DlMYjRphbiN9YUyNNWtcsZb4J1D.AqJYEakZ lkVQ1nFtpqWjhErpKCh9NupaATsTgf0.zE26vCmeI1rGhhLIliuVTA98V9kO n1LBfNxZDhfF2ZCnAX2IMBuL8.GE5AcM54qkbhbTYkZx2.pjpLIiWoc5LIFb UcOwDzCCso.fNqtCQ2SVBeMV5sQPRdQQI0UUEj0zi6LYGFNzsgWSDJyVREsI .zu60EnvpFW+.IXCvTiPcu2SCSGsYSfPW7Q5koikSSo.i0nenqC2uXLo0+Us KK3pjsCSjXiGka4xIOjrNiNqXpVoDn.UIPB.eLLMX3zxII1DNNi6thnX7nvO QthE0UqZ+7lCM2QaZHEzWPWZvALvcA3nLgN0EP+EuLA9BfUFB1WeoGhdxTpV XM.0UCemRvRlfWVpEjXVnKIlHzgPPsruiEKgIlsEbzk2VheHtsipKqpvatMK wPTh0QM1oeJ9dRHvIKNtUVrtMJu+gdcIf.aUYEaimCcV2.8PDgduN9Pmd99G dPC+yD3eC+AA1JEsB3upDjGl98hxStA+NQZPpIIyu8+VYLWc+mytM78hrtIu SYE3jAmSaTmihnS90aPImMlsr7bZUeIV4rFspKCYEbws4aENI2.ZRmLznWo3 APyxICMKuAtQeNpIjbBG.N5+NxIDN3+T3rikWyU5MZClPww9QpjpVESnP7wV mVnQ0.hFx.dk3OMwh3TaBtfistS3GNj6Yzqy.fKMPVcFY02QgcOemPevXi9v jID8ngP+zkoBhtA17M5KGC0257k0stC7Y73ieLF0g3fyv+8HVDdS0JlN+gva ANnyRfbOwC9FfS7ajcrJxH00emJZZmRCPTJaehKzMiWXZxprMMh+7Dzuy5Fu 4bhdDgRvpToVUq7SKq7PRr2b857q4+OvE4xab -----------end_max5_patcher-----------
OK so i’ve been working at this for a while and have come up with 2 solutions for path-following. (I’ve attached the main patch and a patch used by it’s poly~)
First, I needed a system to control individual 3D elements (characters/words). To do this, I used [poly~] + [jit.gl.text3d].
In the main patch, the text input is parsed into a [coll] that the instances reference, and each instance’s 3D object position is derived from a single source. 3D coordinates came from either pictslider, drunk generated values, Kinect, or Mira’s multitouch. I devised 2 methods for using this data:
1) Originally, I simply took the incoming coordinate data and sent it to each instance, delayed by an amount that is multiplied by the instance number. This gave a fun illusion of a trail, but had major limitations.
2) I sent the coord data to [jit.anim.path] (a master one, and one for each poly~ instance). The patch would control the master path, whose evalnotify’s 2nd value (time) would be send to each instance (and again, shifted proportional to instance value) to get a position.
This allows much more control over the elements since positional data along time is saved (as a path), so i can pause the text and move them along the path as desired.
Now, this works fairly well, but there’s a few things I still need to do:
• make the text follow a live generated path more "tightly" – it still feels quite laggy.
• create paths based on the surface of 3D objects (like a sphere), which also include appropriate rotational data (i.e. text face is always perpendicular to object surface).
• performance enhancements – damn this runs slow, i’m sure there’s some redundancies i could eliminate
I’d love to get any feedback on this system, even if it’s just mentioning other/better ways to use the 3D/path stuff (i’m totally new to GL/OB3D and am not getting much out of the docs).