View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003473 | The Dark Mod | Animation | public | 05.07.2013 00:54 | 13.08.2013 23:47 |
Reporter | Springheel | Assigned To | grayman | ||
Priority | normal | Severity | normal | Reproducibility | have not tried |
Status | resolved | Resolution | fixed | ||
Product Version | TDM 1.08 | ||||
Target Version | TDM 2.00 | Fixed in Version | TDM 2.00 | ||
Summary | 0003473: AI sometimes get "stuck" leaning back | ||||
Description | This has been around for a while but I don't know if it's ever been tracked. Sometimes AI get stuck with their torso leaning back and their arms sticking out in front of them like frankenstein. I had it happen several times in Too Late today. I think it only happens when the player is higher than the AI. My guess is that the AI leans back to look up at the player, and then somehow gets stuck in this position. All walking and idle animations after this have the torso tilted back and the arms forward. (see image) | ||||
Tags | No tags attached. | ||||
Attached Files | |||||
Was there a point where the posture went back to normal? When the AI is looking up at you, he's focused on you. When he loses track of you, there's a timeout that resets his focus back to normal (i.e. his own eye level). I've seen it as high as 16 seconds, and was wondering if in your experience the AI eventually snapped out of Frankenstein mode. |
|
No, they stay that way for a significant amount of time; possibly indefinitely. I think I've gotten them to snap out of it by getting them to enter combat mode again, but I could be misremembering that. I just had this happen again in Too Late. I alerted the thug early in the mission, and when I came out of the warehouse after dealing with the inside, he was walking around in the Frankenstein pose with his sword out. |
|
I just tested my theory above, and yes, if I engage the thug in combat and then run away, he plays regular combat and search animations, and his "lean" is gone when he goes back to idle (note I stayed on his level and didn't climb anywhere during the test). | |
I don't think the Frankenstein arms are governed by the tilt of the head. I've been able to untilt the head by killing the focus timer, forcing him to return to a normal head position. The arms, however, stay out until he goes through some animation like drawing his sword. I can reproduce it easily, but I can't figure out what causes the body to assume that position, what the position's "called", or how to disengage it, other than to give the AI something else to do. The problem there, however, is knowing when he's gotten himself into that position. Animations and body part positioning are a big black box. |
|
If I become unreachable when nearly over an AI, he tilts his head way back, and his arms come _way_ forward. It's as if the arms are trying to maintain the same relative angle to the torso as the head. Head back 15 degrees means arms forward 15 degrees. Head back 5 degrees means arms forward 5 degrees. Looks very unnatural. So it's not really a problem of killing the Frankenstein arms at the end of the episode, but of killing them when the episode begins. | |
My guess is that when the AI's head will not tilt any further, he then tilts his spine bone to allow him to target the player. This moves the torso back, and the arms would move with it because they're child bones. Perhaps the head then goes back to normal after combat, but the torso does not. When the original head-turning was set up, there were additional joints added, like the spine, so the AI could turn its torso a bit too. I found these in humanoid.def. I'm not familiar with what the combat ones mean, but I see they include arm joints. Could those have something to do with this? "look_min" "-80 -90 0" "look_max" "25 90 0" "look_joint Spine" "0.3 0.3 0" "look_joint Head" "0.7 0.7 0" // Allow vertical aiming at the player during combat "combat_look_joint Spine" "0.1333 0.1333 0" "combat_look_joint Spine2" "0.1333 0.1333 0" "combat_look_joint Head" "0.6 0.6 0" "combat_look_joint RightArm" "0.6 0 0" "combat_look_joint LeftArm" "0.6 0 0" |
|
Ok, try commenting out those RightArm and LeftArm lines, and see if you can get them to get stuck leaning back. I just tried in Too Late and wasn't able to. | |
They don't come forward when he's beneath me, head way back, throwing rocks. I haven't tried a situation where he would walk away with his arms out, to show that they're no longer out. I've no idea what effect this will have on anything else the AI does. I sent angua a PM last night about this, but she hasn't read it yet. |
|
I'm pretty sure, based on the comment and my fuzzy memory, that those values are there so that AI can effectively do melee attacks against the player when they are are standing on crates or otherwise higher than the AI. edit: For the record, I tested in vision01 by climbing on top of the fireplace; the AI could still hit me with the arm values commented out. |
|
Stop an AI from continuing to look at where the player was in the moments before the AI killed the player. Springheel found a relationship between the AI’s head and arm positions. Removing this relationship now allows an AI to keep his arms at his side when looking up, and not out in front of him. Rev. 5833: CombatState.cpp UnreachableTargetState.cpp Rev. 13578: tdm_ai_humanoid.def |
|
I've been in lots of situations where this used to happen and haven't seen it, so I'm going to be optimistic and set this resolved. | |
Date Modified | Username | Field | Change |
---|---|---|---|
05.07.2013 00:54 | Springheel | New Issue | |
05.07.2013 00:54 | Springheel | File Added: too_late_2013-07-04_20.48.40.jpg | |
29.07.2013 21:58 | grayman | Note Added: 0005905 | |
30.07.2013 00:19 | Springheel | Note Added: 0005906 | |
30.07.2013 00:39 | Springheel | Note Edited: 0005906 | |
30.07.2013 00:39 | Springheel | Note Edited: 0005906 | |
30.07.2013 00:45 | Springheel | Note Added: 0005908 | |
30.07.2013 01:02 | grayman | Note Added: 0005910 | |
30.07.2013 01:34 | grayman | Note Added: 0005914 | |
30.07.2013 20:45 | Springheel | Note Added: 0005918 | |
30.07.2013 20:46 | Springheel | Note Edited: 0005918 | |
30.07.2013 20:57 | Springheel | Note Added: 0005919 | |
30.07.2013 22:30 | grayman | Note Added: 0005920 | |
30.07.2013 23:56 | Springheel | Note Added: 0005921 | |
31.07.2013 00:00 | Springheel | Note Edited: 0005921 | |
04.08.2013 00:47 | grayman | Assigned To | => grayman |
04.08.2013 00:47 | grayman | Status | new => assigned |
04.08.2013 00:49 | grayman | Note Added: 0005953 | |
04.08.2013 00:49 | grayman | Status | assigned => feedback |
04.08.2013 00:49 | grayman | Product Version | => TDM 1.08 |
04.08.2013 00:49 | grayman | Target Version | => TDM 2.00 |
13.08.2013 23:47 | Springheel | Note Added: 0006014 | |
13.08.2013 23:47 | Springheel | Status | feedback => assigned |
13.08.2013 23:47 | Springheel | Status | assigned => resolved |
13.08.2013 23:47 | Springheel | Fixed in Version | => TDM 2.00 |
13.08.2013 23:47 | Springheel | Resolution | open => fixed |