Home Technical Talk

MEL Script UT Sekeltons> how and Where?

polycounter lvl 18
Offline / Send Message
Scott Ruggels polycounter lvl 18
Also any tips on Custom animation for UT in Maya would help. I have a great rig to work with but, does this menan before Exporting I will have to bake the simulations out for all the IK animated sequwences and all the bone information before exporting? In the mean time, what about the skeletons for UT as Mel Scripts? is that true> Inquiring minds,

Scott

Replies

  • Whargoul
    Options
    Offline / Send Message
    Whargoul polycounter lvl 18
    I wrote the script for building the shipped skeletons for UT2k3, and here's a link:

    http://www.members.shaw.ca/whargoul/Maya_UT2k3_Skels.zip

    Great for quickly attaching your model and checking it in-game without doing 50 bazillion animaitons first.

    As for baking, don't bother. The animation manager does all of that for you when you import the animations.
  • Scott Ruggels
    Options
    Offline / Send Message
    Scott Ruggels polycounter lvl 18
    Excellent! this is exactly what I need, Thank You. But even if I have a million handles and other Maya goodies, it will still export clean to UED?

    Scott
  • Mooseboy
    Options
    Offline / Send Message
    Mooseboy polycounter lvl 18
    Wharghoul:
    from the readme.txt: "Any further questions, post on the Polycount message boards. Don't email me, and especially don't email anyone at Epic of Digital Extremes. They will kill you. I kid you not. smile.gif"

    Since I don't have a death wish, I'm dutifully posting questions here...

    I have Maya PLE 5 with the ActorX plugin that allows you to change underscores to spaces.

    1) You said "Don't bind to any of the dummy joints. Bad mojo." What kind of mojo? This thread displays much bad mojo, and I'm trying to find and squash the sources. After reading your comment, I think some of the mojo may be due to the wing skin and fingers being bound to dummy nodes in some places. The thread shows a quick proof-of-concept export, the point of which was to determine if I had the basics correct before investing time in lots of animation.
    2) Do I understand correctly that this script is to be run after the model is complete (animation and all) and before exporting to UEd?
  • Hollowmind
    Options
    Offline / Send Message
    Hollowmind polycounter lvl 18
    [ QUOTE ]
    Excellent! this is exactly what I need, Thank You. But even if I have a million handles and other Maya goodies, it will still export clean to UED?

    Scott

    [/ QUOTE ]

    I used Max not Maya on my Norman model but he exported out cleanly even though I had a few dummy object controllers. Just make sure you tick the cull unused dummies box when you export his ref pose and his animations.

    By default UT2003/4 uses the Max biped naming scheme for bones for use of weapon attachments and animation blending. If you use a different naming scheme for your bones you'll need to specify in UnrealED which bones correspond to certain bones names in the biped. If you take a look at the Magdalena or Effigy model in UnrealED you can see how it's set-up. They both use custom skeletons with custom names for the bones. You just have to tell UnrealED which one is supposed to be the Bip01_Spine1 and various other bones. I'd explain it a little further and more clearly but I'm at work right now and don't have UnrealED here and I can't remember it all exactly at the moment. tongue.gif
  • Whargoul
    Options
    Offline / Send Message
    Whargoul polycounter lvl 18
    [ QUOTE ]

    1) You said "Don't bind to any of the dummy joints. Bad mojo." What kind of mojo? This thread displays much bad mojo, and I'm trying to find and squash the sources. After reading your comment, I think some of the mojo may be due to the wing skin and fingers being bound to dummy nodes in some places. The thread shows a quick proof-of-concept export, the point of which was to determine if I had the basics correct before investing time in lots of animation.


    [/ QUOTE ]

    By dummy bones I meant the specific bones my script creates, and I think they have the word "dummy" in them. They are something brought over from Max, and although they look like bones, they shouldn't be used as bones!

    I also don't bind to the end bones of a chain (what I still call effectors from my Softimage days), since they usually aren't animated, so they should be weighted to the parent instead, but I don't think that's your problem.

    [ QUOTE ]

    2) Do I understand correctly that this script is to be run after the model is complete (animation and all) and before exporting to UEd?

    [/ QUOTE ]

    My script is only for generating the skeletons that they used for their models, so that you can bind to them and not have to animate your model with a custom skeleton. If you do this, you have to fit your model to the skeleton, you can't reshape it in any way (or you'll fubar the anims of course).
  • Mooseboy
    Options
    Offline / Send Message
    Mooseboy polycounter lvl 18
    > If you take a look at the Magdalena or Effigy model in UnrealED you can see how it's set-up

    Funny you should mention that...I've spent a lot of time in UEd looking at Magdalena, among others. Neofin and JunkyardMech both use the standard "Bip01" naming scheme, and I do that as well. Both models have non-humanoid features, however: Neofin has a tail, and JM has a gooseneck lamp on it's shoulder. Should I expect those bones to be mapped to some other reserved bone name that isn't being used? For example, I suppose there are reserved bone names for the alien tail. Would the gooseneck lamp bones be mapped to some of those, even though the lamp is not attached to the pelvis? And would that imply that there is a limited number of "free" bones available?
  • Hollowmind
    Options
    Offline / Send Message
    Hollowmind polycounter lvl 18
    The only bone names that really matter are the spine, pelvis, hand, and weapon bones I believe (maybe the head, too, for headshots). The spine and pelvis names matter for animation blending and the hand and weapon bone names matter for where and how the model holds the weapons. You don't even have to specifically name those bones with the Bip_01 naming. You can set it up in UnrealED in the Animation Browser under the Attach tab to use whatever bones you specify as the Bip01_... bones by creating extra sockets. The Magdalena and Effigy models are good examples of this. Of course if you just use the Bip01 naming convention like the CS biped defaults to then you don't have to worry about any of that.

    As far as any extra bones you may need link to a regular biped skeleton, like bones for a tail, facial animations, whatever, it doesn't seem to matter what you name them. On my Norman model he had 4 spider leg like things coming out of his back. I just named the bones something like L_Upper_Backthingy1 and he works fine in-game.

    The main things to consider are where you want your animation blending to occur and where your model holds the weapon, especially if you're making a non-humanoid model. And the bone names that are necessary for that are, if I remember correctly, Bip01_Pelvis, Bip01_Spine, Bip01_Spine1, Bip01_R_Hand, Bip01_L_Hand (for holding 2 guns at once), bone_weapon (don't need to rig any of the mesh to this bone, it just sets how the weapon is oriented), and I think Bip01_Head (for headshots). The rest of the bone names don't really matter much, just where they are in the heirarchy in relation to above mentioned bones.

    There might be other necessary bone names I'm forgetting right now since I'm writing all this off of memory. :P Basically, the easiest thing to do, even if you're using a custom skeleton or making the model in Maya instead of Max, is to use the same naming as the default character studio biped. UT2003/4 is hard coded to look for those bone names in any of the character models for the purpose of animation blending, weapon placement, headshots, etc. The Monstar model is a good example of a custom skeleton with extra parts added beyond the standard biped but the main part of the skeleton uses the CS biped naming.

    Anyways, I don't even know if I've helped explain anything but I'm gonna' hit continue anyway cause this post has made me think too hard and now I'm tired, hehe.
  • Mooseboy
    Options
    Offline / Send Message
    Mooseboy polycounter lvl 18
    All this is good info and uberhelpful. I have some investigation to do at home tonight, and I'll look up Norman on the web as well. I've focussed on Magdelena mostly because it really suits my (perhaps disturbed) aesthetic fancy.

    Another question: This may be too Maya-specific for you to answer, but can you think of anything that would cause (a) the wing bones to be completely upside-down or (b) local rotation axis orientation on certain joints to be close to, but not quite, what I have set up in Maya?

    And yet another question: I don't know what you mean by "animation blending"; is this associated with transitions between animation sequences so it doesn't look too jerky?
  • Hollowmind
    Options
    Offline / Send Message
    Hollowmind polycounter lvl 18
    My Norman model can be found at http://www.hollowmind.org/files/NormanUT2004.zip.

    As for questions a and b, no idea. =/

    Animation blending is when 2 different animations are blended together. For example, the run animation and shoot animation are 2 different animations. When the character runs and shoots at the same time it blends those 2 animations together. The way it does this is the game will play the shooting animation from the Bip01_Spine on up it's hierarchy and the running animation from the Bip01_Pelvis on down it's hierarchy. In a normal humanoid character basically it means the top half (torso, arms, head) plays the shooting animation while the bottom half (pelvis, legs) plays the run animation. It's 2 separate animations joined together to make one animation.
  • Mooseboy
    Options
    Offline / Send Message
    Mooseboy polycounter lvl 18
    Thanks for the link! I've been studying Norman and Magdalena and a few others, and testing theories all morning. I've learned a lot, but have more questions...

    1. Many models alias Bip01 R Forearm to rfarm. Would I save work setting up mesh properties by simply naming the joint rfarm, or would I still need to alias rfarm to rfarm as Magdalena does with head? (I fear relying on copying mesh properties from another model to get the socket list because that can really screw up non-socket list properties. Scale is an obvious one - I think the Epic models are at 10x my scale, so copying AlienA's properties to get the socket list requires me to adjust my scaling factor. Who knows what else from the ActorX settings is being trashed when I do that...)
    2. Is there an assumption that some bone chains will exist intact? Hypothetical example: lshoulder->lfarm->lhand is expected, but bad things happen if a forearm twister is inserted between lfarm and lhand.
    3. Magdalena maps lthigh to leg_r_lower. I would have expected to see leg_l_upper there. Is this a bug? If not, why not?
    4. I'm asking a lot of in-depth questions that aren't covered in tutorials I've found or on the free version of UDN, and relying on the patience of others. I'm sure I will have many more before I'm done. Is all this documented (publicly) in one place?
Sign In or Register to comment.