Repository navigation
Muscles: switches, level ankled feet (#777), a knockdown falls back not over (#822) - #824
Merged
Merged
Conversation
…ragdoll with feet, read once; docs/motion.md on muscles
…t along their shins (#777) Each foot at its own toe's, the box man's right toe sat 8 mm under its left and it stood its whole weight on its right foot (844 N against 0): every step began from one loaded foot, and on muscles a figure tripped onto its front never got up (test_get_up on muscles 3 failures, 36 of 36 now). At the lower toe's share the figure keeps its height, so ragdoll_set_mass weighs it as before: at the mean of the two it came out 4 mm shorter and 0.36 kg lighter than without ankles (test_ankled_steps). A figure without ankles keeps each foot at its own toe's until its protective fall is retuned.
…gure lands (#822); the balance assist read only from its own joint The protective fall was swept with the balance assist held against the fall until the figure is down (FALL_ASSIST): the stand-in for the legs and hips a person brakes a fall with. On muscles the knock's unpin let go of it too, and Siltreach's knock (2.9 m/s back and 0.25 up at the chest) sent its figure over its shoulders, legs over its head, and up turned half round. Held through the fall (pin_held), on Siltreach's own figure in its idle: the hips 0.09 m over the neck at the most against 0.42, turned 0.27 rad against 2.71; clean to 3.0 m/s (the servo to 3.2). The pin is still let go standing, lying and through the get-up, as before. physics.ragdoll_balance_assist asked the pelvis anchor's parallel joint for its torque while the anchor was the motor joint that carries a figure following its clip (getting up, animated): aephysics' getter read a null and the program crashed (aephysics#181). It answers 0 there now, and the setter leaves such a figure alone, as aephysics' setter did. test_muscles: knocked down backwards at 2.8 m/s, the brake holds until it lands and the hips stay under the neck (both fail without the fix: the brake went to 0, the hips 0.014 m over). test_ragdoll_mass: an animated figure's assist reads 0 (a segmentation fault without the fix).
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.
Toward muscles as the default (#790): two switches to run everything on them, and level feet for figures with ankles.
Switches (read once, as a figure or ragdoll is made):
AE3D_MUSCLES=1starts every active ragdoll on muscles (motion.set_muscles).AE3D_ANKLES=1gives every ragdoll feet of its own (physics_set_ankles).With both, any suite, the showcase or a game runs on muscles unchanged, which is how the suites still failing there are found.
Level feet for ankled figures (#777). Each foot was placed at its own toe's height along its shin. The box man's right toe sits 8 mm under its left, so it stood its whole weight on the right foot (844 N against 0): every step began from one loaded foot, and on muscles a figure tripped onto its front never got up. Both feet now sit at the lower toe's share of the shin:
test_get_upon muscles and ankles: 36 of 36 (3 failures before).ragdoll_set_massweighs a figure by its height down to its lowest foot. Levelled at the mean of the two toes instead, the box man came out 4 mm shorter and 0.36 kg lighter than without ankles, whichtest_ankled_stepscaught.A knockdown falls back, not over (#822). Siltreach's knock (2.9 m/s back and 0.25 up at the chest) sent its muscled figure over its shoulders with its legs over its head, and it rose turned half round. The protective fall was swept with the balance assist held against the fall until the figure is down (FALL_ASSIST), standing in for the legs and hips a person brakes a fall with. On muscles the knock's unpin let go of that brake too. A fall now keeps it until the figure lands (
pin_held); the pin is still let go standing, lying and through the get-up. On Siltreach's own figure in its idle:A crash fixed.
physics.ragdoll_balance_assistasked the parallel joint for its torque while the pelvis anchor was the motor joint that carries a figure following its clip (animated, getting up), and the program crashed. It answers 0 there now (aephysics#181 has the getter side).docs/motion.md: a section on muscles: what a figure on them gets, how to switch them on, and what still fails there.
Tested locally (Windows, Aether 0.831.0):
test_ankled_steps3/3,test_muscles11/11 (new: knocked down backwards, the brake holds and the hips stay under the neck; both fail without the fix),test_ragdoll_mass9/9 (new: an animated figure's assist reads 0; a segfault without the fix),test_get_up36/36 (and 36/36 withAE3D_MUSCLES=1 AE3D_ANKLES=1),test_get_up_kerb24/24,test_feet20/20.Closes #822. Part of #790 and #777.