OSP Animations New Animations Mod

Users who are viewing this thread

Hello,
as you can see, I'm almost new to this forum.
I have a problem with creating a new mod. An animations mod.
Before I started a thread about this in the German board, but because no one seemed to have an idea about my problem there, I try here now.

So let me tell you. Since a new version of OpenBRF is released (thanks by the way  :grin:) I see a chance to do new combat animations and crush the old (really ridiculous) ones. Because I am training German longsword fencing for about a year, I think I can help here with - at least - twohanded animations.

I have made the tutorial of cdvader (http://forums.taleworlds.com/index.php/topic,72992.0.html) and created some easy thrusting animations in 3ds Max - just for testing if it would work.

To my problem:
I open up OpenBRF, open skeletons.brf, then I have all the  human animations, when I split it with actions.txt, right?
So I have done before. Then I can import my selfmade animations. Renaming them to the ones, I want to replace and renaming the old ones to something else, I saved the edited brf file. Well, it didn't work and when I wanted to re-open skeletons.brf I got an error message ( of course I had a backsave).

I suspect a problem with the "interval" thingy every animation has. Because I did not edit the interval on my selfmade animations, OpenBrf didn't know, how to pack the stack of animations in correct order or something like this.

So my next problem: How can I edit the "interval"? I could not find any function for this...

I hope you can help me with this. I'm no great modder, but this thing here, I want to achieve...

Thanks in advance

P.S. Yes, you are hereby allowed to smile about my english  :lol:


Edit:
A new version is out:
Click here to download version 0.4: http://www.mbrepository.com/file.php?id=1498


Here is a video from version 0.3: http://www.youtube.com/watch?v=W6Zgr89iSQc

Here are two videos from version 0.2:
http://www.youtube.com/watch?v=TBpyl20InbA
http://www.youtube.com/watch?v=HjlOw7J1roM


And here is a tutorial to animating:
http://forums.taleworlds.com/index.php?topic=78702.new#new

 
Yeah, we need to edit the interval somehow, though I'm not sure how would one do it. Also, for some reason, OpenBRF seems to add the "combat" status/thing (Not sure what it is exactly) to the intervals. Let's take slashright_twohanded for example: In OpenBRF, the interval is 25700 - 25710. However, in module_animations.py, it's "combat+5700, combat+5710".

Another problem is that we can't actually "re-combine" the splitted animations back to anim_human. At least I don't know a way. That might be the reason OpenBRF is crashing on you, or something.

cdvader
 
I've yet tried several things to - at least - find something out about how the interval works.

If you export an existing animation into, for example, 3ds max and save it there as an smd file, it deletes the interval, even if you do not even change anything.

But you can export an animation in OpenBRF and reimport it again, then it let's the interval untouched.

So it must have something to do with either the importer or the exporter plugin of 3ds max...

What is about Blender? Is it the same problem?


To your last point, cdvader, you are right. Even if nothing is changed, without re-combining the animations, I get the error message.
 
Blender does not have a working script that can import SMD animations. I have one but it's very old which is probably why it doesn't work since Blender has changed a lot since. eierkopf did make a Blender BRF export script, although I've been able to successfully export test animations with it I haven't done anything substantial with regards to new animations (since I'm not very good at it, and since I can't import animations to look at whether or not the intervals are preserved) to find out about how the intervals are handled.
 
Hmm...

I just tried Thorgrims old Brfedit in the hope, we could actually combine the two tools, but it didn't work...

The SMD plugins are originally designed for the source engine, am I right?
So anyone knows, if the source engine uses something similar to the intervals?


An secound idea:

What would be, if we create a completly new Brf file for the animations and edit the python scripts to look in the new Brf file?
Would that - even a LOT of hard labor - work?


Edit: Good news: The bug, that one couldn't open an skeletons.brf with splitted animations is now solved - thanks to mtarini!
Now it works - with a new version of OpenBRF.
Time to focus on the interval problem. :grin:
 
cdvader said:
Let's take slashright_twohanded for example: In OpenBRF, the interval is 25700 - 25710. However, in module_animations.py, it's "combat+5700, combat+5710".

Just a guess, it might be related to the weapon speed?

Btw dreamterror... How experienced are you in creating animations?
 
Well, creating the animations is not the problem. I have dealt with 3ds max since several years - even not always constantly and only as a hobby.
No, creating will be surely much hard work, but nothing more. The entire scripting and involving them into the game is much more for me to worry about.

But as you can read in the Thread we must still wait, till the there is a function in OpenBRF to assign an interval to new animations. I have written to mtarini for this and I hope he can do someting...
 
Maybe you could create a larger interval by adding more or less shots/pictures/stills (dunno how it is called).
So it plays them at the same rate, but there are more shots.
 
Well, as I got the thing, it seems to work like this:
an usual animation (for example the existing onehanded thrust) has just 6 frames. But it has an interval of 30. Because 6 frames would be much to fast to see correctly, the  animation gets "inflated" to a longer sequence - by the interval. It seems that every single frame has a specific number in the interval.

To the example:
"anim_human_release_thrust_onehanded" has 6 frames.
The interval number of the first is 28510.
The secounds is 28513.
The thirds 28516.
Then 28523
then 28529
and at least, the six'th has 28540.

You can see that the numbers are not given regulary. ( the first few interval numbers are really closely, the later ones more widely)

If you take the interval as an time line, you see that only some have an assigned frame - the rest is free.
So I think, it would be indeed possible to create more frames ( and therefore a better animation) to an existing interval. If the interval takes 30 "game-time-frames"
I could create also 30 animation frames. at least I think so..

Did you mean something like that, PrinceGhaldir?

I hope you can understand, what I wanted to tell :grin:

To create a totally new interval will be much more difficult...
 
I think it's possible to add or decrease the number of frames for a given interval range... at least, it was possible with vertex animation (map icons, probably bows too). So maybe the same applies to skeletal animation?
 
It is indeed possible to de- or increase the frames for a given interval, but you can actually also decrease the interval itself without problems. Maybe also increase it. This I've not tested it yet.


I have taken care to most of the problems that have shown up yet (thanks to mtarini) and now I have acchieved to make new animations.
I have yet replaced the old onehanded and twohanded attack animations with custom ones and combined the files to an early version of a mod.

You can download here: http://www.mbrepository.com/file.php?id=1498

Please remember: this is an very early version. It will be enhanced :wink:

But yet I don't know how to add completely new animations like shieldbash f.e.
I'm working on it...

Feel free to comment^^
 
You could make a shieldbash animation and add it to the unused animations section of animations.txt.  Then you would have to call it via a mission_templates trigger.
 
As I also practice German Longsword (for 2 years now) and I'm much loathe of blocking with a sword in-game: can you do the animation for a simple Zornhau, maybe to replace a down-block? Also, since the Ochs is already implemented, can you try doing a Krumphau to break the Ochs or even a nice Zwerhau, since you are at crossing arms... :wink:

For the Zornhau, I'd like very much the Dobringer/Goliath approach (instead of the modern Tobler interpretation), where you strike at the blade with an Oberhau, then continue (basically from the same move) with a thrust at the head/neck opening, rather than strike at it... You'd do much honour to Liechtenauer if you'd do that! (hint: "The Liechtenauer Mod") :smile:
 
You could make a shieldbash animation and add it to the unused animations section of animations.txt.  Then you would have to call it via a mission_templates trigger.

Yes, the first two steps should be easy, but what is exactly about the mission_templates?
I thought that every attack animation (a shield bash should be also one) uses different acf codes. F.e. "release_slashright_twohanded" uses "acf_right_cut".
And I think also that these acf codes have to be defined anywhere. So that the game knows if it's an  "acf_right_cut" it has to use this and that block animation, give this and that damage and so on...
So I will have to create an new acf for shield bashing. But I don't know yet, where the acf's are defined.


As I also practice German Longsword (for 2 years now) and I'm much loathe of blocking with a sword in-game: can you do the animation for a simple Zornhau, maybe to replace a down-block? Also, since the Ochs is already implemented, can you try doing a Krumphau to break the Ochs or even a nice Zwerhau, since you are at crossing arms... :wink:

For the Zornhau, I'd like very much the Dobringer/Goliath approach (instead of the modern Tobler interpretation), where you strike at the blade with an Oberhau, then continue (basically from the same move) with a thrust at the head/neck opening, rather than strike at it... You'd do much honour to Liechtenauer if you'd do that! (hint: "The Liechtenauer Mod") :smile:

Yeah I thought about that too. As you certanly know simple "blocking" does not make very much sense in a sword fight. Instead you always try to threat or vulnerate your opponent with the same move you make, to sidestep the attack of him. But how to include that to the game? The animations itself should be possible to do, but the scripting will be difficult: every block needs to be at the same time an attack, that must be able to get countered by the opponent again and so on...
Even if the sripting could be done (I'm not quite sure about that) this conzept has to be deliberated carefully from roots...

Hehe, if I get this to work your name suggestion would be indeed deserved^^


Edit: as you may have noticed there are still some things to do in the current version:
1. You can not aim with your strikes to different heights, like it was before.
2. The collision does not functions correct. If you and an opponent stand directly in front of each other and both do an attack they run through each other. That has to be fixed...
3. Some animations has to be redone - they don't look good yet.
 
Back
Top Bottom