Fix camera interaction bug#6550
Open
HussainAther wants to merge 6 commits intoHubs-Foundation:addonsfrom
Open
Conversation
…nd clean up aliases
Author
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
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.
What?
This PR adds a
stabilize-cameracomponent that enforces network authority when interacting with a spawned camera. It prevents erratic camera rotation caused by multiple clients trying to manipulate the same object simultaneously.Why?
Fixes [#6544](#6544)
When one user spawns a camera and another attempts to grab or rotate it, the camera currently enters a fight between local and remote transform updates—resulting in jittery or looping motion. This change ensures that only the owning client can perform such interactions.
Examples
A user without ownership attempting to interact with another's camera will now:
Mock-up of expected behavior
How to test
Documentation of functionality
No new user-facing documentation is needed. Internal component code is self-documented with inline comments.
Limitations
Alternatives considered
Open questions
stabilize-camerabehavior to other sensitive networked objects (e.g., avatars or streaming devices)?Additional details or related context
NAF.utils.isMine()to determine local ownership.cc: @bitbengames @DougReeder
Feel free to suggest refinements or expand the logic to additional object types.