How to mirror points to create a head turn in both directions?

General Moho topics.

Moderators: Víctor Paredes, Belgarath, slowtiger

User avatar
slowtiger
Posts: 6081
Joined: Thu Feb 16, 2006 6:53 pm
Location: Berlin, Germany
Contact:

Re: How to mirror points to create a head turn in both directions?

Post by slowtiger »

The last time I used head turn actions I had a simple layer flip in the middle. Worked for those characters, but only as long as you have non-symmetrical features on separate layers.
AS 9.5 MacPro Quadcore 3GHz 16GB OS 10.6.8 Quicktime 7.6.6
AS 11 MacPro 12core 3GHz 32GB OS 10.11 Quicktime 10.7.3
Moho 13.5 iMac Quadcore 2,9GHz 16GB OS 10.15

Moho 14.1 Mac Mini Plus OS 13.5
User avatar
striker2311
Posts: 224
Joined: Wed Aug 26, 2020 3:55 pm

Re: How to mirror points to create a head turn in both directions?

Post by striker2311 »

Greenlaw wrote: Thu Jun 08, 2023 1:54 am Actually ignore the tips I wrote above about the Mirror/Swap scripts and just follow my instructions from the tutorial at the link. I just re-read my own tutorial and that info is probably more correct, especially the part about how to tell the script which side of the shape to reference.

(Yes, there's a reason I post so much and it's because I can't possibly remember all this stuff.) 😸
I have remained grateful to you for your details and helping nature, Greenlaw :D
swingsoneto
Posts: 26
Joined: Mon Feb 20, 2017 9:23 pm
Contact:

Re: How to mirror points to create a head turn in both directions?

Post by swingsoneto »

Greenlaw wrote: Thu Jun 08, 2023 1:54 am Actually ignore the tips I wrote above about the Mirror/Swap scripts and just follow my instructions from the tutorial at the link. I just re-read my own tutorial and that info is probably more correct, especially the part about how to tell the script which side of the shape to reference.

(Yes, there's a reason I post so much and it's because I can't possibly remember all this stuff.) 😸
Cool, thank you for that, and for the tips. I'll try to see if I can get a handle on the Swap / Mirror script's idiosyncrasies. I've already downloaded a bunch of scripts from mohoscripts.com but I definitely hadn't come across that one. That's very cool. I set up a Smart Bone rig the other day controlling stroke exposure for fat folds, etc., and I ran into exactly this issue with the starting point. I'm glad there's a way to change it now!

So heyvern is the fella on here that had written the mesh mirroring script that I mentioned earlier. The thread where he'd originally posted the script and tutorial no longer hosts any links to the script, so I can't take a look at it to see what would need updating, assuming I can get around to learning Lua soon. There's another thread somewhere where he's discussing the task of flipping points; it seems complicated...
User avatar
lazerslab
Posts: 32
Joined: Sat Mar 26, 2022 12:55 am
Location: Cranston, RI
Contact:

Re: How to mirror points to create a head turn in both directions?

Post by lazerslab »

So this doesn't do what you are asking, but it does technically work (my apologies if this has already been covered):

Occasionally to speed up the process I will create a head turn in one direction, using a smart bone controller "head turn". You can then create a second smart bone "full head turn", and use it to control the first smart bone:
in a 90 frame smart action, have it default in neutral position at frame 45. frame zero and frame 90 can move the "head turn" smart bone to full turn, so each extreme is identical. Then, you can simply add a layer flip to one of the sides which would essentially flip everything the other way.

So obviously, this is ideal on heads that are symmetrical, but I occasionally do it on assymetrical rigs as well... just requires a few extra steps. Also, you can flip the head bone or the head layers (if all the head layers are organized properly in a single folder)- either method will work, provided the head is parented to a single bone instead of multiple- but I find that flipping the head bone can sometimes lead to issues with bezier curves if you use them in the shapes.

Lastly, if you are using dynamic bones in the head, for example hair, they can perform erratically with bone flips.

I like using this method because It works well with elaborate mouth rigs
swingsoneto
Posts: 26
Joined: Mon Feb 20, 2017 9:23 pm
Contact:

Re: How to mirror points to create a head turn in both directions?

Post by swingsoneto »

lazerslab wrote: Fri Jun 09, 2023 7:08 pm So this doesn't do what you are asking, but it does technically work (my apologies if this has already been covered):

Occasionally to speed up the process I will create a head turn in one direction, using a smart bone controller "head turn". You can then create a second smart bone "full head turn", and use it to control the first smart bone:
in a 90 frame smart action, have it default in neutral position at frame 45. frame zero and frame 90 can move the "head turn" smart bone to full turn, so each extreme is identical. Then, you can simply add a layer flip to one of the sides which would essentially flip everything the other way.

So obviously, this is ideal on heads that are symmetrical, but I occasionally do it on assymetrical rigs as well... just requires a few extra steps. Also, you can flip the head bone or the head layers (if all the head layers are organized properly in a single folder)- either method will work, provided the head is parented to a single bone instead of multiple- but I find that flipping the head bone can sometimes lead to issues with bezier curves if you use them in the shapes.

Lastly, if you are using dynamic bones in the head, for example hair, they can perform erratically with bone flips.
Mmkay mmkay that's a clever workaround to a problem. I can see the utility in that. I'll give that a shot. Just out of curiosity, do you find that you run into any issues further down the chain when rigging head turns this way?
I like using this method because It works well with elaborate mouth rigs
Interesting; can you "elaborate"? :D What kind of elaborate mouth rigs are you creating that work well with this method, and why does it work well for you? I'm rapidly getting my bearings in Moho, and right now I'm trying to find some best practice suggestions for setting up nested systems like this.
User avatar
lazerslab
Posts: 32
Joined: Sat Mar 26, 2022 12:55 am
Location: Cranston, RI
Contact:

Re: How to mirror points to create a head turn in both directions?

Post by lazerslab »

So the main issues as I mentioned were physics bones and bezier curves. If you only pair the head layers to a singer bone (a head bone) and no extra bones, you can just keep all the head layers in one folder and flip that in your smart bone. I haven't run into any issues doing it that way (i seem to recall instances where it doesnt preview flips properly on frame zero... but it animates normal in timeline... so I will mention that). I would advise trying it this way if possible with an existing puppet - just test it in a copy of your project to see if you like it (only takes a few minutes to set up on an existing rig)

In regards to my comment about elaborate mouth rigs - I do seperate smart bones for all the visemes, and I often animate the whole head in these smart bones, not just the mouth. That's basically what I mean by elaborate... and it works well with those head rigs. Good luck!
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Re: How to mirror points to create a head turn in both directions?

Post by heyvern »

Just some closure from me, those scripts from DKWroot for flipping and mirroring points are great Mine were a bit buggy. They may have broken a tad during a version update and I just never quite got around to fixing them. I do have a "horizontal translate mirror" tool that works. Lets you move points symmetrically "live". I also have a bone-flipping tool for rigs that still works in recent versions.

I know I know, all those broken links here from years of script writing... ugh... you know how it is, life happens, dog ate my homework, zombies ate my dog and then took over the mall, someone stole my car, there was an earthquake, a flood, locusts! It wasn't my fault! I will try to find some RELIABLE place to upload stuff again and fix broken links here (sadly a lot of the scripts probably don't work in new versions of Moho but some might).

A while back I wanted to create a script that would flip bone rigs/actions. Flip the constraints, copy flip rename the smart actions etc etc.... yikes! Dog ate my homework again. I have discovered that sometimes creating a complex script to streamline workflow can take more work and time than simply doing it by hand. I may still finish the... Flip the Fracking Rig Already® script someday. :D
Leks Luci
Posts: 3
Joined: Sat Nov 04, 2023 9:24 pm

Re: How to mirror points to create a head turn in both directions?

Post by Leks Luci »

Hello,
Here is a revised 'lm_select_points' file from DKWROOT_TOOLS, combining new functions of Moho 14 and the mirror, swap, and line-up functions inside of the 'Select Points' tool. All the credits go to the DKWROOT_TOOLS, I just wanted to use this script along with the Moho 14 amazing new functional.

https://www.mediafire.com/file/y1gp89ui ... s.lua/file
You'll still need to download and utilize image files from the DKWROOT_TOOLS, as the script has these image files as its dependencies.

Kind regards.
Leks
Daxel
Posts: 996
Joined: Wed Mar 27, 2019 8:34 pm

Re: How to mirror points to create a head turn in both directions?

Post by Daxel »

Leks Luci wrote: Wed Nov 08, 2023 9:16 am Hello,
Here is a revised 'lm_select_points' file from DKWROOT_TOOLS, combining new functions of Moho 14 and the mirror, swap, and line-up functions inside of the 'Select Points' tool. All the credits go to the DKWROOT_TOOLS, I just wanted to use this script along with the Moho 14 amazing new functional.

https://www.mediafire.com/file/y1gp89ui ... s.lua/file
You'll still need to download and utilize image files from the DKWROOT_TOOLS, as the script has these image files as its dependencies.

Kind regards.
Leks
That's very cool! Could you share or point to a link where those dependencies are?
Thanks for sharing and welcome to the forum.
Leks Luci
Posts: 3
Joined: Sat Nov 04, 2023 9:24 pm

Re: How to mirror points to create a head turn in both directions?

Post by Leks Luci »

Daxel wrote: Wed Nov 08, 2023 11:41 am That's very cool! Could you share or point to a link where those dependencies are?
Thanks for sharing and welcome to the forum.
Thanks for the warm welcome, Daxel.

Here is the link to the repacked version of "DKWROOT Scripts 1" that contains only revised 'lm_select_points.lua' script with its dependencies and its respective unmodified menu version, just in case you prefer it.
https://www.mediafire.com/file/4etz743v ... S.zip/file

If you want to do the combining of the script with its dependencies manually, here is the link to DKWROOT Scripts 1.
https://lostmarble.com/forum/viewtopic. ... 78#p208378
You'd need to copy all the images from the "Images" folder into your Scripts\ScriptResources Custom Content Folder. Also, you need to copy three images from the "Tool" folder into your Scripts\Tool Custom Content Folder, that have 'lm_select_points' in its names.

Kind regards.
Leks
Daxel
Posts: 996
Joined: Wed Mar 27, 2019 8:34 pm

Re: How to mirror points to create a head turn in both directions?

Post by Daxel »

Leks Luci wrote: Thu Nov 09, 2023 5:16 am

Here is the link...
Thanks!
Post Reply