It moves the interactable object using a configurable IMovement instance. Additionally, it employs a DistantCandidateComputer<TInteractor, TInteractable> to determine and hover over the most suitable candidate for interaction.
Determines the best DistanceGrabInteractable candidate for selection based on the user's input and the current position of the interactor.
This method leverages the DistantCandidateComputer<TInteractor, TInteractable> to analyze the available interactables and select the one that best aligns with the user's input and the interactor's position. It updates the HitPoint property with the exact point of interaction for the selected candidate.
This method initiates the movement sequence for the selected interactable using the configured movement provider. It also subscribes to pointer events from the interactable to manage its state during interaction.
This method finalizes the interaction by unsubscribing from the interactable's pointer events and resetting the movement state. If a velocity calculator is available, it applies the calculated velocities to the interactable, simulating a throw or release action.
Updates the interactable's state while it is selected, ensuring it follows the target position.
This method is called during each frame while an interactable is selected, updating its position and rotation to match the target's current pose. It utilizes the movement provider to smoothly transition the interactable towards the target position.