Point Animation Tools

Discuss ideas for new features with other users. To submit feature requests to Smith Micro, please visit support.smithmicro.com

Moderators: Víctor Paredes, Belgarath, slowtiger

Post Reply
User avatar
Manu
Posts: 327
Joined: Tue Aug 03, 2004 10:11 pm
Contact:

Point Animation Tools

Post by Manu »

I'm sure some clever clogs will come in saying you could write these yourself given enough knowledge of Lua. But here goes.

I was doing quite a bit of point animation lately. The magnet tool is fantastic. But there's more that can be done:

- Smooth Tool, for smoothing out bumpy vectors. Like the magnet tool, uses a circle of influence.
- Spacing Tool, for averaging out the distances between points. Often points start to bunch up badly resulting in ugly shapes. Again, works with a circle of influence.
User avatar
Víctor Paredes
Site Admin
Posts: 5814
Joined: Wed Jan 26, 2005 12:18 am
Location: Barcelona/Chile
Contact:

Post by Víctor Paredes »

I agree with this, but I think it can be done with scripting, no need to add them as feature request.
Both are good ideas, I hope some scripting genius listen you.
User avatar
Manu
Posts: 327
Joined: Tue Aug 03, 2004 10:11 pm
Contact:

Post by Manu »

selgin wrote:I agree with this, but I think it can be done with scripting, no need to add them as feature request.
Well, technically speaking, every tool in ASP is a script. Does that mean we shouldn't make any feature requests anymore?

I have modified tools myself, no probs. But when a feature request reaches a certain level of complexity, it becomes a job for the core developer(s). Members of the scripting community here will not always polish their tools to the degree that's needed, be it through lack of time or experience.
User avatar
madrobot
Posts: 670
Joined: Mon Apr 07, 2008 3:07 pm

Post by madrobot »

Great ideas, I would use those tools for sure.

Here's another idea which just came to mind-
You know when you have done your point animation, but then you go back to frame 0 and add a point (for whatever reason.) Now you have the shape moving fine except for that one point which sits there, as it should, on the zero frame position key.

What if there was a way you could select that point and run a script, which would then take the two adjacent points, look at their point position keys, and interpolate and key the selected points so that it followed them? You might need to clean it up a little but that could get you most or all of the way there.

I don't know how involved that would be in terms of scripting, and maybe I'm being naive. But it would be cool.
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

madrobot wrote:Great ideas, I would use those tools for sure.

Here's another idea which just came to mind-
You know when you have done your point animation, but then you go back to frame 0 and add a point (for whatever reason.) Now you have the shape moving fine except for that one point which sits there, as it should, on the zero frame position key.

What if there was a way you could select that point and run a script, which would then take the two adjacent points, look at their point position keys, and interpolate and key the selected points so that it followed them? You might need to clean it up a little but that could get you most or all of the way there.

I don't know how involved that would be in terms of scripting, and maybe I'm being naive. But it would be cool.
I've had that idea in my head ever since I started using AnimeStudio/Moho. Generally, you add a point to a shape that has already been animated when you want to create a keyframe that requires more detail than you have points for. You would therefore want to minimize the impact of this new point on existing keyframes. My solution was to imagine a triangle formed by the new point and its adjacent points and make the job of the script to keep the angles of that triangle constant for all existing keyframes. For me that would be sufficient for a first-order approximation and would certainly be an improvement on the point being completely static as it is now. If you were really keen, you could evaluate the curve between the two points if the added point wasn't there and... my brain is starting to throb in pain already!

Anyway, now that I've started practising the dark art that is Lua scripting, maybe it's time I had a crack at it, especially if there are other users out there that would find it useful.
User avatar
madrobot
Posts: 670
Joined: Mon Apr 07, 2008 3:07 pm

Post by madrobot »

Rudiger wrote: If you were really keen, you could evaluate the curve between the two points if the added point wasn't there and... my brain is starting to throb in pain already!
Any scripting gurus able to shed any light on this?

Can you add a point to an existing curve, maintaining the integrity of the curve?
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

madrobot wrote:
Rudiger wrote: If you were really keen, you could evaluate the curve between the two points if the added point wasn't there and... my brain is starting to throb in pain already!
Any scripting gurus able to shed any light on this?

Can you add a point to an existing curve, maintaining the integrity of the curve?
It's very tricky in AnimeStudio as the position of every point on the curve affects the nearest two curve segments on either side of it! That is why, when you a add a single point to the curve, you can often get a dramatic change in the shape of the entire curve. There may be some interesting code in the existing Split Curve Menu script that could be applied to this problem.
User avatar
mkelley
Posts: 1647
Joined: Fri Nov 02, 2007 5:29 pm
Location: Sunny Florida
Contact:

Post by mkelley »

As you say, the split curve tool works in exactly this fashion. However, it works by adding a point precisely in the middle of two points.

If this is all that is desired then making a tool that does this on selected points should be easy. But trying to add a point anywhere between two may be nigh impossible.
Genete
Posts: 3483
Joined: Tue Oct 17, 2006 3:27 pm
Location: España / Spain

Post by Genete »

Curvature in AS curve system is a single value. It means that both (right and left curvatures) are same in length. You can change its lenght by the curvature value but both at the same time. The curvature angle is also the same at both ends and is defined by the relative position of the neighbourg points (except for a end point which is defined by its previous one).

So forget to try to split a segment by an arbitrary intermediate point preserving the shape.
-G
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

I guess I'll start with the triangle method, and if anyone comes up with something better, I'll modify it.
Post Reply