Hello everyone.

The Mixed Reality Forums here are no longer being used or maintained.

There are a few other places we would like to direct you to for support, both from Microsoft and from the community.

The first way we want to connect with you is our mixed reality developer program, which you can sign up for at https://aka.ms/IWantMR.

For technical questions, please use Stack Overflow, and tag your questions using either hololens or windows-mixed-reality.

If you want to join in discussions, please do so in the HoloDevelopers Slack, which you can join by going to https://aka.ms/holodevelopers, or in our Microsoft Tech Communities forums at https://techcommunity.microsoft.com/t5/mixed-reality/ct-p/MicrosoftMixedReality.

And always feel free to hit us up on Twitter @MxdRealityDev.
Options

HoloToolkit event continuity

I want to replace my own input handlers with the ones in the HoloToolkit but I'm having trouble trying to use the manipulation events with the new input manager.

I have 2 types of objects that implement the IManipulationHandler. The first is a big box which lets me move my hologram and the second one are spherical corners on that box that let me scale it.

I find the default behaviour of the events pretty confusing. Only the focused object will get the current events and there is no form mechanicsm to prevent a different object of getting the events. For example I focus my box and start the manipulation gesture. I can manipulate the box as I want but when I don't focus it explicitly or hit one of the corners with my cursor by accident the corner will receive the events instead. They will then also only partially receive the events like they only get OnManipulationUpdated and no Started/Completed/Cancelled.

What I expected:

Obj1: OnFocusEntered
Obj1: ManipulationStarted 
Obj1: ManipulationUpdated 
Obj1: OnFocusExited
Obj1: ManipulationUpdated 
Obj1: ManipulationCompleted/Cancelled

What the current behaviour is:

Obj1: OnFocusEnter
Obj1: ManipulationStarted
Obj1: ManipulationUpdated
Obj1: OnFocusExit
Obj2: OnFocusEnter
Obj2: ManipulationUpdated
Obj2: ManipulationCompleted/Cancelled

When always capturing Gestures:

Nohandler: ManipulationStarted
Obj1: OnFocusEnter
Obj1: ManipulationUpdated
Obj1: OnFocusExit
Nohandler: ManipulationCompleted/Cancelled

I'm currently using a script to lock the focus with the override functionality of the InputManager so that one object will receive all manipulation events until the gesture is finished.

Wouldn't it make more sense for the default behaviour to be to keep sending events to an object until the gesture is complete?

Sign In or Register to comment.