Better bone parenting tools

Moho allows users to write new tools and plugins. Discuss scripting ideas and problems here.

Moderators: Víctor Paredes, Belgarath, slowtiger

Post Reply
User avatar
synthsin75
Posts: 9971
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Better bone parenting tools

Post by synthsin75 »

Has anyone scripted an add bone tool that includes parenting options?
I think it'd be really helpful if I could either disable auto-parenting as I'm adding bones, and/or parent every following bone to the selected bone.

Please help. I'm so tired of either trying to remember to hit enter to deselect, or reparenting everything. :roll:
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

I've thought of that but the problem is how do you tell the application what bone to parent to? You end up with the same problem. If you tell it to parent all following created bones to the same bone...

... how does it know when to stop? If you set it and forget to reset you end up with a bunch of bones parented to one bone because you forgot to change the settings.

What I do is not even care about parenting at all when adding bones. I just stick them in roughly in the correct position.

After that I then reparent all the bones. If I have multiple bones parented to one bone I shift select them and reparent in one go.

p.s. You can use a key modifier to select a different bone before creating a new one. It's option key on the mac. I don't know what the PC key is. I use that as well.

-vern
User avatar
Víctor Paredes
Site Admin
Posts: 5658
Joined: Wed Jan 26, 2005 12:18 am
Location: Barcelona/Chile
Contact:

Post by Víctor Paredes »

heyvern wrote:p.s. You can use a key modifier to select a different bone before creating a new one. It's option key on the mac. I don't know what the PC key is. I use that as well.
(it's Alt)
User avatar
synthsin75
Posts: 9971
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Post by synthsin75 »

Well I imagined this could be interfaced in the tool options on the workspace window, but I don't know enough about scripting. Thanks for letting me know.
User avatar
rylleman
Posts: 750
Joined: Tue Feb 15, 2005 5:22 pm
Location: sweden
Contact:

Post by rylleman »

You could probably modify the create bones tool to unselect a bone after you've created it. That way new bones don't get children of the previous. Should be fairly easy.
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

I thought about this some more and might have a simple solution for part of it.

When clicking to create a new bone, it would use the CLOSEST bone as the parent.

If you wanted to add a bunch of "random" bones to one bone.. I suppose a check box for the tool would do that... but once again you over complicate something that is already simple enough in my opinion. Any extra tool options would still require extra effort while using the tool which takes X amount of time.

If I create all of my bones for a rig without worrying about parenting at all, and then reparent later... it goes pretty quickly, and I'm aware of exactly which bones are connected as I'm doing it. That's pretty much how I do it. If I have a bunch of bones that need to be children of one bone, just select the whole pack and click the one bone. I keep forgetting to click a new parent bone to create a new bone anyway so most times I don't bother until I am ready to move the bones into the correct positions anyway.

Animation Master has the same bone creation function, the bone selected is the parent of a new bone... but it does have a bone "palette" listing so you can drag bones around in the hierarchy very easily. That might be a good feature request for a future version of AS.

One feature I would love in AS is the ability to "snap" a child bone to the tip of the parent. I like to have my bones very neatly set up and it's a pain to have to paste the length of the parent into the offset location of the child.

-vern
User avatar
synthsin75
Posts: 9971
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Post by synthsin75 »

rylleman wrote:You could probably modify the create bones tool to unselect a bone after you've created it. That way new bones don't get children of the previous. Should be fairly easy.
I've looked and messed around with the script, but haven't found the reference that handles this. :cry:
Heyvern wrote:If I create all of my bones for a rig without worrying about parenting at all, and then reparent later... it goes pretty quickly, and I'm aware of exactly which bones are connected as I'm doing it. That's pretty much how I do it. If I have a bunch of bones that need to be children of one bone, just select the whole pack and click the one bone.
That works well, but what if I want to unparent all of the selected bones? I have to unparent each one individually. At the very least, I should be able to selected a group of bones with the reparent tool, and hit a key or something to unparent the selected.


Also, I could really use a bind points tool that would allow me to marquee/lasso select the bone as well as the vector points. Preferably in the same selection.

These would really help the technique I'm working on. Enless someone can create an add points tool that simultaneously adds generic bones to the parent bone layer, these are all I think the scripting interface may be able to manage.

P.s. I plan on posting this technique as soon as I have a good example or two to post with it.
Genete
Posts: 3483
Joined: Tue Oct 17, 2006 3:27 pm
Location: España / Spain

Post by Genete »

Have you installed fazek's replacements tools? they work pretty well on that.
(I don't understand you if you already have installed them)
User avatar
Rasheed
Posts: 2008
Joined: Tue May 17, 2005 8:30 am
Location: The Netherlands

Post by Rasheed »

synthsin75 wrote:
Heyvern wrote:If I create all of my bones for a rig without worrying about parenting at all, and then reparent later... it goes pretty quickly, and I'm aware of exactly which bones are connected as I'm doing it. That's pretty much how I do it. If I have a bunch of bones that need to be children of one bone, just select the whole pack and click the one bone.
That works well, but what if I want to unparent all of the selected bones? I have to unparent each one individually. At the very least, I should be able to selected a group of bones with the reparent tool, and hit a key or something to unparent the selected.
You can also quickly go back to bone selecting mode with the B key, select the bones you want to unparent with shift click, hit the P key, to use the Reparent Bone tool, and click outside any bones to unparent (shouldn't that be to orphan?) a bunch of bones.

If somehow the key combo Shift-Alt could be used as a modifier to click select additional bones in the Reparent Bone tool, it would become much easier to reparent a bunch of bones.
User avatar
synthsin75
Posts: 9971
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Post by synthsin75 »

Genete wrote:Have you installed fazek's replacements tools? they work pretty well on that.
(I don't understand you if you already have installed them)
Yes, I have Fazek's tools, but they don't do what I'm looking for.
Rasheed wrote:...and click outside any bones to unparent (shouldn't that be to orphan?) a bunch of bones.
That's what I thought, but that only deselects all bones using Fazek's reparent tool. Fazek's reparent tool can parent multiple bones at once but cannot unparent multiple bones at once. :cry:

Edit: Apparently Rasheed is right. The LM reparent tool does allow you to unparent multiple bones, so I may see if I can reestablish this fuctionality within the Fazek tool.
User avatar
synthsin75
Posts: 9971
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Post by synthsin75 »

Also, I could really use a bind points tool that would allow me to marquee/lasso select the bone as well as the vector points. Preferably in the same selection.

Any ideas here?
User avatar
synthsin75
Posts: 9971
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Post by synthsin75 »

Damn. I looked at the Fazek reparent script, but it varies too widely from the LM script for me to tell much. He references his utility quite a lot.

I can understand a little bit of the scripts, but apparently the bits I want to change elude me. If I wanted to become a scripting pro, I would have continued learning Flash.

--I never knew Fazeks reparent had the ability to flip bone ends with the space bar. When would someone ever use that?
Genete
Posts: 3483
Joined: Tue Oct 17, 2006 3:27 pm
Location: España / Spain

Post by Genete »

I never knew Fazeks reparent had the ability to flip bone ends with the space bar. When would someone ever use that?
I've use a couple of times when not sure how the rig will be better.
Post Reply