Acf_parallels_for_look_slope

Users who are viewing this thread

Lucke189

Knight at Arms
Hey people.

When making custom animations there is one thing that I haven't managed to do yet.

Make the new animation able to look up and down. I've heard that acf_parallels_for_look_slope is used to control it.

But how exactly do I get it to work.

Today I read through this thread and found a reply from Aethelred saying this regarding this:

Aethelred said:
I found the answer to this. If you look at the anim_human without splitting it, you'll see that there are low and high attack animations for each native attack animation. These occur 100 frames before and after the 'default' (middle height) animation which is referenced in module_animations. What's good is that this is not rigidly hard coded. Basically, all you need to do to get acf_parallels_for_look_slope to work for custom animations is make low and high attack angle versions of your animation and put them 100 frames before your normal animation for the low angle version, and 100 frames after for the high angle version. It seems to work fine.

If I have a ready animation thats covering 21300 - 21310. Am I supposed to make one animation thats covering 21200 - 21210 and one thats covering 21400 - 21410?

Because I tried to make two new animations but they were just a single frame, compared to the 2 frames in the original ready animation.

I placed the aim_high animation to 21410 and the aim_low to 21310 and ingame it seems to be working a little at least. But only for the look down animation - aim_low.

Still the look down seems strange and isn't moving as I thought it would.

So if anyone else knows how to do this, please share this information with the rest of us.

This is the only thing left to figure out.

:cool:
 
Where did you put the middle height animation?

It should go like this:

21200-21210 low angle ready animation
21210-21240 low angle attack animation

21300-21310 medium angle ready animation
21310-21340 medium angle attack animation

21400-21410 high angle ready animation
21410-21440 high angle attack animation

If you made your attack animation from scratch, I'd suggest you use the native animations for reference to get an idea of exactly how high and low your alternate height animations should aim. Also bear in mind that what it's basically doing is using the different poses like frames in an animation - each of the angles represents one frame, and angles in between are interpolated from the direct path between each of these frames. That means you should make sure the direct path between each angle is as smooth as possible.
 
I am going to try this now and I'll report back!

EDIT: I see the aim high and low animations when I look in the amin_human as you said.

Is there however any way to export only that specific animation so I can look at it in 3dsmax?
 
Ok this is how I've done it. What is wrong?  :neutral:

I have six different animations:

- ready_rifle_low - 21200 - 21220
- release_rifle_low - 21230 - 21230

- ready_rifle_med - 21300 - 21320
- release_rifle_med - 21330 - 21330

- ready_rifle_high - 21400 - 21420
- release_rifle_high - 21430 - 21430


This is how it looks in module_animations. Are the numbers right? - Because I never understood quite how they were supposed to be.
Code:
["ready_musket", acf_rotate_body|acf_parallels_for_look_slope|acf_anim_length(100),
   [1.5, "ready_rifle_med", combat+1300, combat+1310, blend_in_ready],
 ],
 ["release_musket", acf_rotate_body|acf_parallels_for_look_slope|acf_anim_length(100),
   [0.2, "release_rifle_med", combat+1330, combat+1331, arf_blend_in_1],
 ],


I just realized that I've changed the musket animation - and the crossbow animation is using the exact same frame numbers (?) because they were the same animation in Native.
Can this be why mine isn't working? If so, to which numbers should I change my animations so they don't overwrite any native ones?

 
Am I right in thinking that you exported each animation separately? Seems you did since the animation reference is ready_rifle_med, and there's a different reference for the release. They need to be in the same file so that they're basically in one animation. Make a 'musket.smd' file with all the animations in sequence and reference that instead. The only word of warning is that you should have your low angle attack at frame 100 rather than frame 1. It's also probable that you need to have a reference pose at frame 1;  I'm not 100% sure it's necessary, but I think it is. What that means is that frame 1 should have the default T form skeleton pose - you can achieve this by giving all bones an X/Y/Z rotation value of 0. That means:

Frame 1 - reference pose
Frames 100-110 low ready, 110-140 low release
Frames 200-210 medium ready, 210-240 medium release
Frames 300-310 high ready, 310-340 high release

Not sure if your ready/release animations are that length, but you get the picture.

There will be a way to export only that particular animation in 3dsmax. I've never used max, but there should be a split animation function that allows you to break it up by frames. Just select the frames you want to cut out.

It doesn't matter what the numbers are inasmuch as they're just frame references. The combat+ bit is just shorthand for 20000. Unless you've edited the anim_human file in common res, it won't matter that your new animation has the same frame reference as the crossbow animation, since it's just the same frame numbers in a different file. You don't need to respect native's frame numbers in any way - it makes more sense to create a 'musket.smd' or whatever file that only has the musket animation frames in it rather than the tens of thousands of other ones that anim_human has.
 
Just a note - you don't actually need to use interval values from the game. You can just make your own animation over whatever interval you like (time values 0-100 in the SMD for example), import it into OpenBRF, save the new "skeletons.brf", and then reference your animation in Python with your interval values (0-100 or whatever).

Interval values have no effect on the duration of the animation as far as I can tell (which makes sense since duration is defined in Python).

I wrote a tutorial on animating for M&B which is in my sig, and I talk about intervals and stuff in there. I'm a noob and my method is probably dodgy in some ways, but some of the stuff about intervals might be useful.


Edit: Bleugh I think all this has been said. I'll leave it anyway.
 
Back
Top Bottom