View Full Version : Actor to Character Plotting: Shoulder Issues
03 March 2007, 05:14 PM
I'm having issues retaining the correct forwards and backwards shoulder motion when plotting motion from the motionbuilder actor on to a character. To illustrate this clearer i'm going to use the only method I know how: 80's cartoon characters...
Here's He-Man invoking the power of grayskull...
This type of vertical movement comes across fine. If my character takes his arm from down by his side and reaches above his head, it carries that motion across correctly.
The problem is that somewhere during this process it seems to be treating the shoulder as a hinge joint instead of a ball joint, so it only takes the up and down movement.
To show the type of movement where i'm having issues, here's Captain Planet 'taking pollution down to zero'...
Any type of forward or backward movement isn't taken into account and is lost during the plot. The optical markers drive the actor correctly it just doesn't plot the info from the actor to the character.
I can get the character to reach forward using the Reach-T slider on the hands, so that the character hands match the actor hand position, but rather than rotating the shoulders forwards as it should do, it bends the spine to accomodate the motion. I've tried playing with pretty much all the options in the character settings window too, but to no avail. Even shoulder reduction only affects the amount of vertical movement.
If anyone has any info on solving this issue and retaining that shoulder motion it would be greatly recieved. If anyone from Autodesk is reading it would be great to hear your thoughts on this too, as this is potentialy an error in how actor input works (would you mind fixing undo while you're at it ;) ).
Hoping for some quick responses.
03 March 2007, 09:31 PM
It seems like a DOF setting limiting the rotation, or maybe try "realisitic shoulder solving", turn down "stiffness" on the shoulders. Are you in "Basic" or "Expert" mode? I know in Expert mode other solving functions become active. Didn't use to have "modes", all functions were active/available. They came up with "Basic" for newbies I suppose. I digress...
I've had to limit fore/aft motion before, so it should be working one way or another. If you can post or send me a small example file I'll see if I can take a look.
03 March 2007, 11:34 PM
My first thought was that your characters shoulder isn't constructed in the same way as the actor is setup and the data simply has nothing to plot to (no clavicale between the spine and shoulder for example).
From what you say, the actor drives your character fine when used as the input source and it's only when you plot it out that it no longer works.
It's of course hard to say what's happening without seeing it but if it's not a setup issue or something overlooked in the plotting options then I guess it could be a bug with plotting.
I can't remember hearing of such a bug but ya never know... What version of MB are you using?
03 March 2007, 08:59 AM
Cheers for the replies so far. Unfortunately I can't post files or screenshots because of non-disclosure (I use MB at work and it's using work assets). I'm off work today but when i'm back in (tomorrow), i'll post some screens/movies of this same issue but on the default MB surfer guy.
In the mean time, here's some more details...
crispy: I've tried realistic shoulder solving and stiffness, but neither make any difference to the forward/backward motion. Since i'm not at my desk I couldn't tell you if i'm in Basic or Expert mode but i'd imagine our IT support guys have set it to Expert mode.
Sammer: Sorry I should have been clearer on this; it's actually not solving correctly when used as an input source. The info doesn't come across when plotting as a result of this.
It could be the skeleton setup, but I doubt it since I have no issues moving the shoulder forwards and backwards once it's plotted to the control rig, and can quite easily keyframe that forward and back motion on top of the capture; it's just a pain to have to do that on every capture.
I'm using Motionbuilder Pro version 7.
Like I say, i'll double check the things you've suggested and i'll post pictures/renders of the issue tomorrow when i'm back in work.
Cheers again for the comments. :)
03 March 2007, 02:18 PM
Ok so I sorted this...
Basically it was to do with our marker setup: We were only using one marker each on the top of the shoulders and since markers only give positional information and not rotation it just wasn't enough data to drive the actor's shoulder correctly.
The reason I thought this was an actor to character issue rather than an optical to actor issue is because actor body parts stretch away from each other, so while the actor's shoulders weren't solving correctly the arms were stretching out as they should. Since character body parts are locked together by the skeleton heirarchy, this wasn't translating across to the character as the arms were locked to the shoulder position.
I sorted this by creating new virtual optical markers out of cubes constrained to an average position between existing markers on the shoulder, arm and either upper chest or upper back. In future i'll just add these new markers when capturing.
Thanks again guys. :)
03 March 2007, 04:18 AM
Glad you sorted it out, but it's a little odd that you would need more than one shoulder marker. The MB Actor pretty much points-at the shoulder marker, and although I've used more than one shoulder marker on a shoot for occlusion, one works fine in the MB Actor and gives a full rotation of the clavicle. At least as far as the performer actually rotated his clavicles, a notable point.
What you are describing (if I get it right) is artificially reaching the hands, and the shoulders/chest/whatever need to give to accommodate this. This has little to do with the Actor/Character relationship, and lots with the Character's stiffness and pull settings. You are forcing the chest/shoulders to do something the markers are not.
If you think the shoulders are not responding enough or seem to sit too far back overall or such, placement of the marker on the MB Actor's shoulder can make a radical difference in response and the Character's default rotation of the clavicle. Generally, placing the marker towards the inside of the shoulder orb will cause more exaggerated rotations, as it is closer to the pivot point. Placing it further out on the outside reduces the movement/rotation of the clavicle. Simple physics seem to apply. Placing the marker differently fore and aft will change the stance radically as well. The Actor's shoulders can act pretty twitchy/freaky when tweaking the marker postion after the fact, best to scale etc the shoulder width when setting up the Actor at first.
Then again, placement of the markers on stage plays a role, putting them far out on top of the shoulder joint where there is more movement will work better than in closer.
Anyhow just some thoughts, hard to tell exactly what you have going on without seeing it. We all have our tricks that work, hopefully a few of these ideas help in the future :-)
03 March 2007, 05:37 PM
If I understand what you're suggesting then it's not really feasable for us to move markers out of their original capture positions. If it were cutscenes or pre-rendered sequences then we could spend more time tweaking the markers positions for each capture, but since we deal with game animation (hundreds of smaller takes that need to be worked through quite quickly), it's more efficient for our pipeline to create a single actor file for each capture session that's set up in a generic position to work with all the motions from that session. Once that's been created we simply open that actor file each time we want to work on a capture from that session, and merge the opticals from each new take over the top. If I did as you suggest and offset the shoulder markers it would just pull the actor out of place when I merged in a new take as the markers would return to their original position from the capture.
In future we'll make the changes in the marker setup that we use when we're actually capturing, but for now this 'virtual marker' solution that i'm using, seems to be working really well.
If you have any suggestions or alternative methods though, i'm more than happy to give them a go. Just bear in mind we're dealing with game animation.
03 March 2007, 07:28 PM
I'm on the same page as you with using a single Actor for a given capture session, repeatedly importing each motion into that Actor's optical root, for all the motions in that session. What I'm describing is making initial adjustments on the original Actor file, which are then used for all subsequent imported motions.
With the markers in the t-pose and first fitting the Actor inside them, you can scale the Actor chest on the X only, making the shoulder markers visibly sit above the inner or outer edges (or anywhere inbetween) the Actors shoulder orbs. Then adjust the length of upper and lower arms to match elbows and hands. (don't worry if the "chest" looks weird/squashed/out-of-proportion, it doesn't matter) Tweaking the shoulders this way will not really affect the natural stance of your Character, but it will affect how the Character's shoulders respond as described in my previous post. Fore and aft shoulder tweaks will affect the stance of course, but those would be desired tweaks on your part.
So what I'm proposing is a global setup of the master file to be used for all animations, not a motion by motion tweak. Hopefully this clarifies my previous post. Whatever solution is getting the job done quickly right now, go for it for sure. Hopefully my mind's eye is imagining your symptom correctly on my end ;-) If you have Skype or such, maybe we could discuss it free of charge headset to headset. Send me a peersonal message if you like.
Regardless of that, here's a trick that may or may not be useful/time saving to you:
Instead of having a seperate fbx file for each session's Actor, have one fbx file with one Actor and have multiple Marker Sets loaded from each session. Requirement: It must be the same stage actor and the same marker setup for all sessions.
After setting up the individual Actor's for each session, name and export the Marker Set from the Actor window for each one. Then import all of the Marker Sets into one of Actor fbx files. You can now effectively switch between sessions by choosing the correct set from the popup list.
We had a 10 day shoot, around 800 motions. 10 Actor setup files, plus a complex template edit file with alot of proprietary rigs in it. We were looking up the date/session, loading the right Actor fbx, merging with the edit file... a tedious repetion for 1200 in game edits. With one Actor and multiple Marker Sets, it was one edit file already containing the Actor. One master edit file to open and start working. Wish I'd thought of it at the beginning of the project :-)
Good luck with all,
03 March 2007, 07:28 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.