...
Add the below nodes and parent them to the rootrelevant special node (TO DO ENTER THOSE).
- handconjure = ap_hand_right or ap_forehead or ap_mouth
- headconjure = ap_forehead
- impact = ap_torso
- lforearm =
- lhand = ap_hand_left
- rhand = ap_hand_right
Place them where appropriate relative to the mesh.
...
Again you should refer back to your notes that you've been taking and map out how you want the NWN2 animations to line up with the NWN1 animations. Generally you'll have something for everything, but you'll have some choices to make. Review your animations that you've imported and decide what is best for each NWN animation type. When you map the NWN2 animation and later create the NWN animation with start and stop times, refer back to the table you made above listing which frames are for when. Below is an example mapping of a wyvern, as well as the events you should add to for each NWN animation. You may want to add more events, such as more footsteps, but the below should be considered the minimum. Refer back to your timeline to figure out which frame timings will work best for each event. Ultimately, its probably most efficient to make a vlookup to your begin end times.
| NWN AnimationNWN Animation | Event1 | Event2 | NWN2 Animation | Vlookup Begin | Vlookup End | |
| ca1slashl | hit | c_wyvern_UNA_1attack02 | 340 | 385 | ||
| ca1slashr | hit | c_wyvern_UNA_1attack02 | 340 | 385 | ||
| ca1stab | hit | c_wyvern_UNA_1attack01 | 290 | 335 | ||
| cappear | c_wyvern_UNA_idleM | 630 | 870 | |||
| ccastout | cast | c_wyvern_UNA_idleM | 630 | 870 | ||
| ccastoutlp | c_wyvern_UNA_idleM | 630 | 870 | |||
| cclosehccloseh | hit | c_wyvern_UNA_1attack02 | 340 | 385 | ||
| cclosel | hit | c_wyvern_UNA_1attack02 | 340 | 385 | ||
| cconjure1 | c_wyvern_UNA_idleM | 630 | 870 | |||
| ccwalkb | snd_footstep | snd_footstep | c_wyvern_UNA_walk | 1110 | 1160 | |
| ccwalkf | snd_footstep | snd_footstep | c_wyvern_UNA_walk | 1110 | 1160 | |
| ccwalkl | snd_footstep | snd_footstep | c_wyvern_runL | 230 | 250 | |
| ccwalkr | snd_footstep | snd_footstep | c_wyvern_runR | 260 | 280 | |
| cdamagel | c_wyvern_UNA_damage01 | 390 | 400 | |||
| cdamager | c_wyvern_UNA_damage01 | 390 | 400 | |||
| cdamages | c_wyvern_UNA_damage01 | 390 | 400 | |||
| cdead * see tipscdead | c_wyvern_UNA_proneB | 930 | 970 | |||
| cdisappear | c_wyvern_UNA_idleM | 630 | 870 | |||
| cdodgelr | snd_footstep | c_wyvern_UNA_dodge | 570 | 620 | ||
| cdodges | snd_footstep | c_wyvern_UNA_dodge | 570 | 620 | ||
| cgustandb | c_wyvern_UNA_standupB | 980 | 1030 | |||
| ckdbck | snd_hitground | c_wyvern_UNA_knockdownB | 880 | 920 | ||
| ckdbckdie * see tips | c_wyvern_UNA_proneB | 930 | 970 | |||
| ckdbckps | c_wyvern_UNA_proneB | 930 | 970 | |||
| cparryl | cparryl | c_wyvern_UNA_dodge | 570 | 620 | ||
| cparryr | c_wyvern_UNA_dodge | 570 | 620 | |||
| cpause1 | c_wyvern_idlefidgetUNA_idleM | 630 | 870 | |||
| creach | hit | c_wyvern_UNA_1attack01 | 290 | 335 | ||
| creadyl | c_wyvern_UNA_idleM | 630 | 870 | |||
| creadyr | c_wyvern_UNA_idleM | 630 | 870 | |||
| crun | snd_footstep | snd_footstep | c_wyvern_run | 200 | 220 | |
| ctaunt | c_wyvern_UNA_taunt | 1040 | 1100 | |||
| cwalk | snd_footstep | snd_footstep | c_wyvern_UNA_walk | 1110 | 1160 |
TIPS:
- ccastout: NWN2 doesn't often have a casting animation for creatures. In NWN1, the casting animation is 30 frames. As a default, you can use the idle animation for the NWN ccastout animation. The game will expect 30 frames here, so clip the end time of ccastout to be T+30, not the last frame of the animation. If you just use the default times, the game will speed up the idle animation and compress it and you will get a janky look.
- cdead: Just use the first frame of the prone animation as both start and end, so it is looping off that. So if the prone animation runs from 930-970, your start and stop will be 930 both.
- ckdbckdie: Just use the first frame of the prone animation as both start and end, so it is looping off that. So if the prone animation runs from 930-970, your start and stop will be 930 both.
...
DONE FOR NOW - YOUR MODEL SHOULD BE READY FOR EXPORT. MORE LATER ON TEXTURES, BUT THAT'S ALL THATS REALLY LEFT....
------
section on armed vs unarmed animations
- use "una" for unarmed set
- make diff model for diff animation types (2hs, 1hs, etc)
- cant do standard attach to bone or child to constraints
- how to: generate the psuedo bones, import your mesh like a sword, parent it to the psuedo bone in the skel object it relates to, eg right hand sword to ap_hand_right
Tip for casting:
Place the two NWN2 animations if present together in the dopesheet timeline, it will be 60 seconds / 2 seconds, which just happens to be the maximum time spell that conjure1 uses in spells 2a, so fits perfect.
| c_x_gen_conjure |
| c_x_gen_conjureloop |
Gen cast maps to to essentially castout anad castoutlp, which has a maximum of 90 frames / 3 seconds in spells.2da. Consider splitting out c_x_gen_cast out so that the first half provides the castout FNF animation and cast event, then take about 5 frames after and copy paste/reverse them so you create a seamless loop (copy paste on dope sheet, press S and the "-1" to reverse); make the end of your loop matches the start or you will hitch; this will be at a really shakey speed, so then on the same seamless loop scale it slower by pressing "S" and then "4'.
| c_x_gen_cast |