- Board indexMoho DiscussionScripting
- Search
- It is currently Sun Jun 30, 2024 4:40 am
- All times are UTC+01:00
Moderators: Víctor Paredes, Belgarath, slowtiger
Post Reply
- Print view
25 posts
- 1
- 2
- Next
Víctor Paredes
- Site Admin
- Posts: 5729
- Joined: Wed Jan 26, 2005 12:18 am
- Location: Barcelona/Chile
- Contact:
Contact Víctor Paredes
Scale bones on Y and X axis?
- Quote
Postby Víctor Paredes »
I'almost sure this should be a feature request. but first is better to tray if somebody has an idea to make it in actual AS.
for squash and stretch it would be great to control both values (bone lenght and wide).
would it be possible?
Top
synthsin75
- Posts: 10068
- Joined: Mon Jan 14, 2008 11:20 pm
- Location: Oklahoma
- Contact:
Contact synthsin75
- Quote
Postby synthsin75 »
I'm not sure I understand. Couldn't this be done with several bones? Is there a particular reason for needing it in one bone?
Top
Víctor Paredes
- Site Admin
- Posts: 5729
- Joined: Wed Jan 26, 2005 12:18 am
- Location: Barcelona/Chile
- Contact:
Contact Víctor Paredes
- Quote
Postby Víctor Paredes »
if you have, for example, a head which depends of just one bone, it would be useful to control its squash and stretch.
actually, doing this with several bones is a challenge and many times you need to asign points to specific bones, and even then the result wouldn't be so good as it would be just one bone with both scale values. better and easier.
I'm playing with Animation Master (but i have nothing good to show yet, except my very first rhino) and its bones has x, y and z scale. I never noticed how useful they are.
Last edited by Víctor Paredes on Thu Oct 16, 2008 4:05 am, edited 1 time in total.
Top
synthsin75
- Posts: 10068
- Joined: Mon Jan 14, 2008 11:20 pm
- Location: Oklahoma
- Contact:
- Quote
Postby synthsin75 »
I'm still missing something. With a large enough region on the bone strength (two bones, one for each axis, with strengths covering the whole head) I don't see the problem.
Do you have an example file which might explain better?
Top
Víctor Paredes
- Site Admin
- Posts: 5729
- Joined: Wed Jan 26, 2005 12:18 am
- Location: Barcelona/Chile
- Contact:
Contact Víctor Paredes
- Quote
Postby Víctor Paredes »
sorry, it's difficult to me to explain this in english.
but here is one option you couldn't make with the two bones technique:
if you head is inside a group, just one bone can control it, so you have scale just in Y axis.
another problem with the two bones technique (which actually needs 3 bones, one for the height and two for the sides), is that you can't absolutely scale down the object in some axis, because strength mantain the points in a limit.
sorry, it's hard to explain, maybe someone can tell it better than me.
Top
DK
- Posts: 2857
- Joined: Mon Aug 09, 2004 6:06 am
- Location: Australia
- Quote
Postby DK »
Hi.
Here's a simple rig for doing this using the Bone Scaling method I was developing sometime ago.
http://www.wienertoonz.com/DKbonesquash.anme
http://www.wienertoonz.com/DKbonesquash.swf
EDIT: All you do is scale the main verticle bone. The two side bones are constrained to the main bone by a negative value and are automatically scaled out along the x axis.
Cheers
D.K
Last edited by DK on Thu Oct 16, 2008 4:20 am, edited 1 time in total.
Top
Víctor Paredes
- Site Admin
- Posts: 5729
- Joined: Wed Jan 26, 2005 12:18 am
- Location: Barcelona/Chile
- Contact:
Contact Víctor Paredes
- Quote
Postby Víctor Paredes »
here is an anme with little examples
http://www.mediafire.com/?94x4pcdw2fs
Top
synthsin75
- Posts: 10068
- Joined: Mon Jan 14, 2008 11:20 pm
- Location: Oklahoma
- Contact:
Contact synthsin75
- Quote
Postby synthsin75 »
Actually all of that can already be done.
If the head is inside a group layer, you need to put this in a bone layer nested in your main bone layer.
Main bone layer
--nested bone layer
-----group layer
---------head vector layer
The vertical axis would be scaled by the usual head bone in the main bone layer, and the horizontal axis would be scaled by a bone in the nested bone layer. The vertical bone layer bound to the nested bone layer, and the horizontal bone layer bound to the group layer.
It only needs two bones using a large enough strength region, as long as their base is centered. And you can scale a bone down further using the text input (mouse wheel).
Top
DK
- Posts: 2857
- Joined: Mon Aug 09, 2004 6:06 am
- Location: Australia
- Quote
Postby DK »
Hi Selgin.
I'm not sure I understand what you mean by the problem on frame 24 and 36?
Ahhhh...it's ok...now I see the problem and solved by synthsin75
D.K
Top
Víctor Paredes
- Site Admin
- Posts: 5729
- Joined: Wed Jan 26, 2005 12:18 am
- Location: Barcelona/Chile
- Contact:
Contact Víctor Paredes
- Quote
Postby Víctor Paredes »
Hi Selgin.
I'm not sure I understand what you mean by the problem on frame 24 and 36? Are you referring to the bulging? Isn't that caused by just a lack of points?
yes, but this bulging can't be avoied easily, you still can't scaling down to much your object.
my request is to add the scale propety to the bones, every bone, so it could be useful to make better squash and stretch in any part of the body.
currently I work with Dk technique, and add scale to the parent layer too. I put the origin point centered in the feet and it works fine many times.
but when the character moves off from the origin point (I mean, when the bone character moves, and not the entire bone layer) you get bad result scaling the parent layer.
having scalable bones all will be easier, and animations could be more fluid.
Top
synthsin75
- Posts: 10068
- Joined: Mon Jan 14, 2008 11:20 pm
- Location: Oklahoma
- Contact:
Contact synthsin75
- Quote
Postby synthsin75 »
Here's my example file:
http://www.mediafire.com/?wmxelmb4wcy
For character moving off of origin I'd make its stretch/squash bones its root bones.
Top
heyvern
- Posts: 7035
- Joined: Fri Sep 02, 2005 4:49 am
- Quote
Postby heyvern »
I agree 100% that x y scaling of a bone is desperately needed in a future version of AS. I say a "future version" because I don't think it could be done effectively with a script... but... hmm... maybe...
I like to think this through by writing down how it could be done... it can be VERY productive...
Let's imagine the possible process. You CAN access the points that are "controlled" or influenced by a bone. That is definately in the script interface. This includes bone strength or point binding etc. So the key there would be to apply the scaling of the bone to those points in the x as well as y axis.
First off imagine they are "linked". X scale = Y scale. The scaling is "uniform". This would probably be very very easy. It would be nice however, to have separate values for X and Y to implement "squetch".
The next problem is how and where would the value be set for the "missing" X axis scale of the bone applied to the points it controls. Simplest solution would be to add the X scale to the name of the bone, at the end like an extension. Scratch that. It won't work since you would really want this to be an animateable "keyed" value that can be changed... so skip using the bone name.
Where can the X scale value for the bone go? It needs to be keyed so it must be something that already exists and isn't "used much". It would need to be a "sacrificial" value. You could sacrifice one of the other values (dynamics for instance) to be "replaced" as the x value. Dynamic values can be stored in the bone data without being "turned on". Of course you couldn't actually use bone dynamics for a bone controlled this way.
HOLD THE PRESSES!! What about another bone? An "X scale" bone that points it's own Y scale to the bone you want to scale in the X... This could work very well.
But now you need two bones for one bone which "seems" like the other option already being used (multiple bones to simulate X-Y scaling). A scripted two bone setup is still WAY better because the script would apply the scaling DIRECTLY to the points being controlled by just one bone. It would behave exactly as ONE bone with X Y scaling.
Do you hear that grinding noise? Those are the gears in my head turning...
-vern
Top
- Genete
- Posts: 3483
- Joined: Tue Oct 17, 2006 3:27 pm
- Location: España / Spain
- Quote
Postby Genete »
you still can't scaling down to much your object.
That's because you're using the mouse to modify the scale of the bone. You can enter a numerical value (even negative) and it would allow scale it whatever amount you want.
Also other cool thing is pre-scale the bone at frame 0. Scale tool is disabled at frame 0, rigth? but no one prohibits to copy a scale keyframe from frame 1 (or other >0) to frame 0. It would produce a pre-scaled bone that would affect to the bone length during all the animation. That allows to change the bone strength influcence shape from normal length =1 to enlarged and thin (pre-scaled >1) or short and rounded (pre-scaled < 1).
Ad regarding to the feature request itself: what would be the interface for the "perpendicular" scale of the bone? You'll need a new bone tool and a new channel to do that... is that what you want? it means more keyframes to control and less (much less) easy work flow than a pair of constrained bones... just my thoughts
-G
My scripts in the forum
http://genete.wordpress.com
Top
Víctor Paredes
- Site Admin
- Posts: 5729
- Joined: Wed Jan 26, 2005 12:18 am
- Location: Barcelona/Chile
- Contact:
Contact Víctor Paredes
- Quote
Postby Víctor Paredes »
Genete wrote:
you still can't scaling down to much your object.
That's because you're using the mouse to modify the scale of the bone. You can enter a numerical value (even negative) and it would allow scale it whatever amount you want.
yes, but even then you can't scale the shape to zero, there will be always bults. (digo, por la fuerza del hueso vertical siempre habrá un límite al escalar los huesos horizontales. por eso en el ejemplo que subí, la cabeza queda flaca en el centro, pero gorda arriba y abajo -lo mismo pasa en la operación inversa, achicando el hueso horizontal y agrandando los laterales).
HOLD THE PRESSES!! What about another bone? An "X scale" bone that points it's own Y scale to the bone you want to scale in the X... This could work very well.
heyvern wrote:But now you need two bones for one bone which "seems" like the other option already being used (multiple bones to simulate X-Y scaling). A scripted two bone setup is still WAY better because the script would apply the scaling DIRECTLY to the points being controlled by just one bone. It would behave exactly as ONE bone with X Y scaling.
I think it would work great (not so much as have both values in one bone, but close), you could have a tiny skeleton floating over the shoulder of your main skeleton and use it just for scale x. It sounds really good, vern.
Top
- slice11217
- Posts: 279
- Joined: Thu Mar 30, 2006 6:12 pm
- Location: Verona, New Jersey
- Quote
Postby slice11217 »
selgin wrote:
HOLD THE PRESSES!! What about another bone? An "X scale" bone that points it's own Y scale to the bone you want to scale in the X... This could work very well.heyvern wrote:But now you need two bones for one bone which "seems" like the other option already being used (multiple bones to simulate X-Y scaling). A scripted two bone setup is still WAY better because the script would apply the scaling DIRECTLY to the points being controlled by just one bone. It would behave exactly as ONE bone with X Y scaling.
I think it would work great (not so much as have both values in one bone, but close), you could have a tiny skeleton floating over the shoulder of your main skeleton and use it just for scale x. It sounds really good, vern.
I've done this, successfully, using a separate bone for width scaling that's independent of the length scale. I agree with Vern though, it would be much better to have it all encompassed in one bone.
Top
Post Reply
- Print view
25 posts
- 1
- 2
- Next
Return to “Scripting”
Jump to
- General
- ↳ Announcements
- Moho Discussion
- ↳ FAQ
- ↳ SPAM Bucket
- ↳ General Moho Discussion
- ↳ Moho 5
- ↳ Animation Contests
- ↳ Share Your Work
- ↳ How Do I...?
- ↳ Scripting
- ↳ Animation Jobs
- Unofficial Bug Reports and Feature Requests
- ↳ Bug Discussions
- ↳ Feature Request Discussions
- Non-Moho Discussion
- ↳ Papagayo
- ↳ Other Software
- ↳ Animation
- ↳ Miscellaneous Chit-Chat