Scale bones on Y and X axis? (2024)

  • 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. Scale bones on Y and X axis? (5) 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).

Scale bones on Y and X axis? (10)

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...

Scale bones on Y and X axis? (15)

-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 Scale bones on Y and X axis? (16)

-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
Scale bones on Y and X axis? (2024)

References

Top Articles
Latest Posts
Article information

Author: Aracelis Kilback

Last Updated:

Views: 6390

Rating: 4.3 / 5 (44 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Aracelis Kilback

Birthday: 1994-11-22

Address: Apt. 895 30151 Green Plain, Lake Mariela, RI 98141

Phone: +5992291857476

Job: Legal Officer

Hobby: LARPing, role-playing games, Slacklining, Reading, Inline skating, Brazilian jiu-jitsu, Dance

Introduction: My name is Aracelis Kilback, I am a nice, gentle, agreeable, joyous, attractive, combative, gifted person who loves writing and wants to share my knowledge and understanding with you.