The first working version of avatar anchors! Allowing for seats, beds, vehicles, roller coasters and lots more! There's still a lot of work to do with them, but this is first usable version with the framework set in place.
Following builds will be building on this - adding more components, simplifying setup, fixing issues. Let me know what you think!
New features:
- Added "AvatarAnchor" component, which serves as the core building block for building seats and other anchoring behaviors
-- It will parent user under specific space and set their scale to fit
-- It will position and rotate them using chosen body nodes (root, head, hips, feet)
-- It will install avatar pose filters, which can be used to constrain/pose body nodes (if they're not present, dummy ones will be inserted)
- Added "Avatar Anchor Touch Trigger" which allows anchoring/releasing the user by clicking on an object
- Added "Avatar Anchor Locomotion Release" which allows releasing the player when they try to jump or move
- Added Head Max Fix Distance to VRIKavatar (default 0.025)
-- This will fix head position and rotation within a small distance for the user currently using the full body avatar, preventing the face geometry from being pulled into their face in some scenarios (e.g. reported by @Casuallynoted )
- Added "Hips Position" node
-- This will give you calibrated hips position (if tracker present), full body avatar hips position or fixed hips position if none are available
- Added "Hips Rotation" node
-- Similar logic, but will either just return tracker hips rotation or head facing direction
- Added "Feet Rotation" node
-- Either returns averaged feet rotation (when trackers available) or head facing rotation
Tweaks & Optimizations:
- Tweaked FeetPosition property on UserRoot - it will use trackers if present and if not the projected position is pushed backwards slightly
- Moved the pose/rotation/tracking filter support from TrackedDevicePositioner to AvatarPoseNode and updated existing filters
- Tweaked the thumbnail update logic - if the host is away or otherwise unable to render new thumbnail (e.g. headless), the thumbnail will be taken from one of the present users if possible (previously this would happen only for headless host)
- RawOutputs won't generate changes if the assigned value remains the same. This can reduce computations in some scenarios
Bugfixes:
- Fixed nonsensical storage information on the dash when the data hasn't been loaded from the cloud yet (reported by @Groxxy , @🧡Zyro1331🧡 and others)
- Fixed session thumbnails being captured or downloaded redundantly when the background process takes longer
- Added a guard against lingering drives for AvatarPoseNode, causing some issues feet or hip tracking binding and full body calibration
- Models with duplicate blendshape names will now import correctly (duplicate names will have "_" appended at the end) (based on report and sample model by @RaccoonRezillo )
- Fixed not being able select the next enum value for enum types with multiple labels for the same numeric value
- Fixed exceptions in the full body calibrator when one of the tracked device components is missing tracked device (discovered in log from @Honzackcz )
- Fixed VRIKAvatar using non-tracking trackers without the user first getting into horizontal pose with tracking ones
Known issues:
- Avatar Anchor won't constrain pelvis/feet on an avatar if they're not calibrated
