Fine tuning procedural locomotion animations #2799
Replies: 16 comments 47 replies
-
Initial feedback: this is way more complicated than I think you needed it to be, perhaps it has too much physics-simulation to it. This interface could definitely be better organized and labeled, as I don't know where I need to look for each thing that is popping out to me. And maybe the hands and legs should be driven separately, seeing as one might not even use the hands? First thing I did was try to find ways to override the head movement because I didn't like it moving where my head was looking without input. If you wanted to do something like that, you should consider having the mouse control the eyes and have the head follow them at a delay/smooth, or just a very gentle bob. The movement of the hands also feels way too intensive: I feel like a simple swinging system would've sufficed, while these are kind of just wiggling about constantly. it's making it difficult to figure out what to change or how. I liked the look of the legs in the air: I just turned the "Foot While Floating Max Distance" up to .8 and it was perfect. The only issue was, while I was with Easton, we both had our IKs go crazy when we went back into walk mode, like they needed to re-center or degimble or something. I appreciate the added control over Crouching, as the hands always seemed a bit extreme to me in the past. I set the Y offset down to .25, the center-offset to 0,0,-1 because it was pointing them down, and the rest was fine. I did encounter an issue with the hand freaking out when I tried to focus on something when the inspector was too close. I'm not sure what variable to mess with to change that. Going to take a quick break, but I'm hosting the Avatar Station if people want to come in and mess around with mirrors and avatars available. |
Beta Was this translation helpful? Give feedback.
-
How long will this test/fine tuning be open? I won't be free til the middle of the weekend and I'd like to get input from my friend Hammy as he is a professional animator. |
Beta Was this translation helpful? Give feedback.
-
Would the automatic avatar metrics being incorrect be something to open an issue report for, or to talk about here? |
Beta Was this translation helpful? Give feedback.
-
After four hours of tinkering with a few friends, this is what we came up with. Video Resonite Package I have tried various avatars other than the one shown in the video, and I think that the LocomotionAnimationFeetMetrics/HandMetrics should be set for all avatars to get beautiful animations.
The following are points I would like to improve, but haven't figured out how to do so
|
Beta Was this translation helpful? Give feedback.
-
Spent last night focusing on gaits. I did approach things a bit differently than the defaults. I didn't adjust too many of the general values yet. I might but I might not. The only things I think need work were just the hand swinging and stepping under all of the gaits. Default values for Showcase using 3 avatars each calibrated.My list of changes include:
I was having issues with head bobbing simulating when I wasn't moving, resulting in rather strange and unnatural movements when hovering my cursor over something. So I reduced the head bobbing for now. It would be nice if there was a
I wanted to approach the highest gait as a jog rather than a run/sprint, and eventually make another gait specifically for faster movements (Using Shift sprinting). In its current state, the stepping and hand swinging have been greatly reduced. But might have been reduced too much, so I might be spending more time in adjusting that later today. Unless someone else would like to adjust it.
The default foot stepping resulted in massive steps when simply turning your avatar. I reduced these since turning usually only results in your foot lifting about a couple of inches above the ground. As for calibrating avatars with
Specific values of course are determined on the actual model's proportions. So I didn't list them. Feel free to make any adjustments on it, but please make notes of what's changed. LocomotionAnimationConfigruationJune.resonitepackageAlso since some users have been struggling with the current 3rd person camera, I've configured a quick alternate 3rd person camera that uses 3rd Person Camera.resonitepackage |
Beta Was this translation helpful? Give feedback.
-
I've been messing around as well, borrowing some things from both Orange's and Junes. But also tweaking stuff myself.. here is what I've came up with. Ignore the hands flying up when jumping, Adjusting the Arm Length on my avatar fixes that Video (Click to view full version): {I've updated some settings since I made this video} And here is the Config (Updated 8.25.24): |
Beta Was this translation helpful? Give feedback.
-
Here's a test I did to make the really fast run not look weird. 2024-08-24.16-23-52-1.1.mp4I actually overdrove FootTravelDistance a little bit to get this, and I added another gait. |
Beta Was this translation helpful? Give feedback.
-
2024.8.27.55 [PRE-RELEASE] Here's a list of the changes in the new prerelease - for some of these I based them on going through the comments, but I didn't collect all the credits, since it's scattered over a bunch of comments, sorry! I'll credit everyone who contributed once this gets released fully. New Features:
Bugfixes:
|
Beta Was this translation helpful? Give feedback.
-
Unless I can think of anything else, or if there is anything people might want to tweak here is how mine looks now. http://troyborg.us-southeast-1.linodeobjects.com/2024-08/2024-08-29%2001-13-52.mp4 Then I show my Zorrix I use with the debug visuals on moving around in different directions at the end... |
Beta Was this translation helpful? Give feedback.
-
I have tried my best for plantigrade (humanoid) legs, tested on multiple different humanoid avatars with normal humanoid legs. Its not perfect, but its a good basis to start with. Does not require extra components. Also, Feedback - Can we have the feet not turn with the head? When people turn thier heads they swivel in place, no one can just look at something with thier head anymore thier whole body goes with them. |
Beta Was this translation helpful? Give feedback.
-
Further testing at this point, more feedback:
|
Beta Was this translation helpful? Give feedback.
-
Another observation is that when running, the avatar will instead of having a long stride will just increase the speed of the footsteps and will just comically walk really fast |
Beta Was this translation helpful? Give feedback.
-
I have created a new version. I also did some trial and error on Hand/FeetMetrics. ResonitepackageNew Version V1.08 (do not unzip, change the extension to .resonitepackage) VideoProblemsThis is a screenshot while turning to the left.
SuggestionIs it possible to create a mechanism to automatically calculate and set Hand/FeetMetrics when an avatar is created in Avatar Creator? |
Beta Was this translation helpful? Give feedback.
-
I am looking at this briefly over the weekend, I will do a bit of a deeper dive going into the week. This suggestion is going off the current defaults with no parameters tweaked on a Taidum model, and I'll be speaking on just an animation level and not a technical one. One thing that stands out to me about this is that all the animation seems to be driven by pulling the rest of IK by the ends (i.e. hands pulling elbow, feet pulling knees). While the feet and hands are needed to target end positions, I would suggest that before their movement take place to have a bit of movement relative towards the target, starting at elbows and knees (possibly starting higher up at the shoulders and thighs, i.e. radiating motion out from hips). This hopefully would make those movements more weighted/intentional and less string puppet like. The general idea is to ripple out movement from the hips in these cycles instead of pulling straight on the ends. Later this week I want to gather more thoughts about the gaits and play with they system more but first impressions are that there needs to be more of a gradual height falloff based on speed when it comes to step height so there is less awkward stepping at the end. It's possible that the cycle all together is grinding to a halt too much when the movement inputs are released and there might need to be a partial second of cooldown to comfortably arrange the avatar limbs into a natural resting position. This could be an additional half step forward instead of trying to stop right on a dime. I want to alter the parameters more before making any full suggestions though. (I tried a ReadyPlayerMe avatar here in addition with defaults and still the same rough suggestions) One thing we might want to consider as a future project for the content team, is creating additional UI/UX in the avatar builder that makes these parameters easier to adjust when first setting up the avatar. Or we create a separate UI/UX that adjusts these parameters with helpful visuals and a preview toggle for the animation. |
Beta Was this translation helpful? Give feedback.
-
Is there anyway to make to disable to locomotion system when in VR? Maybe make it a desktop only feature? Or maybe if you want it, add it on the avatar. |
Beta Was this translation helpful? Give feedback.
-
After hours of fine tuning, I decided to share my settings for the animation system. These adjustments are much more subtle and more closely resemble the pre update animations while still preserving the new features. AnimationSettings.resonitepackage.zip These settings are also provided in my public folder under examples/components |
Beta Was this translation helpful? Give feedback.
-
Hello everyone!
I've got another thing that I could use the community help with - the new procedural locomotion animation system!
What is being tested
This "test" is actually a bit less about testing and more about helping us to fine tune a new system.
I've implemented a new system for procedural animations for users moving around. This plays huge role particularly in desktop mode, as it animates the poses of their hands, feet and head.
While the system was tuned a fair bit in its development, it still needs a fair bit of tuning to polish it up and tighten up the animations to look as realistic as possible across many avatars.
You can read more about it in this issue: #2617
This is also latest devlog video (though a bit older than the current
prerelease
build): https://www.youtube.com/watch?v=zjTX7CtXkLo&feature=youtu.beCurrent build number
Use latest public build on Steam.
How to test
The system has been released, but the tweaked values are not integrated yet. We'll keep this open for a while, as long as people are interested in helping to fine tune the values, we can look at any new set and see if they're an improvement over what is currently out.
All the components for this system are under
Users/Common Avatar System/Animation
_defaultConfig
target to the component you just createdWhat motions to test:
How to tune your specific avatar
Some things - like arm or leg length should be tuned per-avatar basis to work properly. This is done with two components you attach on your avatar:
You can override certain metrics using these components so the animation system can better fit your avatar. These are per avatar tuning and should not be part of tuned parameters you submit.
However if you do find that there's a different set of defaults for these metrics that works across many avatars, feel free to submit those!
Some tips to test
If you need to test motion more reliably, you can use two fields on UserPoseController
The override parameters will simulate the avatar moving at certain speed, which will keep it consistent.
The PauseLocomotionAnimation will pause it temporarily, so you can inspect what's happening.
I have tuned parameters, what now?
Where to discuss/coordinate?
I've made this Discord thread here: https://discord.com/channels/1040316820650991766/1276327399474335814
You can use this to discuss/coordinate before submitting here. Make sure you submit and test the results here as well!
How many tunings will be accepted?
There can only be one default set of parameters, so our goal is to arrive at good set of parameters that works across a set of commonly used avatars. Please focus on working with other users so we can arrive at single set of parameters.
However as secondary goal, we can provide users with "presets" - e.g. different styles of walking/running - heavier walking, leaner walking and so on. You can make those kinds of presets as well, but please note that this is a secondary goal.
How to tune the parameters
-- https://www.youtube.com/watch?v=QAnEhz6Eqn4
-- https://www.youtube.com/watch?v=Jd8Jijb7jZY
-- https://www.youtube.com/watch?v=vq9A5FD8G5w
-- https://www.youtube.com/watch?v=G8Veye-N0A4
-- Google/search more
What NOT to provide as tuned parameters
-- I'd STRONGLY recommend against it, other than maybe copying some parameters. A lot of things have been completely reworked since the earlier internal
prerelease
builds, so they might not matchI found an issue that cannot be resolved through tuning
If you ran into an issue, glitchy behavior and similar that cannot be resolved by the tuning - either global parameters or per avatar metrics, please make sure to make an Issue instead: https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/new?assignees=shiftyscales&labels=prerelease&projects=&template=prerelease.yml
What to include:
RenderDebugVisuals
)What NOT to report:
Beta Was this translation helpful? Give feedback.
All reactions