View Full Version : My worst nightmare...biped!

02 February 2009, 02:33 AM
So how do I set biped into Figure Mode? I have found that I can't change the structure unless I do but I have not found a way to place it into figure more.

02 February 2009, 02:46 AM
<biped_ctrl>.figureMode Boolean Default: False
Is that it?

But really, I just felt I had to post at the absurdity of the situation.

02 February 2009, 03:17 AM
with your bip selected go into the motion tab and click figure mode?

Yeh me too rob, im scared @_@

02 February 2009, 03:29 AM
with your bip selected go into the motion tab and click figure mode?

I think Paul is automating something, so doing it via the panel is not an option I'm guessing! :)

02 February 2009, 09:25 AM
a practical example :
$Bip01.controller.figuremode = true

02 February 2009, 12:38 PM
I think Paul is automating something, so doing it via the panel is not an option I'm guessing! :)

Yeah yeah i know, but it was a reply too tempting to resist. :rolleyes:

02 February 2009, 01:10 PM
paul hormis's site has a script for this if i remember. Welcome to the dark side, PEN!

02 February 2009, 01:15 PM
Ya I should have gone to Paul's site. Yes I'm automating something for it for a client that needs it. Don't know why I couldn't find figuremode in the help, to tired last night I guess. Thanks for the help and the cheap shots, I do deserve them;). Biped is just so frustrating as I can't just do exactly what I need I have to do what ever it will allow me to do. I'm used to being in control of the software.

02 February 2009, 02:33 PM
Biped sure is a mess. If I create it with this line.

bp=biped.createNew 80 -90 [0,0,0]

You would expect to get a biped that is standing on the ground that is 80 units tall. How ever I get a biped that is buried up to its eye balls in the ground that is 79.422 units tall. Now all though I think the best place for biped is buried up to its eye balls I need to sort out what is going on. Adding 80 to the Z value of the position leaves it 3.277 units above the ground. The help states the position value is this..

Biped CreationBiped Creation


World position of the Biped. This is the position of the COM shadow.

02 February 2009, 04:25 PM
3.277 is nothing for Biped, you should try reading some transforms off it, that's where the fun really starts... :D

02 February 2009, 11:33 PM
Unfortunately that is exactly what I have to do with it. What do you think, will I be able to align it to another rig?

02 February 2009, 12:52 AM

take a look at this file from the SDK.

you might find it useful, as it talks about the order for setting biped transforms amongst other things.

02 February 2009, 12:57 AM
You simply forgot to add the magic numbers :)
bipedHeight = 80
biped.createNew (bipedHeight*1.00728) -90 [0,0,bipedHeight*0.966022]Martijn

02 February 2009, 02:33 PM
Ah, the magic numbers, how could I forget those. I have now included eye of newt and a touch of bat wing as well to the potion, it is starting to work much better.

Thanks for the info guys. I look up the order in the SDK but I think that I already have that worked out. Gota love that it looks like the hierarchy is one thing but the actual parent is another.

03 March 2009, 02:43 PM
Any one have any good solutions to sorting out the scale of any given part of a biped, it is incredible as each part returns a different scale value when it is built. I'm trying to match a biped to a custom rig, all orientations are the same but when you try and set for instance the position of the second spine joint you can't move it, you need to scale the parent. Gota love that idea in the first place:S So is there an easy way to set the scale to get the right length or do I just have to try and sort out the math for that?

03 March 2009, 02:57 PM
Paul I wish i could help but the truth is I've tried numerous biped scripting ideas over the years, the one thing that always bites me on the ass is when i try to get anything to do with transforms.

03 March 2009, 03:24 PM
That is what I hear all the time. Well I have the scaling being set correctly so far for the spine. A huge pain in the butt.

What I did was get the length of the target joint, the length of the biped joint and added the difference to the scale and then set the scale transform with that first.

Now it is the clavicles that I'm having a little trouble with.

03 March 2009, 09:51 PM
Just wait until you try to set the hips rotation/transform in figure mode and then go out of figure mode (via script).

...I think that was the one I had nightmares with doing the Biped -> BVH -> Puppetshop.

could have been something slightly different, but some of that stuff is really really broken in Biped :|

03 March 2009, 10:10 PM
if you get the hips's transform and then set it via script, it only sets on one axis from what i remember! useful!

03 March 2009, 12:37 AM
Well all this sounds promising. Paul Hormis has said that he has a script that will do this, I hope that he is willing to share as I'm seeing all sorts of issues.

03 March 2009, 01:40 AM
Thanks for the suggestion Kees, If I had my way I would be using a custom rig but it is needed for clients of a company that are using Biped. Not every one will listen to our rantings about custom rigs.

03 March 2009, 02:31 AM
So it looks like it is figureMode that causes the problem, is this what ever one else has found? With it off things work as they should.

03 March 2009, 06:43 AM
I have taken to storing the figure pose in a negative frame with a key on all limbs and tell skin to take it's reference frame from that. Increasingly, i've had to do this to get around the bug that biped conveniently 'forgets' the skin pose flicking between the two modes.

03 March 2009, 02:53 PM
But what if the key is deleted?

03 March 2009, 04:56 PM
this is for pre animation, should you need it back you will have to save out a .cpy with the reference pose in

03 March 2009, 05:48 PM
Hmm, can that be loaded in when in figureMode? I could set the key, save the pose, delete the key, enter figureMode and load the pose.

03 March 2009, 06:19 PM
Some hack code that works in a manual test. Set the transforms and set keys. Then run the code below. Any one try this before?

biped.createCopyCollection $'Bip01'.controller "PEN"
biped.copyPosture $'Bip01'.controller #posture true true true
biped.clearAllAnimation $'Bip01'.controller
biped.pastePosture $'Bip01'.controller #posture false "HorVerRotPlvsSpnLArmRArmLFingRFingLLegRLegLToeRToeHd01"
biped.deleteAllCopyCollections $'Bip01'.controller

03 March 2009, 09:55 PM
does this store the pelvis faithfully? I had a biped with a pelvis bone slightly angled forward and the copy paste posture didnt capture this state. I ended up using biped.copybipPose and biped.pasteBipPose instead, as you can also add the COM paste options.

03 March 2009, 01:23 PM
What is the pasteBipPose looking for in <ICP_MXBipedCopy>? Help isn't very helpful.

03 March 2009, 02:13 PM
it's the copied pose you get when you call biped.copybippose. I roughly understand it as so -

copycol= biped.getcopycollection $.controller 1
icpmxbipcopy = biped.copybippose $.controller copycol #snapview
biped.pastebippose $.controller icpmxbipcopy false #pstdefault true true true false

The problem comes form extracting an <ICP_MXbipedCopy> from a cpy file, which is what i needed. There is little point copying from an existing pose if you are loading in a position, but the paste options actually did what i wanted rather than the other paste pose options that do not restore the pose faithfully. there was no way i could work out of doing this, hence i gave up :-(

03 March 2009, 11:40 AM
Well say this point I have told the client that it just can't be done in a reliable way and to move on.

Thanks for the help guys.

CGTalk Moderation
03 March 2009, 11:40 AM
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.