Enter a novel digital universe with infinite possibilities. Whether you resonate with people around the world in a casual conversation, playing games and socializing or you riff off each other when creating anything from art to programming complex games, you'll find your place here.
Hello everyone! Here's a bunch more additions, tweaks, improvements and fixes, majority of them for the locomotion animation system. This should make things look and behave better, but there's still more to do!
If you're helping us tune the default parameters, I recommend giving the sets a try. Since this auto-computes metrics for avatars, your existing tunings will probably look a bit different and might need re-tuning. Same with some other stuff that changes the behaviors a bit.
There's a few other additions and improvements too, but still heavily focused on the animations, since that's mostly affecting people now.
[h2]New Features:[/h2]
- Implemented automatic computation of metrics for locomotion animation for full body avatars (issue #2887)
-- This should overall help animations fit the avatars better and make them look better
-- Note that with these changes, some re-tuning will probably be needed
-- This computes feet separation, shoulder positions and arm lengths and hand offsets
-- Note that the success rate will vary depending on avatar and some avatars might need adjustment more than others. The calculation is based on the resting pose of the avatar - e.g. if the resting pose of the avatar has wide feet stance, the resulting metrics will also produce a wide stance
- Added smarter adjustment of forward reference direction for the locomotion animation to allow to head move without the feet immediately reacting
-- The head can move up to certain angle before the feet will start adjusting rotation
-- When walking or running, this adjustment will happen sooner, in order for feet to stay aligned with the direction of movement
- Added system that limits maximum simulation timestep for locomotion animation and will perform multiple simulation steps per frame if it drops too low
-- This helps improve the accuracy of the simulation, especially at lower framerates
-- There's a limit to simulation steps. If the framerate is running too low or there's a freeze, the simulation will "slip". This is done to prevent too much CPU load by too many simulation steps and also to prevent the simulation from causing a "freak out" by stepping too far
- Full body avatars using VRIKAvatar will directly feet current shoulder position into the locomotion animation system
-- This overrides the actual shoulder separation and offset set by the metrics with live-updated poses, which provides the most accurate results
- Added Space to LocomotionAnimation(Feet/Hand)Metrics
-- This allows specifying the metrics in the local space of the Slot the component is in, which will automatically rescale them to the user root
-- This is better when the avatar gets significantly scaled when equipped and ensures the metrics stay in sync with its current scale
- Added ShoulderOffset metric
-- This allows applying forwards/backwards offset to the shoulder position
- Added support for universe homes (implemented by @probableprime)
-- This is useful for organizations/corportations, so they can have a custom Local & Cloud home for users in their private universe
[h2]Optimizations:[/h2]
- Slightly improve environment collider check performance by doing a cheaper check first
- Improve AvatarUserViewHeadOverride performance by reducing GC pressure and disabling completely while in VR
-- This could potentially help issue #2895 reported by @ryuvi (I haven't tested if the issue is caused by this)
- Track requests to recalculate skinned mesh matrices and automatically unflag skinned meshes when nothing is requesting them to be recalculated for every render anymore
- Small optimization when fetching components of certain type
[h2]Tweaks:[/h2]
- Properly calculate head reference position with neck offset, fixing the shoulders moving down when looking down or up
- Improve forward reference calculation to prevent the feet direction flipping when looking down
- Improve knee offset calculation when using simulated poses
- When a foot acquires footing, it is immediately simulated on the ground for the remainder of current update tick
-- This improves the accuracy of the simulation, especially with large movement speeds
- Ensure that the default configuration in the world is non-persistent, so it's properly initialized on every startup
-- IMPORTANT: You shouldn't modify the version of the component referenced by UserPoserController as default other than for testing purposes. If you want to use custom setup, put an instance of the configuration under your avatar
[h2]Locale:[/h2]
- Merged English locale tweak by @stiefeljackal
- Merged German locale tweaks by @muppeq
[h2]Fixes:[/h2]
- Fixed invalid hand swing parameters corrupting the animation, causing the hands to be pulled towards root (based on report by @Jatsy, issue #2875)
- Fixed RenderTransformOverride not activating properly when enabled/activated from a disabled/inactive state
- Fixed world loading indicator showing under the floor and not following head rotation (reported by @bredo, @raidriar796, @conehead1, @ocelot342, @modernballoonie, issue #2855, fixed by @probableprime)