Page 1 of 1

How do I make a new 1st person animation bank?

Posted: Mon Mar 10, 2014 6:32 am
by Anakin
Hi,

i just wonder if there is a way to make a custom unit's character. I hope you can help me with this.

Re: change unit's character

Posted: Mon Mar 10, 2014 8:02 am
by AQT
Please define custom unit's character.

Re: change unit's character

Posted: Mon Mar 10, 2014 8:37 am
by Anakin
Subject: Location of animationbank
AceMastermind wrote:
[color=#FF8040]psych0fred's AnimationSystem.txt[/color] wrote:
Hidden/Spoiler:
[code]Weapon ODFs:
AnimationBank = "[<character>_]<weapon>"
<character>_ defaults to 'human_'.
Specifies the weapon type used by this weapon for animation,
which must either be a standard type or a type previously defined
with CustomAnimationBank (see below).
At run time, <character> is ignored, since the character type is
based on the soldier wielding the weapon.
Generates a requirement for <character>_<weapon>_* animations
which requires a zaabin containing the given animations. If the
animations in question are in a weapon specific bank, i.e.
gam_melee_* to be found in gam_melee.zaabin, it is useful to
specify <character> in order to generate the correct requirement.

ex. AnimationBank = "rifle"

CustomAnimationBank="[<character>_]<weapon> <parent> [alert|noalert]"
Defines a custom weapon type used by this weapon for animation
and its relationship to the weapon hierarchy.
<character>_ defaults to 'human_'.
<parent> must either be a standard type or a type previously
defined with CustomAnimationBank.
If alert or noalert is specified, the weapon will either support
alert postures or not. If not specified, it will inherit the
alert support of its parent weapon.
At run time, <character> is ignored, since the character type is
based on the soldier wielding the weapon.
Generates a requirement for <character>_<weapon>_* animations
which requires a zaabin containing the given animations. If the
animations in question are in a weapon specific bank, i.e.
gam_melee_* to be found in gam_melee.zaabin, it is useful to
specify <character> in order to generate the correct requirement.

ex. CustomAnimationBank = "leia_pistol pistol alert"[/code]
In the case of AnimationBank = "rifle", the raw 3rd person rifle animations are located here:
  • BF2_ModTools\assets\Animations\SoldierAnimationBank\human_0 and human_1
Initial munge output is here:
  • BF2_ModTools\data\Common\munged
ingame.req

Code: Select all

REQN
    {
        "animbank"
        "human" //<====
        "humanfp"
        "humanlz"
    }
They are munged and packed in the ingame.lvl

I would like to make a whole new animation bank, so you can have different 1st perspective animations. This has been made so alike for the cis (droideka, sbd), but i couldn't get it working for the rep.

I am also open for other possibilities to have different fpanimations for the same weapon for different units.

Re: change unit's character

Posted: Mon Mar 10, 2014 9:34 am
by DarthD.U.C.K.
since custom first person animsets are not supported you can only override the existing animations. one thing you could try though is giving an unit the "sbdroid" animation and see if it has the sbdroidfp animation ingame.

Re: change unit's character

Posted: Mon Mar 10, 2014 10:56 am
by TWINKEYRUNAWAY
DarthD.U.C.K. wrote:since custom first person animsets are not supported you can only override the existing animations. one thing you could try though is giving an unit the "sbdroid" animation and see if it has the sbdroidfp animation ingame.
Actually Nedarb figured out how to do so in this tutorial he posted last month incase your interested.

viewtopic.php?f=27&t=29851

Re: change unit's character

Posted: Mon Mar 10, 2014 11:28 am
by Nedarb7
TWINKEYRUNAWAY wrote:
DarthD.U.C.K. wrote:since custom first person animsets are not supported you can only override the existing animations. one thing you could try though is giving an unit the "sbdroid" animation and see if it has the sbdroidfp animation ingame.
Actually Nedarb figured out how to do so in this tutorial he posted last month incase your interested.

viewtopic.php?f=27&t=29851
DarthD.U.C.K is right, all you can do is override the animations, which is exactly what my tutorial does.

From my experience you can't make a unit have a 3rd person animation bank which would result in it using the fp one. Rather it appears to be hard coded, and the unit receives the fp animation set by its odf name. So you can have 1 universal and 2 for only one specific unit.

Re: change unit's character

Posted: Mon Mar 10, 2014 2:21 pm
by Anakin
Yes but how does the SBD works? there is the line in the cisshell that loads a new animation bank and than the fp in the unit's req file. I thought maybe the animations need to have the same name but the fp with an fp at the end. If we get the animation for the SBD working, we can also make new animations for all units. But i don't understand how it works. the Droideka also has an own animation with an own fp animation. But i cannot find something where this animation is called, except the cisshell.req and the droideka's and sbd's req file.

Re: change unit's character

Posted: Mon Mar 10, 2014 3:05 pm
by DarthD.U.C.K.
try giving an unit the sbd animationset. if it then gets the sbd firstperson anims they are assigned by the 3rd person animset the unit uses.

Re: change unit's character

Posted: Mon Mar 10, 2014 3:10 pm
by Nedarb7
The unit named cis_inf_rifleman will use the first person sbd animation set. Just like the one with the droideka odf name uses the droidkea fp animation set.

The purpose of the ***shell side reqs are for Galactic Conquest. They are there so that the units appear on the screen that shows all the units. The reason why it loads animbanks is so that it can
animate them properly on that screen since they don't use human. If you make a custom animation
set called "triple", make your unit use it, then make an fp animset called "triplefp" nothing is going
to happen, I've tried it myself. That isn't how fp animation sets work. Like I said I'm pretty sure it's hard coded.

You can try but I'm almost positive it isn't going to work.

Re: change unit's character

Posted: Mon Mar 10, 2014 4:20 pm
by DarthD.U.C.K.
so could you theoretically use three fpanimsets when not using the droideka and sbd and naming other units like them?

Re: change unit's character

Posted: Mon Mar 10, 2014 4:57 pm
by AQT
I have two SBD units in my Death Watch Bunker map, both ODF files of which are not named cis_inf_rifleman, but both are successfully using the SBD first person animations. Their REQ files have the following:
Hidden/Spoiler:
[code] REQN
{
"zafbin"
"sbdroidfp"
}
REQN
{
"zaabin"
"sbdroidfp"
}[/code]
And their ODFs have the following:
Hidden/Spoiler:
[code]SkeletonName = "sbdroid"
SkeletonLowRes = "sbdroidlz"[/code]
Each unit uses a reskinned stock SBD first person model loaded through a custom side. One uses the same name as the stock model, while the other uses a different name. I think those are all of the factors.

@Anakin: I don't think anyone would have known what you were asking from your original post alone...

Re: change unit's character

Posted: Mon Mar 10, 2014 5:56 pm
by Anakin
The funny part is that i also have an sbd with working animation. But i even don't load the anim files in the units req file :mrgreen:

Same for the droideka. but how does bf know what animation it should take?? Specialy the fp?,after the odf line with the skleton says nothing about the fp

Re: change unit's character

Posted: Mon Mar 10, 2014 6:21 pm
by Nedarb7
After doing some research with the help of AQT I got this...

1 The AnimationSystem doc by psych0fred says it is determined by character type

2 It also only mentions humanfp and droidekafp

3 Model, odf, 1st person req, req, 1st person geometry don't determine the animation set

4 Droidekas are "walkerdroid" not "soldier" which makes two character types as the doc suggests

So in conclusion you are stuck with the human set for all soldier classed units and the droideka set for all walkerdroid classed units.

(as for the sbd all it is is one arm rather than two, so it looks different but in reality its human)