PDA

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


PEN
02-27-2009, 01: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.

RobGalanakis
02-27-2009, 01: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.

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

Yeh me too rob, im scared @_@

erilaz
02-27-2009, 02: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! :)

Floating_Inkpot
02-27-2009, 08:25 AM
a practical example :
$Bip01.controller.figuremode = true

JonathanFreisler
02-27-2009, 11:38 AM
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:

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

PEN
02-27-2009, 12: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.

PEN
02-27-2009, 01: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

<wpos_point3>

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

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

PEN
02-27-2009, 10: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?

LoneRobot
02-27-2009, 11:52 PM
Paul,

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.

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

PEN
02-28-2009, 01: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.

PEN
03-04-2009, 01: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?

LoneRobot
03-04-2009, 01: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.

PEN
03-04-2009, 02: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.

kees
03-04-2009, 08: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 :|

LoneRobot
03-04-2009, 09: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!

PEN
03-04-2009, 11:37 PM
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.

PEN
03-05-2009, 12: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.

PEN
03-05-2009, 01: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.

LoneRobot
03-05-2009, 05: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.

PEN
03-05-2009, 01:53 PM
But what if the key is deleted?

LoneRobot
03-05-2009, 03: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

PEN
03-05-2009, 04: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.

PEN
03-05-2009, 05: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

LoneRobot
03-05-2009, 08: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.

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

LoneRobot
03-06-2009, 01: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 :-(

PEN
03-07-2009, 10: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-07-2009, 10: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.