I would like to know if someone has a fix to get Bipeds + Arm Twists working on Unreal PHAT.
Probably no more artists on Epic uses them to humanoids (what would explain why they designed and deployed UART), so all 3dsmax users are now constrained to adopt exactly the same workflow (MAYA or die), learn CAT (what is a hell of an ugly tool and doesn’t have the same workflow/features as Character Studio or either UART), or don’t use Ragdolls on the game.
The key problem with Biped X U4PHAT is that if you make arms and legs twists this messes the FBX (and by consequence U4’s) skeleton hierarchy, since Twists from Biped are “parallel” hierarchies, the problem is not skinning the things (what both on Skin and Physique still working), but you get hanged limbs parts each time you activates ragdoll since we can’t melt/bind the 2nd hierarchy terminator to character’s hands, knees or feets that usually are part from the “main” hierarchy.
I’ve tried to “switch” parents/childs on 3dsmax Schematic View, but such changes doesn’t applies on exports, make a non-arm biped and rebuild arms by bones (already with twists) it works, but on lose the copypaste poses from Biped it loses around 30% from the advantage on use it.
Yeah, the way Biped bone twists works is just not really game friendly. The hierarchy is wrong unfortunately.
Probably the best way to make use of Biped and still get basically complete customization on your skeleton is to build a separate skeleton on top of Biped and then constrain it to the Biped skeleton. Then skin your mesh to this custom skeleton in stead. It’s a little extra work but not that much and it then allows you to build your skeleton the way you want it, but still get the animation advantages of Biped.
OMG… I suck on it in term of productivity, the rigging is not that bad (to be sincere, it’s more flexible than Biped), but on animating… I felt as handcuffed!
That FKIK switch on feets is a nightmare, the copyposes works, but I’m adicted to my “already done” pose collections.
Your suggestion looks like the only way to integrate Biped on Character Production Pipeline, but a 2 times rig per character/skeleton model…
CAT looks more like an “artistic animation” tool than a “produce as crazy” one, if not used to Physique I would migrate to Maya.
I’m also a Biped user. just yesterday I finally managed to use Anim Retargetting from UE4’s blueman into my Biped-based skeleton
for me it’s really important to keep using Biped because I have over 115 animations that I made for my UDK game, most of which I’ll want to re-use, but need to copy-paste into my UE4 skeleton which is slightly different from my UDK one - and for copy-pasting into a different skeleton Biped is the best.
but I also want to use some of the marketplace’s animations, which is why it was a priority for me to get the retargetting to work
now I didn’t know such a setup would cause problems in PHAT, in UDK I actually didn’t use twist bones (I vaguely remember problems similar to what you describe, from when I did try)
I guess this means my proof-of-concept phase for animation isn’t over yet, until I try and test PHAT as well and make it work
not really sure why you need to use the twist bones in PHaT, i can only go with the stuff i did in UT3/UDK/UE4 , phat is afaik for physics collisions + ragdoll , so long as you are carefull with the constraints it should work fine, though it can take a while if you want it to react a certain way or you r playing with the damping values
well the idea is that every bone that might be able to rotate needs its own physical version of the bone, as the bone has some vertices weighted into it
if you delete the twistbone body in PHAT does it relate the weighted verts into the next bone or the previous one?
but even if that would be correct, rotating the proper bone would result in very extreme rotations for limbs (the very thing that twist bones is meant to fix). so it might end up being a nice animated character that has very rough ragdoll rotations
or perhaps like you say it’s only a matter of setting the constraints correctly. though in UDK’s the constraints couldn’t really be trusted (for me rotating and stretching still happened on constraints with rotation and twist limited to zero degrees, and dampening just made things slower)
anyway I’ll have to try it myself at some point. I’ll get back with results (might not be till next month though, with the holidays and everything)
The problem with twist bones and Biped is simply that, the twist bones are linked to the upper arm, while the hand is linked to the lower arm. So during physics simulation they are being separated. If the hand were linked to the twist bones, it would actually work, though not ideal, it would work.
The way the setup needs to work is that the twist bones should also be linked to the lower arm, they will simply follow the lower arm during physics simulation. The twist bones don’t actually get any bodies or anything, they just move where the arm moves, following their parent bone, just like the hand would. And so there’s no separation and the physics setup can be simple, just a two bone influence for the arm.
The solution for this is like I said before, by creating a custom skeleton that gets driven by Biped. Really the only reason for this is because Biped, as far as I know anyway, does not allow you to change the hierarchy. If it did, you could simply fix it right there, but I don’t think it can.
It sounds like a lot more work, but it really isn’t. You can even go so far as to snapshot the biped to simple hierarchy of meshes and use them as bones and you don’t need to create a second skeleton from scratch. Just make sure the twist hierarchy is correct and then you just need to constrain the individual bones to the biped, which is quick work with a simple constrain shortcut key. It can take a few minutes, which is a small price to pay for total control on the skeleton and the advantages of Biped on top of that.
yeah that sounds like a good fallback plan Obihb, thanks for the suggestion
also I’m pretty sure you cannot modify the hierarchy of Biped bones. I tried different ways but they were always reset when I export or when I re-open the file
or you could just use the ut3/udk max file which has the “b_bones” constrained to the Bip_Bones , though i’m not sure on the legal side of that !!!
if you need to make that to UE4 then just alter the height of the biped in figure mode though doing this doesn’t change the size/scale of the b_bones.
oh that leads me to another potential solution: making your own twist bones.
for that remove the twist bones from the Biped completely, add some extra non-biped bones for twists, parent them to the Biped matching the hierarchy of the UE4 skeleton, and then add some special rigging controllers in Max to make them behave like twist bones. then re-weight the mesh to the skeleton
I’m not versed enough in rigging controllers in Max to know if it would work, but another solution might be to add some extra non-biped bones for twists, parent them to match the UE4 skeleton, and then add some controllers so they follow the original Biped twist bones. then in the mesh remove the weights of the original Biped twists and add the new ones
well that’s some room for experimentation. it’s a shame these semi-exotic solutions are needed in the first place, but at least it would be a one-time-setup workaround
Your first suggestion is quite valid, setting up custom twist bones, although I’d say unless you have fair amount of rigging experience, probably don’t do this. Either way, I’d probably not do this unless you really want a proper custom rig, it’s not really worth the effort. Biped has perfect twist bones without any weird side effects that you get by trying it yourself. Setting this up can be quite problematic.
Your second suggestion is possibly a good one. I think that’ll work pretty well. Just replace the twist bones but still drive them with Biped. Setting that up is simple. Only one concern I’d have there is that on export you’d probably still get the Biped bones in there, just because they will be part of the hierarchy, even if they do nothing. But I’m not sure if you “export selected” if that’s the case. May need to do cleanup after export using this method.
I had some time to fiddle with this today, and I come back with some good results
no custom bones, no changes in my Biped at all. just my original Biped skeleton.
mr. naked man says hello
the key is that despite the different skeleton hierarchies, PHAT constraints allow more free setups in this regard. in Constraint Mode just select the bone and change the Constraint Bone 2 to be the proper parent.
as this is a Biped, I set the hierarchy of the shoulder/arm bodies to be Clavicle -> UpperArmTwist -> UpperArm
here you can see the UpperArm as I constrained it to the UpperArmTwist
I would think with that then you should be able to set constraints that allow you a simpler arm setup, 2 bone in stead of 4 bone?. Don’t know if you tried that?. If that’s the case then I’d say this is a pretty decent solution.
yeah Obihb, that would’ve been my second approach but the first approach seems to work
I prefer this method because the results will match the ingame animations more. if I merged the twistbones with the regular bones I think it would result in some kinda ugly stretching
I will only say that it’s not a solution you’d use from scratch, but rather as a “fix” to deal with existing setup, for instance if you just had no time to deal with it otherwise, and the trade towards less efficient physics has no real impact. If you were working on a new character and can deal with the rig appropriately, it’s still better to make a skeleton that can support simpler physics so every limb doesn’t consist of 4 bodies (in this case), but rather 2. So even consider a rig with more twist bones, it gets a lot very quickly, having to chain the rigid bodies like that.
yes I would generally agree
my case is much of that which requires a ‘fix’ though. I created over 115 animations in a slightly different Biped setup for my UDK game (each of which I’ll have to save as .bip and apply to my new skeleton and export to UE4), and I want the possibility of using animations from the marketplace, so for me the ideal fix is the fastest one that can deliver good results