a video capture here (you'll need divx codec, just others did not worked well):
HERE
but consider I weighted it using just pick vertex to closest bones, that is, the automatic weighting of Blender, so it's pure crap weighted, u can't even flex his arms well...
I did so as I only wanted to do a quick rig for test.
That's why u see at th eend of anim the weird, weird polygon in the knees, and many other.
I only needed a weld model push of button in Ultimate Unwrap.But this is common when importing x models in many packages, also ultimate unwrap, so no one is gonna get scared for it. And is th etouch of a button...game artist we are too used to do this stuff everyday.
The flip of handedness is done correctly , I set stuff in the script (heh, that is put 1 or 0 in the values list jox made, pretty straight forward, dumbs proof...
![Wink ;)](./images/smilies/icon_wink.gif)
)
Indeed, now that i exported and checked the file exported from ultimate (Ultimate does not show ever well the anim,it deforms bad, for a graphic glitch, but internal data is treated correctly) the thing is seen perfect, I mean, only having the HUGE errors I made for making a several-seconds-rig just for testing.
Conclussion :
It's working here in any viewer. And as u see , thanks to a tirck that Ben told me , that is, moving(g) all the bones in pose mode (ctrl+tab, bones are blue) allows to make jumps, changes of position.As a matter of fact, this is the only way to do so for an armature if wanna keep the origin at 0,0,0. To avoid problems, I set to 1 the setting jox did put for ensuring origin is where it has to be.
And very, very, very handy all the otehr settings...the timing was needed...some viewers understand in different ways the speed, I guess u have to check with ur engine, in this case, irrlicht.
Congrats here to Ben, and Jox.
Now it's actually possible to do the stuff..
for what I am seing, this works in deep explo demo, mview from ms dx, and ultimate unwrap. Quite a success...
Just u need to familiarize with with the settings jox made available, as well as with, of course, some editing in blender, and even more, bones animation.
Two tricks to make really full animations with no limits, as u usually do in games :
- IK SOLVERS are n ot supported. Using an Empty as an ik solver , so that if u move the empty, all the leg chain will react "obeying" the empty. Same way, if u move all armature (picking all bones in pose mode) the foot will be glued to last position empty has. Not perfect, but quite average solution for Blender not having yet proper joint pinning(like XSI or Character STudio have). For this to work, is important that : each leg is a separate chain (not a new armature!! And make the spine chain parent of the legs chains.It's well read by x viewers and exporters, no probs. I realize u need to know VERY well how to animate characters in blender(I am not a good animator in blender, but the tool is complex) to not get frustrated... ) As I said, ik solvers are not supported by the x exporter. Workaround that Ben did thought of, was selecting all bones every where you see an empty (nla editor, for example) or an IPO keyframe, in whatever the bone or empty, you go select all bones, and hit "i" keyframe SizeLocPos. This way u "bake" the ik solving and constrains, to just the rotation and position each bone is having. Do so only in the frames that have the tiny quad of a keyframe in the time line. I mean, avoid doing it in ALL the frames, as doing so ur overloading the file of data to be processed later for the engine, and I guess you don't want that.
As u see, another issue that is not found in packages like Max, where in the x file it gets only keyframed what changed, doing files mor eoptimals...wether if this impacts something in todays hardware...just I don't know.
But hey, Blender is free, not 3500 $ , LOL.
-Second important trick, jump, crouch. What i explained before. Go to pose mode(select armature, ctrl+tab)... [ select the ONLY ONE armature for this (you didnt do two armatures; u made the spearate leg chains just entering again in edit mode,(with armature only selected) and instead extruding an existing joint of a bone, you just position the cursorwhere u want to start the leg chain (near the hip, I suppose) and hit "add" then "bone", this understands is in the same armature, just separate. U need to parent later it to the spine, as is the rest of the skeleton, don't forget.) ] ... hit "a" key, so to select all (it actually toggles) , and when it all is light cyan instead of blue, hit G (or gx, gy, gz, to do in axes directio only, unless ur already in side, front , top view (1,3, 7 etc) which I recommend) so to drag and move all the skeleton while this indeed is not moving away origin from 0,0,0 . So is the only way to go with the exporter.
pant.
I could write hamlet twice to tell all what is involved to teach the bit of blender I know...and I'm a newbie...
So, you must actually know at least strongly the basics of blender, and bledner animation of bones (of course, weights) If not, u'll be lost. (there's nice doc online, the only way for not very experienced 3d users.)
Oh, last thing...my interest, if ever do something not in xsi in x, but do in blender, was in ultimate unwrap, that works..so i checked better now in mview...U perhaps (it sometimes depends on the model, but seems these work) would like to try these settings first, as if I am not wrong, should work in most situations with mview, is what I used, and opened totally perfect the whole thing in mview (BTW, jox, I change the settings in that part of the text script (I don't see any gui when I hit alt+p) if it is changed in other area, please, tell them
![Wink ;)](./images/smilies/icon_wink.gif)
(the fact is that this works, just set the values like that bellow)) :
(oh, and btw, the original object was imported as OBJ with the ideasman script, I don't model in Blender. )
# Configuration default settings
INVERT_NORMALS = 0
FLIP_FACES = 0
EXPORT_XSKINMESHHEADER = 1
EXPORT_ANIMATIONS = 1
FLIP_Z_AXIS = 0
RECALC_VERTEX_NORMALS = 1
RESET_ORIGIN = 1
EXPORT_DX_SPEED = 1
# DirectX speed values
FRAMES_PER_SECOND = 25
DIRECT_X_TICKS_PER_SECOND = 4800
# left to right hand conversion
if FLIP_Z_AXIS == 1:
ZMUL = -1.0
else:
ZMUL = 1.0