Fix pose unlock smooths in wrong coordinate space #145
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Reality Collective - Reality Toolkit Pull Request
Overview
Turns out the source pose reported to the
IControllerPoseSynchronizer
is in the rigs local space and not world space. This caused issues when smoothing the visualizer pose from the interactable lock pose to the actual controller pose when the player rig is not located at the scene origin. Also I realized we do not need an extraIControllerVisualizer.SourcePose
property that was recently introduced, since we can simply useIControllerVisualizer.Controller.Pose
for thatIntroduced
IInputRig
. Same concept as with the locomotion service. The input service expects anIInputRig
to be available in the scene so the input service components, such as controllers, can work. The toolkit's player package is a first party citizen and comes with an out of the box input rig, which is the player rig itself. If, for whatever reason, someone decides to use the input service without the player package, then they have to make sure to register theIInputRig
manually using their own implementation. This is a very advanced use case scenario though. For testing I have already replaced some of theCamera.main
references in the core module using the newInputService.InputRig
API. I'll do another PR updating the rest. Resolves RFI: The Input System is unable to operate without a specific camera setup, currently managed by a dependency? #77