Character Animations
-
I’ve been gone for months, and now I post two new topics in as many days.
I’ve added female vendors to several of my bases, and up until now I’ve just used a generic female character animation THN, specifically fidget_stand_female_05.thn.
I’ve decided, however, to make versions of the various vendor animations for females, and so far I’ve had difficulty. For one thing, the timing of the animations (which, if you don’t know, are located in ANM files, such as bodygenericfemale.anm, which are located… somewhere) differ between the male and female versions, and while the number at the end of the animation (say, for example, Sc_FMBODY_STND_IDLE_BIG_000LV_xa_05) give an idea for the length of the animation, it isn’t exact. Even if I get the timing right, strange things seem to happen, such as the character rotating in place and jumping up and down.
So far, I’ve been working on the commtrader THN, and here’s what I’ve got so far (apologizes for the formatting):
duration=95.711 entities={ { entity_name="Layer_li_commtrader_fidget_female", type=SCENE, template_name="", lt_grp=0, srt_grp=0, usr_flg=0, spatialprops={ pos={ 0, 0, 0 }, orient={ { 1, 0, 0 }, { 0, 1, 0 }, { 0, 0, 1 } } }, up=Y_AXIS, front=Z_AXIS, ambient={ 128, 128, 128 } }, { entity_name="Char_li_commtrader_female", type=DEFORMABLE, template_name="li_manhattan_commtrader", lt_grp=0, srt_grp=0, usr_flg=0, flags=LIT_DYNAMIC, spatialprops={ pos={ 0, 0, 0 }, orient={ { 1, 0, 0 }, { 0, 1, 0 }, { 0, 0, 1 } } }, compoundprops={ floor_height=0 }, userprops={ actor="li_commtrader", category="Character" } }, { entity_name="Special/A", type=MARKER, template_name="", lt_grp=0, srt_grp=0, usr_flg=0, spatialprops={ pos={ 0, 0.972928, 0 }, orient={ { 1, 0, 0 }, { 0, 1, 0 }, { 0, 0, 1 } } } } } events={ { 0, START_MOTION, { "Char_li_commtrader_female" }, { animation="Sc_FMHAND_WALK_TALK_LEFT_CASL_000LV_XA_%", duration=98.011, time_scale=0.6, weight=1, heading=-1, event_flags=2 } }, { 0, START_MOTION, { "Char_li_commtrader_female" }, { animation="Sc_FMHAND_WALK_TALK_RGHT_CASL_000LV_XA_%", duration=98.011, time_scale=0.6, weight=1, heading=-1, event_flags=2 } }, { 0, START_MOTION, { "Char_li_commtrader_female" }, { animation="Sc_FMBODY_STND_IDLE_BIG_000LV_xa_05", duration=5.033, trans_time=1, time_scale=1, weight=1, heading=-1, event_flags=2 } }, { 5.033, START_MOTION, { "Char_li_commtrader_female" }, { animation="Sc_FMBODY_STND_SHRG_SHLDRS_BIG_000LV_XA_02", duration=3.333, time_scale=1, weight=1, heading=-1 } }, { 5.033, START_MOTION, { "Char_li_commtrader_female" }, { animation="Sc_FMHEAD_MOTION_SHAKHEAD_NO_000LV_XA_%", duration=3, trans_time=0.5, time_scale=1, weight=1, heading=-1, event_flags=128 } }, { 8.366, START_MOTION, { "Char_li_commtrader_female" }, { animation="Sc_FMBODY_STND_LOOK_AROU_000LV_XA_06", duration=13.809, time_scale=0.7, weight=1, heading=-1 } }, { 22.175, START_MOTION, { "Char_li_commtrader_female" }, { animation="Sc_FMBODY_STND_IDLE_BIG_000LV_xa_05", duration=5.033, time_scale=1, weight=1, heading=-1 } }, { 27.208, START_MOTION, { "Char_li_commtrader_female" }, { animation="Sc_FMBODY_STND_IDLE_BIG_000LV_xa_05", duration=5.033, trans_time=4, time_scale=1, weight=1, heading=-1 } }, { 32.241, START_MOTION, { "Char_li_commtrader_female" }, { animation="Sc_FMBODY_STND_GEST_COME_000LV_A_02", duration=2.266, time_scale=0.8, weight=1, heading=-1 } }, { 34.507, START_MOTION, { "Char_li_commtrader_female" }, { animation="Sc_FMBODY_STND_GESTR_180LV_XA_02", duration=4.333, trans_time=1, time_scale=1, weight=1, heading=-1 } }, { 38.84, START_MOTION, { "Char_li_commtrader_female" }, { animation="Sc_FMBODY_STND_IDLE_BIG_000LV_xa_05", duration=5.033, time_scale=1, weight=1, heading=-1 } }, { 39.373, START_MOTION, { "Char_li_commtrader_female" }, { animation="Sc_FMBODY_STND_LOOK_WATC_IMPA_315DN_XA_05", duration=23.5, trans_time=4, time_scale=1, weight=1, heading=-1 } }, { 61.123, START_MOTION, { "Char_li_commtrader_female" }, { animation="Sc_FMBODY_STND_IDLE_BIG_000LV_xa_05", duration=5.033, trans_time=2, time_scale=1, weight=1, heading=-1 } }, { 66.15600000000001, START_MOTION, { "Char_li_commtrader_female" }, { animation="Sc_FMBODY_STND_TILT_HEAD_QUZZCLLY_000LV_XA_04", duration=3.791, time_scale=0.8, weight=1, heading=-1 } }, { 69.947, START_MOTION, { "Char_li_commtrader_female" }, { animation="Sc_FMBODY_STND_SHRG_SHLDRS_SMALL_000LV_XA_02", duration=2, time_scale=1, weight=1, heading=-1 } }, { 71.947, START_MOTION, { "Char_li_commtrader_female" }, { animation="Sc_FMBODY_STND_IDLE_BIG_000LV_xa_05", duration=5.033, time_scale=1, weight=1, heading=-1 } }, { 76.979, START_MOTION, { "Char_li_commtrader_female" }, { animation="Sc_FMBODY_STND_LOOK_AROU_CASL_000LV_XA_14", duration=8.666, time_scale=1, weight=1, heading=-1 } }, { 84.59999999999999, START_MOTION, { "Char_li_commtrader_female" }, { animation="Sc_FMHAND_WALK_TALK_LEFT_CASL_000LV_XA_%", duration=11.111, trans_time=1, time_scale=0.6, weight=1, heading=-1 } }, { 84.59999999999999, START_MOTION, { "Char_li_commtrader_female" }, { animation="Sc_FMHAND_WALK_TALK_RGHT_CASL_000LV_XA_%", duration=11.111, trans_time=1, time_scale=0.6, weight=1, heading=-1 } }, { 85.646, START_MOTION, { "Char_li_commtrader_female" }, { animation="Sc_FMBODY_STND_IDLE_BIG_000LV_xa_05", duration=5.033, time_scale=1, weight=1, heading=-1 } }, { 90.678, START_MOTION, { "Char_li_commtrader_female" }, { animation="Sc_FMBODY_STND_IDLE_BIG_000LV_xa_05", duration=5.032, time_scale=1, weight=1, heading=-1 } }, { 91.70999999999999, START_SPATIAL_PROP_ANIM, { "Char_li_commtrader_female", "Special/A" }, { duration=4, target_part="", target_type=ROOT, spatialprops={ pos={ 0, 0.972928, 0 }, q_orient={ 1, 0, 0, 0 } } } } }
I’d like any knowledge on these sorts of THN files, and if anyone has worked on these before.
-
template_name=“li_manhattan_commtrader”
You’ll probably want to change that to a female character.
actor=“li_commtrader”
Couldn’t find any direct references to that, but there are four numbered versions, so perhaps you should add female equivalents of those, too. You’ll find both in CHARACTERS\costumes.ini.
I’d like any knowledge on these sorts of THN files, and if anyone has worked on these before.
I played with them a little doing JFLP to improve the story scripts. In one scene, a simple change had Trent’s head doing a 180. You might like to look at the spew to see if those ML animations do have FM equivalents. The spew will also tell you if there are timing conflicts (Deform::start_aim); use jflp.dll to find out when.
As for the formatting, you could try luafmt (included with my patched FLEd_Thorn) or dethorn, both on my tools page.
-
template_name=“li_manhattan_commtrader”
You’ll probably want to change that to a female character.
actor=“li_commtrader”
Couldn’t find any direct references to that, but there are four numbered versions, so perhaps you should add female equivalents of those, too. You’ll find both in CHARACTERS\costumes.ini.
I think that these are just internal names used in the THN file itself, and as such are unimportant.
You might like to look at the spew to see if those ML animations do have FM equivalents. The spew will also tell you if there are timing conflicts (Deform::start_aim); use jflp.dll to find out when.
Do I have to set up jflp.dll a certain way? It’s installed by default in the mod, but I didn’t see any of this information. I’ll take another look here shortly.
As for the formatting, you could try luafmt (included with my patched FLEd_Thorn) or dethorn, both on my tools page.
No, the file itself is formatted correctly, it’s the fact that the forum messes up the formatting that I was referring to.
-
-
@mknote: If there are timing issues, iirc the spew will have something like```
E:\FL\Scratch\Source\Client\Gf\ScriptDeformable.cpp(12345) : TRACE_1:General:(null)@Livsi: FLScan just makes it worse; better to use my patched FLEd_Thorn, which fixes it, or dethorn, which uses another method entirely.