smart bone begins

General Moho topics.

Moderators: Víctor Paredes, Belgarath, slowtiger

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

smart bone begins

Post by slowtiger »

OK, using smart bone dials for the first time for vector animation. So far the head turns, the eyes blink, pupils move horizontally and vertically AND ALL IS INDEPENDENT OF EACH OTHER! If I manage to incorporate the mouth movements tonight I'll be very happy.

Just some tiny questions:
For the movement eye left - middle - right I created a smart bone facing left in frame 0, used the default -90/90° setting, and got a dial which nicely had the middle position in the middle. Can I somehow determine which positon is the default when starting a new scene with this, without creating a key in frame 1? I'd like it to be the middle, but it's left right now.
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
slowtiger
Posts: 6244
Joined: Thu Feb 16, 2006 6:53 pm
Location: Berlin, Germany
Contact:

Re: smart bone begins

Post by slowtiger »

OK, here's the first serious problem:

https://youtu.be/n5FZ-NhXDKw


The head turns nicely, nose eyes brows move with it. But the mouth shapes are stubborn. I need them to be in a switch layer because I want to use automatic lip sync (by volume). In headturn action editing mode I animated each layer inside the switch layer. In edit mode these turn nicely. But in the main timeline the mouth shape layers stubbornly rest on the first frame. Help?

[EDIT]
In the video there's version 1, where I adjusted the shapes with point animation. In the meantime I tried something different: put a bunch of bones in the switch layer and deformed the jawline with these, in headturn action edit mode of course. Now it got funny: while it seems to work now when creating headturn keys in the timeline, in playback it is the same error as before! Scrolling the timeline manually gives the desired effect, playback doesn't!

Layer setup:
face bone layer with smart bone dials
- brow
- nose
- eye (masks the pupils)
- pupil
- mouth switch (follows sound file)
- - mouth3 (contains lips and jaw)
- - mouth2
- - mouth1
- - mouth0
- face

[EDIT 2]
So according to the manual it's impossible to do what I want to do. Hm. I try one last idea now, then back to plan B (yes, I have one).
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
SimplSam
Posts: 1218
Joined: Thu Mar 13, 2014 5:09 pm
Location: London, UK
Contact:

Re: smart bone begins

Post by SimplSam »

slowtiger wrote: Thu Aug 18, 2022 7:40 pm For the movement eye left - middle - right I created a smart bone facing left in frame 0, used the default -90/90° setting, and got a dial which nicely had the middle position in the middle. Can I somehow determine which positon is the default when starting a new scene with this, without creating a key in frame 1? I'd like it to be the middle, but it's left right now.
For the following example:

Code: Select all

Action Frame:      0,   1,  25,  49
Smartbone angle:   0, -90,   0,  90
Eyes:            mid, lft, mid, rgt
At Action Frame 25 (middle) you duplicate the smart bone angle and content keyframes from frame 0.

Also.. Use linear keyframes. Otherwise things can get unpredictable.
Moho 14.3 » Win 11 Pro 64GB » NVIDIA GTX 1080ti 11GB
Moho 14.3 » Mac mini 2012 8GB » macOS 10.15 Catalina
Tube: SimplSam


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

Re: smart bone begins

Post by slowtiger »

Ah! Nice little trick, thx!

Now that other problem, though ... (and it doesn't help that it's absolutely impossible to search this forum for "smart bone" or the like)
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
synthsin75
Posts: 10267
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Re: smart bone begins

Post by synthsin75 »

Checklist of possible causes:
1. Your switch layer is bound to a bone, which blocks smart bones from reaching/influencing your switch vector layers. The switch sublayers need to be bound individually and the switch released.
2. Adding bones to the switch layer is basically the same problem. Instead of bone binding from the parent layer blocking smart bone influence, bones in the switch layer are.

I've never seen it work right when scrolling the timeline but not while playing/rendering....unless you're in the smart action timeline.
What you're trying *should* work, as long as smart bone influence isn't blocked by bone binding or any bones in intervening layers.

If nothing else, you can post/PM a stripped down version of the file. I'm sure one of us can get it sorted.
User avatar
SimplSam
Posts: 1218
Joined: Thu Mar 13, 2014 5:09 pm
Location: London, UK
Contact:

Re: smart bone begins

Post by SimplSam »

As stated above by Wes, the Layer setup that you have should work - if there are no bones on the Mouth switch layer. Whilst testing I did find some random instances when the action did not work in mainline playback, but this seemed temporary/glitchy and also worked after manual scrolling.

Note: The action timelines of the child-layers of the Mouth switch should be blue whilst editing the action - if they are part of a smart action. Also - you can switch the Actions view tab to 'Smart Bones' to ensure you are working with smart-bones and not regular actions.


Additionally - if (for some random reason) you need to also have bones on the Mouth switch/bone-layer - you can create a cascading smart-bone/action on the Mouth layer (i.e. 'mouthturn') and control the rotation of that Mouth layer smart-bone from the 'headturn' smart-bone on the Face bone-layer.


Lastly: You can try searching externally in Google (for example) - using search strings like: site:lostmarble.com smart bone
Moho 14.3 » Win 11 Pro 64GB » NVIDIA GTX 1080ti 11GB
Moho 14.3 » Mac mini 2012 8GB » macOS 10.15 Catalina
Tube: SimplSam


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

Re: smart bone begins

Post by slowtiger »

Lots of good advice, additionally I dreamt some possible solutions, will try all that later and keep you informed!
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
slowtiger
Posts: 6244
Joined: Thu Feb 16, 2006 6:53 pm
Location: Berlin, Germany
Contact:

Re: smart bone begins

Post by slowtiger »

After eliminating what was NOT working, I found something which works ... Remember, I want to solve 2 problems at the same time: have the mouth shapes follow the head turn (including shape shifting) and being able to automate lip sync by just assigning a sound file, which needs to work in all combinations of mouth shapes and head views. Could you guess what I found?
(Did a lot of tests, now incorporate this into the actual artwork.)
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
3deeguy
Posts: 755
Joined: Sun Apr 03, 2011 5:54 pm
Location: Poughkeepsie NY
Contact:

Re: smart bone begins

Post by 3deeguy »

I'm going to watch this topic. I'm after the same effect in future versions with my current project.
1) tweak the phoneme switch layer.
I took selfie pictures with my cell phone to capture my own mouth shapes and made a phoneme 'chart' from them.
2) Add an additional switch vector layer that I'll name "expressions"
It will be a neutral mouth shape inside a bone layer that includes facial expression lines. (Maybe a smile and pursed lips)
3) 'TRY' to add a 10° to 15° head turn which should be enough. When the character says 'yes' or 'no' his head nods slightly.
This character talks exclusively to the camera so head turns will only be 10 to 15 degrees.
Cheers, Larry
User avatar
slowtiger
Posts: 6244
Joined: Thu Feb 16, 2006 6:53 pm
Location: Berlin, Germany
Contact:

Re: smart bone begins

Post by slowtiger »

I think I've got it. Here's my first smart bone talking head turn.
https://youtu.be/nl4iBWmNQz8


Took me just 6 hrs today from creating the artwork to complete the rigging, with lots of trial and error (after the test file yesterday). But I think I have a workflow now. All lines use a brush with "minimize frame to frame randomness". I did sketches of the head in 3 positions in TVPaint first, then traced in Moho. Didn't even use the intermediate position because this turn is good enough (given budget and time), but of course all could be perfected. I'm quite happy to maintain the graphic quality, it looks like it was done in TVPaint.

Layer setup:
face bone layer with smart bone dials
- hair
- brow
- nose
- pupil
- teeth
- eye and mouth (masks the pupils and the teeth) (yes, all in one since they never overlap)
- moustache (lips, moustache and creases)
- face
- ear R
- ear L

Most of the smart bone actions use point animation - I tried with bones first, but it was a mess immediately. Now only the pupils and the ears use bones.

It is very important to work fully concentrated and with discipline. Always de-select everything (esc) before selecting a bone or a shape. Always check whether you're in main timeline or in an action. Always set every key in an action to linear interpolation. Always key the default positions first!

Several times Moho had a display hiccup, I thought I had lost work because it wasn't displaying what I just created, but after some layer selecting back and forth the right state was displayed.

This character now can:
- turn head (I don't need more of him, it's a nearly exclusively talking head script)
- open the mouth
- grin
- frown
- blink
- and move pupils, horizontally and vertically independently.
All these actions are independent of each other and work in any combination.

In the actions I animated
- bones (only translation of pupils and ears, and a bit of squash)
- points (the main workload)
- line width (nose)
- layer order (ears)
- layer flip (I only created animation from middle to one side position, side was frame 1, middle position was frame 25, then copied side to 50 and middle to 26 and flipped each layer at 26. You can see some jumps in the hair, and the ears pop into front and back, but it's good enough. Better not use the exact middle position later.)

The whole puppet will be animated by others, so I hope it's robust.

I'd like to have better control about the direction of smart bone dials, but it seems Moho wants them in its own way and doesn't like me to change it.
- Is it possible to turn a smart bone dial after creating the action without messing it up?
- Still haven't figured out how to assign a certain direction of the dial with a certain part of animation. It's trial and error now with soem counter-intuitive results.
- My head starts in the middle position in frame 1, but with mouth and eyes half open, although the default position in in frame 1 of their actions.
- I tried both ways: create an action first, then a smart bone with the same name, or create the smart bone and animate in that action. Sometimes I got 2 actions with the same name (grin, grin 2), in that case I just deleted the bone and started all over.
There must be some trick about the range of degrees, the position/direction of the dial, and the corresponding frames in the action, but right now I don't have the time to experiment with this.

Ah, and the main trick. Remember what I tried with switch layers in multiple head views, getting automatic lip sync everywhere? In the last version of puppets I worked with bitmaps, so everything was cutout animation and each mouth position an image, and we had to go into each head view to assign the same soundfile to each mouth switch layer. Tedious (and 3 animators produced 38 minutes with this). I tried several things with reference layers, but none of it worked, and definitely not with this new vector version.

Then last night, when I couldn't sleep because of the heat and the thunderstorm, I remembered something: "bone wiggle". Got up at 5 in the morning and wrote down all the stuff I wanted to try today. Did some testing, and, dear folks, here's my solution:

You can assign a soundfile to a smart bone dial with the bone wiggle script.
Set it to 360° to get the full effect. It fills your timeline completely with keys (you can set the interval), but if you select this smart bone, you can safely delete all of them and assign something else. You could even have very individual interpolation in different parts (although I will not do that in this project).

(learning smart bones in just 2 days ... possible, but not recommended!)
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
Greenlaw
Posts: 10405
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: smart bone begins

Post by Greenlaw »

Ha ha, that looks great Slowtiger! And thanks for sharing your ideas. 😸

Not sure this helps but one trick I like to do when making complex head turns is only animate vertical point motions for one Smart Bone Dial and only horizontal motions in another. This helps prevent conflicts between two SBDs (for example, headTurn vs. headNod) and keeps the deformation more predictable.

Another approach is to bind some of the points to a bone and use point animation for one SBD and animate the bone for the other...sometimes this can be easier than keeping track of how the points move for each bone, and it can open different possibilities.
User avatar
slowtiger
Posts: 6244
Joined: Thu Feb 16, 2006 6:53 pm
Location: Berlin, Germany
Contact:

Re: smart bone begins

Post by slowtiger »

I'd like to be able to do more of it with bone animation, not touching every point separately, but as I said, in this rig bones fucked up too much - I had some for brows, eyes, chin, but erased them mercilessly when they didn't work. I'm in a pinch right now with a deadline looming, so experimentation is limited - what works, works.
I have to create 7 more characters now ...
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
slowtiger
Posts: 6244
Joined: Thu Feb 16, 2006 6:53 pm
Location: Berlin, Germany
Contact:

Re: smart bone begins

Post by slowtiger »

It makes a big difference in speed if I know what I'm doing. Drawing 2 views of 7 heads each in TVP took me 2 hrs, just clean enough to serve as a guide. Creating the vector versions in Moho took a bit longer, although I duplicated the files, because different hairstyles. Now rigging each the same way takes me 1 hr per head.

Observations:
For some reason Moho doesn't flip the reference image when I need it in the action. Solution: copy that side view, flip one of them, switch visibiliy on and off when needed.

Selecting all points in a layer and click with the transform tool doesn't always create a key for all points. I habitually click each shape separately now. Same goes for line width tool, unfortunately I have to click each and every point separately.

I'd like to have a shortcut to switch to main timeline, finding and clicking that little entry in the actions list is tedious.

Stuff to do before starting to create actions:
- enable animated layer order
- sort shapes by depth

Stuff to do next time before duplicating files:
- all of the above, plus:
- create the basic bones and bind what's needed

Not possible with the current design, but next time I'd like to be able to completely rig one character, then duplicate the file and make adjustments to create another one.
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
synthsin75
Posts: 10267
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Re: smart bone begins

Post by synthsin75 »

slowtiger wrote: Sun Aug 21, 2022 5:14 pm Observations:
For some reason Moho doesn't flip the reference image when I need it in the action. Solution: copy that side view, flip one of them, switch visibiliy on and off when needed.
I haven't seen that behavior, so not sure what could cause it.
Selecting all points in a layer and click with the transform tool doesn't always create a key for all points. I habitually click each shape separately now. Same goes for line width tool, unfortunately I have to click each and every point separately.
You can also double click the all points animation channel (or right-click and add keyframe) at a frame to key all the points. The transform points tool requires a little bit of movement, so you're not accidentally keying everything while trying to change selection, etc..
I'd like to have a shortcut to switch to main timeline, finding and clicking that little entry in the actions list is tedious.
Super simple script. If you install it as a tool, you can add a shortcut.

Code: Select all

-- **************************************************
-- Provide Moho with the name of this script object
-- **************************************************

ScriptName = "Syn_Mainline"

-- **************************************************
-- General information about this script
-- **************************************************

Syn_Mainline = {}

function Syn_Mainline:Name()
	return "Mainline"
end

function Syn_Mainline:Version()
	return "0.1"
end

function Syn_Mainline:Description()
	return "Return to main timeline"
end

function Syn_Mainline:Creator()
	return "(c)2022 J.Wesley Fowler (synthsin75)"
end

function Syn_Mainline:UILabel()
	return "SYN: Mainline"
end

-- **************************************************
-- The guts of this script
-- **************************************************

function Syn_Mainline:Run(moho)
	moho.layer:ActivateAction()
end
User avatar
SimplSam
Posts: 1218
Joined: Thu Mar 13, 2014 5:09 pm
Location: London, UK
Contact:

Re: smart bone begins

Post by SimplSam »

slowtiger wrote: Sun Aug 21, 2022 5:14 pm Selecting all points in a layer and click with the transform tool doesn't always create a key for all points. I habitually click each shape separately now. Same goes for line width tool, unfortunately I have to click each and every point separately.
You also have the Draw > Freeze Points [Ctrl+F] ( + Selected/Visible ) menu items which can be shortcut keyed.
Moho 14.3 » Win 11 Pro 64GB » NVIDIA GTX 1080ti 11GB
Moho 14.3 » Mac mini 2012 8GB » macOS 10.15 Catalina
Tube: SimplSam


Sam
Post Reply