Repository navigation
motion: a way acted from the clip keys on the clip's pose and hands back into it; a figure's capsule walks through its own ragdoll (#849, #851) - #852
Merged
Conversation
…ack into the clip over BLEND (#849) A figure on its clip (ANIMATED) that sat, lay down or knelt had its way keyed on the ragdoll's animation pose, which the ragdoll only took while its bodies drew the figure. Sat from its clip, the box man stood up into a pose of what it had never been given: its drawn hips upside down and facing where it first stood, turned 3 rad and thrown 66 cm in the step the way set it straight back to ANIMATED. - physics.ragdoll_keep_animation takes the clip's pose as a figure on its clip begins a way, as ragdoll_release already did for a figure let go limp; sit, lie_down and kneel call it. - A way that ends in ANIMATED hands back into the clip over BLEND, from the pose last shown, as set_mode hands a POWERED figure back. tests/test_sit.ae sits the box man from its Idle and stands it up onto it: its drawn hips stay upright (42 degrees at most, the lean), turn 1.2 degrees and move 1.4 cm a step at the most. On main: 180 degrees, 100 cm, upside down, and the toes slid 579 mm standing up.
…owever the two were made (#851) A figure with a character controller and an active ragdoll (motion.on_figure) had its capsule pushed out of its own bodies unless the game called character_ignore. Only the plaza and Siltreach did. The box man on its Walk, its bodies following the clip, was carried 6 m backwards in 2 s against its input. The ragdoll is told the object it stands for (ragdoll_set_object, which motion.on_skeleton calls), and a character on that object walks through its bodies, whichever of the two was made first. Freeing the ragdoll lets go of any character that walked through it. character_ignore stays, to pair a character with a ragdoll made some other way. tests/test_character_bodies.ae walks it 2 s on its clip: 1.58 m ahead with the capsule made first or after (main: 6.06 m backwards, 7.46 m in all).
…sics on 0.839, aether-ui#221)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The first two defects the animation and physics cycle test (#850) turned up, both on the path from a figure's clip into a keyed way and back.
closes #849. A figure on its clip (ANIMATED) that sat, lay down or knelt had its way keyed on the ragdoll's animation pose. The ragdoll had only taken that pose while its bodies drew the figure, so a figure that sat from its clip stood up into a pose it had never been given: its drawn hips upside down, facing where it first stood. Then the way set it straight to ANIMATED, and the hips turned 3 rad and jumped 66 cm in one step.
physics.ragdoll_keep_animationtakes the clip's pose as a figure on its clip begins a way, asragdoll_releasealready did for a figure let go limp.sit,lie_downandkneelcall it.BLEND, from the pose last shown, asset_modehands a POWERED figure back.closes #851. A figure with a character controller and an active ragdoll had its capsule pushed out of its own bodies unless the game called
character_ignore, which only the plaza did. Now the ragdoll is told the object it stands for (ragdoll_set_object, called bymotion.on_skeleton), and a character on that object walks through its bodies, whichever was made first.tests/test_sit.ae): the drawn hips' worst turn / move in a step, off uprighttests/test_character_bodies.ae)Both new checks fail on main. The physics-driven sit (POWERED, handed back after standing) is unchanged: 0 of 12 down with the capsule set up as intended. #848 stays open for Siltreach's re-measure.
Left for the next step: on a walk-off that turns, the slerp blend into a turning clip adds about 2 rad/s to the hips over the clip's own 4.6 (6.3 against main's 4.45, which cut instead). Every hand-back to the clip has it, the POWERED one too. The fix is to inertialize the hand-back (Bollo, Gears of War 4, GDC 2018), so the offset at the switch decays over the live clip instead of being blended toward it.
Aether stays at 0.834.0 in this PR. The 0.839 move is on branch feat/aether-0839, and it waits on aephysics building on 0.839 (E0902 at broad_phase/module.ae:127) and on aether-ui#221.