So yes, it does make sense to switch to Windows 10 if you’re doing HoloLens development.
As mentioned in a recent post, I’d previously not upgraded any of my work PCs to Windows 10, mainly due to lack of formal support from our IT department. Which isn’t in itself a huge concern, but I do need to connect to certain pieces of corporate infrastructure, so this was enough of a deterrent in the absence of a compelling reason to upgrade.
The two main potentially compelling reasons I hit while working on this HoloLens project were:
- Inability to run the HoloLens emulator
- Lack of spatial sound support prior to Windows 10
The first one wasn’t such an issue – once I got my hands on a physical device, of course – but the second was irritating enough for me to go ahead and upgrade to Windows 10 (with the help and blessing of our local IT team).
Immediate benefits? Well, for sure I could install the emulator, which is hosted by Hyper-V. So yes, I’m working on a physical Windows PC, not a Parallels VM in my Mac.
I spent a significant amount of time, yesterday, trying to work out how to get the emulator working, though: it would launch – although that took several minutes on the first run – but it kept giving me the following message, after which the launch would complete but no input events would make it to the virtual device:
The emulator is unable to connect to the device operating system:
Couldn't auto-detect the guest system IP address.
Some functionality might be disabled.
After a bit of Googling, I realised I had to tell Windows Firewall to accept inbound/outbound connects from the XDE.exe application (for me found at C:\Program Files (x86)\Microsoft XDE\10.0.14342.0\XDE.exe). And I had to enable it for “Public”, as well as “Private” and “Domain” networks, as for some reason my home router was detected as Public. Yes, I should really change that, although I now have to work out how to do so in Windows 10. :-)
This happily allowed the emulator to launch much more quickly, as well as having the application itself load and the user input events enabled. You control the HoloLens emulator primarily using the WASD and arrow keys for movement/gaze direction, as well as the Enter and Windows keys for air-tap and bloom, respectively. It’s not as cool as a physical device, but it’s not at all bad.
For spatial sound I was very happy to see the “MS HRTF Spatializer” option show up in Unity under Edit –> Project Settings –> Audio –> Spatializer Plugin:
So I should be all set to add some spatial sound to the robot model. I’ve therefore been busy scouring the web for servo sounds that I can use for the project: I’d ideally like to have each joint emit a sound while moving, although this may end up being overkill. It might just prove more compelling to have a single servo sound playing when the robot is in any kind of movement.
We’ll explore that in an upcoming post.