View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004063 | The Dark Mod | Animation | public | 27.01.2015 19:28 | 31.01.2015 18:40 |
Reporter | SteveL | Assigned To | SteveL | ||
Priority | normal | Severity | normal | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | TDM 2.03 | ||||
Target Version | TDM 2.03 | Fixed in Version | TDM 2.03 | ||
Summary | 0004063: Anim channels need to be enabled when another channel syncs to them | ||||
Description | Anim scripts for legs/torso channel can be disabled by frame commands in the anims themselves, or by AI scripts in 2.03. When one channel (A) syncs to another (B) and disables its own (A's) scripts, we need to ensure that B's scripts are running. | ||||
Additional Information | This caused drunken AI with a bottle in hand to freeze, because idle_drunk_bottle calls overrideLegs to disable the legs and sync them to the torso, and it has a tendency to do it in the same frame that Torso_Turn disables the torso script at the beginning of a turn, meaning to sync the torso to the legs. Always enabling the channel being synced to resolves those conflicts. Sequence of events Drunken AI stops walking and needs to turn, e.g. at a door. Idle states kick in briefly on both Torso and Legs before the desire to turn is detected by the animation scripts. The AI starts to play animation "idle_bottle_drunk". A couple of frames later, the turn scripts are activated. (new anim states are Torso_Turn and Legs_TurnLeft, but those scripts haven't activated their anims yet). Meanwhile "idle_bottle_drunk" is still playing on the torso and executes an "overrideLegs" frame command. The legs script gets suspended by that override before it begins to execute, although the AI is already in anim state "Legs_TurnLeft" The Torso_Turn script detects that the legs are in state "Legs_TurnLeft" and syncs to the legs, disabling its own scripts. At this point both legs and torso are suspended, waiting on one another, and the AI won't move until something happens to trigger a new anim state. | ||||
Tags | No tags attached. | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
27.01.2015 19:28 | SteveL | New Issue | |
27.01.2015 19:28 | SteveL | Status | new => assigned |
27.01.2015 19:28 | SteveL | Assigned To | => SteveL |
31.01.2015 18:40 | SteveL | Note Added: 0007400 | |
31.01.2015 18:40 | SteveL | Status | assigned => resolved |
31.01.2015 18:40 | SteveL | Fixed in Version | => TDM 2.03 |
31.01.2015 18:40 | SteveL | Resolution | open => fixed |