T3D 1.1 Final - AiPlayer Does Not End setActionThread On Move - CONFIRMED (THREED-1995)
by Steve Acaster · in Torque 3D Professional · 06/14/2011 (7:09 am) · 6 replies
T3D 1.1 Final
win7 32bit
target:
Ai, Ai animations, Ai move
issue:
Ai do not "snap" out of script played animations (setActionThread) when movement is called.
When a "player" get's an animation and then moves (direct input) the playerObject snaps out of the animation it was playing through "setActionThread" and goes into normal move animations. This doesn't happen with Ai who move about and NEVER update their animations back to the move animations.
Repeat:
In-game get some Ai in. Select one and give them a new animation thread to play.
Now move the Ai around with setMoveDestination(%xyz); and see that they cannot get out of their new ActionThread animation.
Suggest:
Fix it!
Make the Ai update their animations into the move animation set when they start moving (like the player does with direct input).
Note: possibly related to this issue when Ai fail to update their "pose" animation when a new pose is set (due to it maybe being a direct input issue but that is a guess) inky
extra unrelated note:
I noticed that Ai still occaisionally glide - sometimes don't come out of their root animation on their first move (say to a node on a path), but often fix this on the move to their next.
I found that by delaying the ticktime for a new animation slightly seemed to fix this (but has had no effect on the above).
win7 32bit
target:
Ai, Ai animations, Ai move
issue:
Ai do not "snap" out of script played animations (setActionThread) when movement is called.
When a "player" get's an animation and then moves (direct input) the playerObject snaps out of the animation it was playing through "setActionThread" and goes into normal move animations. This doesn't happen with Ai who move about and NEVER update their animations back to the move animations.
Repeat:
In-game get some Ai in. Select one and give them a new animation thread to play.
aiName.setActionThread("sitting");//(%seq, callback, animate_spine)Note: callback and animate_spine variables don't have any effect here either way.Now move the Ai around with setMoveDestination(%xyz); and see that they cannot get out of their new ActionThread animation.
Suggest:
Fix it!
Make the Ai update their animations into the move animation set when they start moving (like the player does with direct input).
Note: possibly related to this issue when Ai fail to update their "pose" animation when a new pose is set (due to it maybe being a direct input issue but that is a guess) inky
extra unrelated note:
I noticed that Ai still occaisionally glide - sometimes don't come out of their root animation on their first move (say to a node on a path), but often fix this on the move to their next.
I found that by delaying the ticktime for a new animation slightly seemed to fix this (but has had no effect on the above).
static const F32 sNewAnimationTickTime = 6.0f;//4 yorks
About the author
One Bloke ... In His Bedroom ... Making Indie Games ...
#2
06/15/2011 (2:55 pm)
Bug confirmed.
#3
assuming you have a more or less standard look-anim.
I just noticed I get my AI to move/walk again after using the above.
07/25/2011 (2:00 pm)
A very stupid/weird/strange/... workaround for this is to useaiName.setActionThread("look");assuming you have a more or less standard look-anim.
I just noticed I get my AI to move/walk again after using the above.
#4
Yep, you're right Richard, it sure does. And of course "look" is a blended, arm thread really ... so that makes perfect sense :P
Good workaround, anyhow.
07/25/2011 (4:49 pm)
o_OYep, you're right Richard, it sure does. And of course "look" is a blended, arm thread really ... so that makes perfect sense :P
Good workaround, anyhow.
#5
07/26/2011 (4:03 am)
Thanks Steve, it took me some time 2 days to get to this solution, cause it wasn´t the first thing which had come to my mind. :)
#6
03/02/2012 (5:07 pm)
This bug still seems to be an issue in T3D 1.2. My zombies are gliding.
Torque 3D Owner Christopher Tauscher
Default Studio