filmgrvin
2 years agoExplorer
Artificially triggering a snap interaction via code
I'm trying to instantiate both a SnapInteractable and SnapInteractor from code. After both objects are instantiated, I want to then attach the interactor to the interactable.
Here's a demo video to demonstrate what I'm going for: https://www.dropbox.com/scl/fi/zcpshr4bjw2okacy0ae29/2024-03-13-at-12.49.17.mp4?rlkey=so0s0r316vykvir8u0eq743ja&dl=0
The only way I can get the interaction to occur is by using my hand to grab the interactor, and place it near the interactable.
I've tried setting the position via code (hoping proximity would trigger a snap interaction), but no luck.
I've also tried using the following code but no luck there either.
interactable.AddSelectingInteractor(interactor);
interactor.Select();
Any ideas?
Hi filmgrvin, the SnapInteractor has some methods you can use to force select the interactor, like this:
SnapInteractor.SetComputeCandidateOverride(() => SnapInteractable); SnapInteractor.SetComputeShouldSelectOverride(() => true);This will force-set the candidate of the interactor to the correct interactable, and then force it to select (snap).