tsunamayo / Starship-EVO

Welcome to Starship EVO bug tracking repo !
112 stars 17 forks source link

[Mechs] Symmetry Mode does not apply to leg #5840

Closed ProPeach closed 20 hours ago

ProPeach commented 4 days ago

Short Description of the issue:

Trying my hand at a spider mech. Changing Symmetry Mode from "None" to "Left to Right" does not apply any keys to the Joints marked as "Right"

The Left limbs have been programmed with keys, and I added a Right designated limb hoping to use the symmetry function to generate the keys for it, but the symmetry function does not seem to do anything in that regard. It's possible I'm using it wrong? I made sure every joint has a key at 0.5, as I heard that was necessary.

https://imgur.com/a/qKd3mFI

For reference, here is a version of the same mech for which I programmed the Right limbs manually, that's attached below too https://imgur.com/a/OXBGATJ

Steps to reproduce the issue:

Environment

Additional information:

bp that shows the bug Dwarf Spider Droid Symmetry Bug.zip bp that shows the walk cycle I'm aiming for, programmed manually both sides Dwarf Spider Droid.zip

tsunamayo commented 1 day ago

@ProPeach Hi, I am having a look at it, not sure why it does not like it. I was thinking of changing my implementation of symmetry for a more elegant one (that would like fix this bug): Instead of copying the animation, the symmetry is applied during the animation itself, so the computer only stores one side essentially. Pros:

Cons:

Tell me what you guys think of that!

Cheers

ProPeach commented 1 day ago

Not having to have a frame at 0.5 would be great, currently that's not a very intuitive requirement. I also like the sound of the custom offsetting tool.

If you would go from Symmetry: Left to Right to None, you get no right animation.

Just to clarify here, does this mean if you set symmetry to "None", the Joints marked "Right" won't show up in thr Mech Computer? Or that the Right Joints would not be animated automatically and show up in the Computer ready for input of manual keys? Ideally the second one would happen.

But yes I agree, for 95% of people I think this would be a good change

tsunamayo commented 1 day ago

@ProPeach If you go from Left to Right => None, then you see an empty right anims (with 0 and 1 keys).

ProPeach commented 1 day ago

Ah good, so long as they're available to animate manually yeah that's totally fine

BigBadKangaroo commented 1 day ago

@ProPeach Hi, I am having a look at it, not sure why it does not like it. I was thinking of changing my implementation of symmetry for a more elegant one (that would like fix this bug): Instead of copying the animation, the symmetry is applied during the animation itself, so the computer only stores one side essentially. Pros:

* less potential bugs

* Can get custom offset: instead of 0.5 we could get a 0.25 offset for example.

* You dont have that fixed 0.5 frame that might gets in the way.

Cons:

* If you would go from Symmetry: Left to Right to None, you get no right animation.

* Animation export/import is tied to the symmetry setting.
  => those seems fringe case. I think in 95% of the case people will just want symmetry (I would enable it by default).

Tell me what you guys think of that!

Cheers

No forced animation at 0,5 and custom offset sounds amazing! As long as we're able to set animation frames freely I'm all for it

tsunamayo commented 1 day ago

Okay I will do it, it will allows me to simplify a bunch of code.

tsunamayo commented 20 hours ago

@ProPeach It should be fixed for next update, for custom join I added a new param: "Is Symmetry reversed". Your custom hip join where pointing upward so that didnt work with the old algo. Cheers