Select Shape tool - See where in the order the dang shape is

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

Moderators: Víctor Paredes, Belgarath, slowtiger

User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

But, ... would it allow do new things that cannot be done with sort_sahpes_by_bones embedded script?
Well for starters you wouldn't need a bone for every shape.

Suppose you have 20 shapes on a layer and you only want to sort shapes 5 through 10 as a group, meaning they would stay the same in relation to the other shapes but would reorder within the group 5 to 10. You would only need those 5 named bones identified as "bone.shp5, bone.shp6... etc".

The shape list is created on frame 0 ONLY if the table list is = to nil (file is just opened). If the list already exists then the shape order is "reset" based on the ORIGINAL order based on the bone names and the original order the table was created when first opened.

The shape list table is created on frame 0 initially so that shapes without a matching bone are left "as is" in the relative shape order but still have an "original" order placement associated with the unique "userdata" value. On frames above 0 shape order with the "5 to 10" grouping are reordered based on bone movement.

I just wish there was some way to know when the program is closed or the file is closed within lua. Or some way to force a reset.

If the file is saved and closed while on a frame other than 0 the file would be "wrecked". All the ordering would be "messed up". The bones wouldn't match the shapes they were suppose to reorder.

This too me is a deal breaker. I might use this myself but it would be way too dangerous to rely on.

-vern
Genete
Posts: 3483
Joined: Tue Oct 17, 2006 3:27 pm
Location: España / Spain

Post by Genete »

If you create bones only for a range of shapes then the rest of shapes would be static ALWAYS. Even you cannot reorder them for the whole animation. Once you use the Raise shape, Lower shape or Raise to Top or Lower to bottom built in commands they would interfere in the corespondency table and ther would not any way to restore it. It owuld be a mess.

Imagine shapes 0,1,2,3 not wrapped by bones 4,5,6,7 wrapped and 8,9,10 not wrapped.

How do I put the shape 5 below the number 10?
Or what should happen if I apply a Raise to top command to the shape 10? the script wouldn't notice nothing but now shapes 4,5,6,7 become 5,6,7,8...

I don't see it clear.

-G
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

I don't see it clear.
Actually the table WOULD be updated even with shapes that aren't controlled. Those shapes would still be "reordered" just not by a named bone. They would get an "ID" from the unique userdata value stored as a string. That is the key. The userdata value converted to a string CAN be compared.

During the resort each shape's userdata value would be converted to a string and compared to the table (also a string). That is how the order could be modified with out renaming bones or having a bone for each shape.

As far as the ranges, if you have 5-10 you would never be able to move a shape outside the range. If you move 5 above 10 then 5 would "become" 10 and 10 would become 9 and so on down to 6 which becomes the "new" 5. The shapes outside that range (4 and 11) wouldn't change at all.

This was just an example. The only reason I'm even considering it is too keep the number of bones to a minimum. Most times I only need to move around a few shapes. I could even imagine have groups of shapes that are reordered as a unit by one bone... say all the arm shapes would move to the bottom or the top.

-Vern
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

Hey! I think it's going to work.

I also have a sort of workaround to the "resetting" of the shape order on frame 0.

I have the script set the document to "dirty" or "changed" so if they try to close on a frame other than 0 it will alert them to go to frame 0 and then save.

Not sure how well this will work but I'm going to try it for fun.

My very rough test file has a dozen or so shapes but only three named bones are associated with them. The userdata tostring method is working to keep track of them.

-vern
Genete
Posts: 3483
Joined: Tue Oct 17, 2006 3:27 pm
Location: España / Spain

Post by Genete »

Good luck!
-G
basshole
Posts: 439
Joined: Tue Feb 12, 2008 1:11 am

Post by basshole »

I was trying to use this, and I seem to be doing something wrong.

I backed up the original scripts, then unzipped the file, copied the scripts from the desktop folder (can't figure out how directly extract to a given folder using Stuffit Expander) where they were unzipped, and pasted them into the tools folder. It asked me if I wanted to replace the old files with the new. I said "yes" three times. Closed ASP, opened it again, tried messing with the shapes on a one of my multi-shape layers. I don't see a window, and don't see different shapes being selected as I up/down with cntrl and alt held down. Where'm I going wrong?
basshole
Posts: 439
Joined: Tue Feb 12, 2008 1:11 am

Post by basshole »

I was trying to use this, and I seem to be doing something wrong.

I backed up the original scripts, then unzipped the file, copied the scripts from the desktop folder (can't figure out how directly extract to a given folder using Stuffit Expander) where they were unzipped, and pasted them into the tools folder. It asked me if I wanted to replace the old files with the new. I said "yes" three times. Closed ASP, opened it again, tried messing with the shapes on a one of my multi-shape layers. I don't see a window, and don't see different shapes being selected as I up/down with cntrl and alt held down. Where'm I going wrong?
basshole
Posts: 439
Joined: Tue Feb 12, 2008 1:11 am

Post by basshole »

Nevermind. Delete above.
basshole
Posts: 439
Joined: Tue Feb 12, 2008 1:11 am

Post by basshole »

Does this tool work if dropped into the folders for v6? I bought the full version of 6 so I could keep 5.6 around instead of upgrading. Do you need a new version of this tool?
arfa
Posts: 244
Joined: Tue Dec 23, 2008 8:15 pm
Location: New Zealand

Post by arfa »

I have been updating AS6 and have so many script permutations swimming about in my head that I have lost track a little but...

it seems to work OK for me.

I have just spotted Rudigers mod and haven't tried that but it seems simple enough. Cool

- arfa
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

arfa wrote:I have been updating AS6 and have so many script permutations swimming about in my head that I have lost track a little but...

it seems to work OK for me.

I have just spotted Rudigers mod and haven't tried that but it seems simple enough. Cool

- arfa
Ah yes, my first foray into scripting with Anime Studio. What fond memories.
arfa
Posts: 244
Joined: Tue Dec 23, 2008 8:15 pm
Location: New Zealand

Post by arfa »

And it works just fine. Yet another treasure to be added to my (rather jumbled) script chest. thanks. :P

I have been spending quite a lot of time resetting ver6 to include the various scripts I set in 5.

Is there some reason why all these gems (especially Fazek's stuff) aren't included in a version release of the program? No doubt there would be MASSIVE opinions as to what should and shouldn't be included but... shape sorting - pretty basic tool. Get in as standard I reckon.

Is this worth a seperate thread? Am I alone here?

arfa
Rudiger
Posts: 786
Joined: Sun Dec 18, 2005 2:25 am

Post by Rudiger »

Update of 7feet's (and Rudiger's) Select Shape mod for AS6.1:

lm_select_shape_v6.0.2.zip
Last edited by Rudiger on Tue Jan 05, 2010 1:14 pm, edited 1 time in total.
User avatar
Víctor Paredes
Site Admin
Posts: 5646
Joined: Wed Jan 26, 2005 12:18 am
Location: Barcelona/Chile
Contact:

Post by Víctor Paredes »

Thanks, Rudiger! I really missed this mod tool on AS 6 :D
I can see now you can use shift to limit the movement on a gradient to just scale it without rotate it. Any chance to get rotate without scaling using another shortcut? That would be great.

Thanks again! your scripts are just awesome.
Image Image Image Image
Moho Product Manager

www.mohoanimation.com
Rigged animation supervisor in My father's dragon - Lead Moho artist in Wolfwalkers - Cartoon Saloon - My personal Youtube Channel
Post Reply