Jump to content

Custom animation not working in game


DeliciousOrange

Recommended Posts

Admittedly I'm a bit of a noob when it comes to animating in Blender, but I'm at a point now where I've got an animation that just won't show up in-game and I have no clue why.

 

I started off by grabbing Coronerras' Maximum Compatibility Skeleton and then importing an existing animation from Fore's NoMaaM Animation Replacer (since I knew it used the same skeleton). Tweeked the skeleton's "sneakidle" stance a bit just to try it out. Made sure to get rid of the rest of the keyframes and replace them with the keyframes I had just recorded. Then I selected the entire "Pose" and exported the .kf using default settings for Oblivion. After throwing the poses into an Omod and installing it, playing the game results in the new sneaking idle.... not being there... The character just stands up with their regular (nonsneaking) idle animation. Moving or equipping weapons makes them instantly start using their other weapon-specific idle poses, but the new animation is acting like it doesn't understand what the kf file is saying.

 

I should also point out, before trying this (and after reverting the files), the previous sneakidle.kf still works as it did before, it's just the new one that causes issues.

 

I'm not sure if it's a case of the ks file not being read properly by the game, if I didn't export properly (is there some special trick to it), if the filenaming isn't working right (Data\Meshes\Characters\_male\sneakidle.kf)

 

EDIT - Alright, after taking a long read through the forums I'm going to call it a night and restart from the ground up tomorrow.

 

EDIT 2 - Following some suggested tutorials helped in some ways, but now I have bones that suddenly lose track of their center point. Anyone know what causes this?

 

Just the thigh bone is selected and rotation tool should only be rotating around the base of the bone, yet every limb including the head now acts like it's center point is ridiculously offset. It's very weird because before this the skeleton functioned as I would expect, but after following the tutorial to link it up with a mesh many bones are now completely fubar in this regard and are unable to be moved without horribly distorting the skeleton and mesh. Seriously Blender, a skeleton rig is not a hard concept.

Edited by DeliciousOrange
Link to comment
Share on other sites

There are several things I don't understand, like "get rid of the rest of the keyframes" and "replace them with the keyframes I had just recorded". That sounds pretty uncommon and a lot for someone who calls himself a "noob" :wink:

 

Some suggestions for you:

- start with Corronerra's tut Adult Animation Tutorial For Noobs and if you have problems look at my Wiki Avoiding_Blender_animation_pitfalls

- you don't need an omod, simply put you sneakidle.kf into the _male folder, as you have described

- have you changed cycle type to CYCLE_LOOP with NifSkope ?

- you really sneak? Usually, if your custom anim is bad, you either get really bad results (like CTD or freezes), or the standard anim (standard sneakidle in your case) should be played.

Link to comment
Share on other sites

- have you changed cycle type to CYCLE_LOOP with NifSkope ?

- you really sneak? Usually, if your custom anim is bad, you either get really bad results (like CTD or freezes), or the standard anim (standard sneakidle in your case) should be played.

 

Alright, I'm not exactly a noob; I've animated in other programs before (just not Blender and not for Oblivion).

 

I had the cycle type on loop, but I've since scrapped the entire file and started over (with mixed results).

Also, previously it didn't play the standard "sneakidle" anim, it just played the default "idle" anim, but the game still ran fine otherwise.

 

Following the tutorial you mentioned I was able to tie a body mesh onto the skeleton (which is a big help in previewing the animation), but now my skeleton doesn't work the way it should any more, which has been frustrating since it prevents me from getting back to the previous point where I was actually animating. Now I need to figure out how to get the bones to parent properly to each other so that they don't go crazy and mess things up even more the further I animate.

Link to comment
Share on other sites

I don't know what you did to scramble the bones. Importing a given animation is one of the easy things with Blender animation. :wink:

 

One thing I noticed are the little bones besides the arms. This indicates that you have not removed the bones which comes with the mesh parts BEFORE you import the skeleton. I strongly recommend to use the 1.blend file which comes with coronerra's tut. It has everything which needs to be done to import skeleton and kf right away.

 

You might also consider to add a timeline and action editor windows. They can also show a lot of information.

Link to comment
Share on other sites

SUCCESS! Well at least temporarily... I'll count my blessings for now.

 

http://www.deliciousorange.com/omake/Bone-Center-Success.jpg

 

I got the skeleton working *mostly* correctly now. The only things that are wonky are the fingers for some reason, but I'm not going to concern myself with animating the fingers until last. The important part is that I can once again animate and this time I have a mesh to use as reference! Now just comes a lot of meat and potatoes animating.

 

Does anybody know the full list of animation names that Oblivion uses for sneaking? I know there's:

sneakidle

sneakidles for each weapon type

sneakblockidle

what are the exact filenames of the moving and attacking animations used while sneaking? Is it just their standing equivalents with sneak in front or is it using some sort of modular system that I'll have to somehow bypass?

Link to comment
Share on other sites

Well, after doing some lengthy animating today I finally got back to the point where I was ready to export again.

 

The result:

http://www.deliciousorange.com/omake/Oblivion-Animation-Sorta-Works.jpg

 

An idle animation that *ALMOST* works as intended.(At least this time it makes it into the game)

1- the position is perfectly fine unless I trigger any other animation (such as turning or walking), which suddenly causes the character to fall through the floor after.

2- only the first half of the animation plays. It loops well enough, but it's jerky because only the first half or so of the animation actually plays before it jumps back to frame 1.

 

I'm going to take a break now and look for anything in the faqs that might help me out. I get the feeling these might be fairly common issues, though I'm unsure exactly where the problems are coming from. It could be something in the export process or an option in nifscope that isn't properly set up, but either way i think it's time for a break.

Link to comment
Share on other sites

Fall trough: I suspect you did something to Bip01 and/or Bip01 NonAccum z-Loc, which is not in sync with standard animations. Check and compare z-Translation in NifSkope for these bones in the NiTransformInterpolators and the NiTransformData Translation keys, if exist. Bip01 should be 0, NonAccum around 68.

 

Partial loop: did you change the end frame number in Blender's text editor window?

Link to comment
Share on other sites

Fall trough: I suspect you did something to Bip01 and/or Bip01 NonAccum z-Loc, which is not in sync with standard animations. Check and compare z-Translation in NifSkope for these bones in the NiTransformInterpolators and the NiTransformData Translation keys, if exist. Bip01 should be 0, NonAccum around 68.

 

Partial loop: did you change the end frame number in Blender's text editor window?

 

I actually specifically avoided doing anything to Bip01 and Bip01 NonAccum, my animations actually don't even have data for those bones and trying to include blank keyframes of those bones in their stock positions actually exacerbates the problem (I end up with the character ALWAYS falling through the floor as well as the 90° problem). Do these bones need to stay synced up to the Pelvis in order to work correctly?

 

I had adjusted the start and end times in Blender's text window, but that was actually part of the problem. I managed to fix the partial loop issue by doing 2 things:

1. Having Blender generate keyframes for every frame of the animation via auto-tweening the existing keys. This is perhaps not necessary for the partial looping problem, but I was also getting weird tearing for a single frame and this fixed it. (This also massively increases the animation's filesize, but beggars can't be choosers).

2. Moving the keys so that the animation starts on Frame 1, setting the start frame to anything other than 1 seems to be what causes the issue, the game engine is too stupid to figure out that if an animation starts on frame 30 and ends 60 frames later it should end on frame 90 (well, actually frame 91); instead it thinks the animation starts on frame 30 and ends ON frame 60.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...