Hi All,
I am trying to make a custom rig for Hl2 in XSI. It's the first time I have gone about doing this and right now I am just trying to do some export tests. I don't have any control objects ATM just bones.
When ever I parent the root of one bone to the effector of another it does not export properly. Instead the bone just sits at 0,0,0 and does nothing.
If I instead parent the root of one bone to another bone, this works.
However, in the valve biped and other valve rigs, they do have the roots of bones parented to the effectors of other bone chains. So this has left me pretty confused.
Does anyone know anything about this. Is it invalid to parent the roots one bone chain to the effector of another, or should this be working?
Replies
Or are they parent constrained to parts of the rig? If its the former I cant see how that would work..
They are parented.
I actually don't have a "rig" per say. JUST BONES. I am going to animate the bones directly just for this simple test and then go back and do a proper rig.
What I have works in XSI just fine. It's tedious to work with but it was fine to do some test poses and a simple animation.
So, would you normally constrain, rather than parent, the root to the effector? I thought that since it worked in XSI it was acceptable, but really I know nothing of the right or wrong way to do this
I have a bone that starts with a root node, and then in the middle there is the "bone", and then it ends with an "effector" node. Like this:
*root*<--bone<--*effector*
If I have a chain of bones there may be more than one bone in between the root and effector. What I need to do is parent one chain to another. I did somthing like this:
*rootA*<--boneA<--*effectorA* <--parented-- *rootB*<--boneB<--*effectorB*
What I am trying to illustrate there is that rootB is parented to effectorA. This relationship works in XSI just fine, but when exported the bone chain consisting of rootB, boneB, & effectorB it just sits at 0, 0, 0 of the world and does nothing.
I thought it was fine to parent a chain's root to another chains effector, and as I mentioned it looks as though the Valve biped (and other Valve rigs I looked at) did the same thing.
However, what I did try, that seamed to work, was either parenting rootB to boneA directly, or constraining rootB's translation and orientation to effectorA.
While either of those seamed to work, it if left me wondering if I was doing something wrong, and what the correct way to go about doing this was.
I dont think I know of an engine that supports a broken hierchy skeleton for animations, golden rule is every joint chain starts with 1 joint (usually hips) that will split into 2 chains ,the back bones and up the chest and the hips down to both feet..
could you grab a viewport screenshot of the hierchy by chance? been a while since i used xsi
This is a simple example of what I am trying to do. With this current setup if I were to rotate "UL_Bone1" all the other bones would rotate with it, but if I were to export that animation only "UL_Bone2" would rotate with it and the LL bones would just sit at 0,0,0.
Also I can confirm that the bones are being exported. I can see them in the Source SDK model viewer. It's just that they don't move and appear to just sit at the bottom of the world.
Oh BTW, I'm not doing a human model. This is a creature with very inhuman anatomy. Otherwise I would have used the Valve Biped , but that doesn't really effect the rig, I think the same rules apply here.
oops "LR_eff" should be "UL_eff" sorry just a typo.
When in doubt, copy ;D
@PieJesu I would think it would be the other way around because Valve uses XSI as their primary package internally, and they have the most documentation and support for the XSI exporter. As far as I know Max is secondary to them. I feel like I must be doing something wrong. If I figure it out I will post back here. I'm going to have to look at the valve biped and see if I can deduce anything.
Oh and by the way this morning I noted that the effector is actually parented to the bone in the valve rigs but in mine it was parented to the root. XSI sets it up this way by default. I am at work now, but when I get home i'm gong try changing the relationship to match the valve rig and I suspect it will work.
I assumed since it worked in XSI it would work in source, and I was wrong.
Once I fixed this I had no other issues and now have my animated model in game. Thanks your responses.