inochi-creator icon indicating copy to clipboard operation
inochi-creator copied to clipboard

[Feature Request] Ability to swap XY output for physics

Open Draconizations opened this issue 1 year ago • 3 comments

Validations

  • [X] I have checked for similar feature requests and could not find any.
  • [X] I have made sure this is not an already-existing feature.

Description

Hopefully the attached video should help explain-- I'm not sure how to word this best.

I'm trying to rig a parameter that controls the head angles through physics. The head angle tracking input would be bound to this, rather than directly to the output. something like what this video describes https://youtu.be/tU-a_quY7Ko?si=uZ67VYgixTClZuja but for inochi2D (although I'm using XY mappings rather than anglelength, since anglelength didn't seem to give the results I wanted. assuming this is just a fundamental difference between inochi2D and live2D)

currently I have two parameters, one for X, one for Y, as well as two physics nodes for X and Y. the head angle output is bound to both of these physics nodes.

my issue is that when moving a mapped pendulum up and down, there seems to be no way to mimic the behavior of moving an XY mapped pendulum on the X axis. When moving the pendulum sideways, the pendulum's resting point moves, this is what I want so the head can remain looking sideways. When moving the pendulum up and down on the Y axis, the resting point remains the same and eventually the head won't be tilted up or down anymore.

https://github.com/Inochi2D/inochi-creator/assets/72747870/ea82747a-afb7-421a-805a-03e28c468897

Suggested solution

The ability to swap the output of an XY physics node to the mapped parameter. So that the pendulum's X input will map to the parameter's Y output, and vice versa.

That way the current behavior for XY physics can remain the same while solving this specific use-case!

Alternative solution

I did figure out that I could separate the output head angles into two 1-dimensional parameters, for both X and Y, then map the two parameters to those independently. The issue with this is that any rigging bound to the corners of the angles will be lost. Often the interpolation between the two isn't quite where I want it to be.

I'm trying to avoid having to change the way XY mapping works here or having to make a whole new mapping type since I think the proposed solution is elegant enough if possible.

Additional Context

No response

Draconizations avatar Mar 01 '24 08:03 Draconizations