Point Animation Tools
Moderators: Víctor Paredes, Belgarath, slowtiger
Point Animation Tools
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.
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.
- Víctor Paredes
- Site Admin
- Posts: 5814
- Joined: Wed Jan 26, 2005 12:18 am
- Location: Barcelona/Chile
- Contact:
Well, technically speaking, every tool in ASP is a script. Does that mean we shouldn't make any feature requests anymore?selgin wrote:I agree with this, but I think it can be done with scripting, no need to add them as feature request.
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.
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.
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!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.
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.
Any scripting gurus able to shed any light on this?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!
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.madrobot wrote:Any scripting gurus able to shed any light on this?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!
Can you add a point to an existing curve, maintaining the integrity of the curve?
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.
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.
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
So forget to try to split a segment by an arbitrary intermediate point preserving the shape.
-G