paulstarke/PhaseBetweener

What are different options/settings doing?

dj-kefir-siorbacz opened this issue · 2 comments

Hi @pauzii !

I was wondering what the following options are doing/how they work:

From Authoring In Betweening Controller:

  1. Lerp Duration Factor
  2. Trajectory Control
  3. Trajectory Correction
  4. Lerp Input Pose
  5. Blend To Target Space
  6. Postprocessing - just some IKs on feet? Without it there's foot sliding. Though I've also noticed that when subsequent ControlPoints are very close to each other (or even at the same position), then this option causes the character to not move its feet at all, but rather "levitate" its torso towards the target pose :D

From Authoring:
7. Style Info Options - how are these working? How are they determined? Can I use my own style? These are just strings, not pointing to any animation file. In the default StyleControl GameObject I see that "Crawl" works, but I don't see any result for "Move" or "Aiming".
8. Speed - It seems like it does nothing.
image

Set (4) to true enables a smoothing of the target pose depending on the duration factor (1). After reaching a target pose the input feature space can be changing non-continues and this enables a smoother transition after each sequence.

(2) Is a parameter to control the future trajectory. If you are able to give a reasonable trajectory towards the target (e.g. Authoring tool or GT trajectory) setting this between 0.5 and 1 can enhance the motion quality. When this parameter is set to 0 the trajectory is updated in an autoregressive manner from the network depending on (3). Please look into the paper for more details.

(5) Enables/Disables bi-directional control.
(6) Enables some postprocessing on the feet depending on the contact prediction of the network. You might want to disable postprocessing for complex motion transitions that are beyond simple locomotion.

(7) Corresponds with the StyleAction Module. It's a index mapping to the style labels in your export. Currently we have the transitions clustered within 3 styles: Move, Aiming, and Crawling. You can check in MotionProcessor.cs how we detect those behaviors in the data.

(8) This variable wasn't designed for the motion in-betweening task. You can ignore it - it's not used in the controllers.

Btw. is it possible to specify different inbetweening times (in seconds) between each pair of control points? I guess it's possible from the neural net perspecitve, but is not possible in the PhaseBetweener Unity app, right?