Augmented Reality

  • After the first two parts of this series, where we looked at items 1 & 2 on the below list, it's time to tackle item 3: A single sound is assigned to our robot When the robot stops completely, so does the sound The same sound is assigned to each of the robot's parts When each part stops moving, so does the sound for that part A different sound is assigned to each of the robot's parts When each part stops moving, so does the sound for that part As I mentioned last time, I was fairly happy with the…

  • Some of you may have heard about the launch of a new Autodesk product, last week, that's focused on generating interactive 3D environments from Revit models. It's called Autodesk LIVE and is part of the Autodesk LIVE Design umbrella (at least I think I have that the right way around).   Autodesk LIVE Design is all about making it easier to apply best-in-class visualization technology from our Media & Entertainment division – who collectively know a few things about high-end rendering and animation, admittedly – to the world of design and engineering. Here's a video describing how Autodesk LIVE –…

  • Last time we looked at a rudimentary – although in some senses complicated – spatial sound implementation for our ABB IRB 6620 industrial robot model inside HoloLens. It was simple because we added a single sound at the root of the robot, and complicated because we then had to track the status of each of the robot's parts and turn the sound off when all were stopped. In this post we're going to look at the second of the three design options we saw last time: A single sound is assigned to our robot When the robot stops completely, so…

  • As mentioned last time, upgrading to Windows 10 has opened the door to spatial sound in our HoloLens model. The foundational step is to set our Unity project's audio settings to have the Spatializer Plugin as the "MS HRTF Spatializer": if you don't see this option then you may need to upgrade your OS (as I did). At this point we need to think a little about how best to implement spatial sound in this project, particularly as it literally contains a number of moving parts. I see three main alternatives: A single sound is assigned to our robot When…

  • 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…

  • In the last post we added a gaze cursor and some command support for our ABB industrial robot inside HoloLens. The next step I took was to add spatial mapping, allowing the user to select the base of the robot and move it around within the spatially mapped environs. The Holograms 101 tutorial provided very straightforward instructions on how to implement spatial mapping. I once again had to export the "wireframe" material asset from the provided project to get it across into my own, but that was a minor detail. Unfortunately when testing the capability – just as with voice…

  • Now that our industrial robot is animated, I thought it a good time to head back on over and finish more of the Holograms 101 tutorial. The next section of the tutorial focuses on adding a gaze cursor to the application: you have a torus mesh that tracks against the geometry the user is looking at. The instructions were reasonably straightforward – even when retrofitting the approach for a different project – but there were a few "gotchas" that are worth documenting: The simplest way to get the cursor – and its dependent bits and pieces – across into your…

  • Now that we have our basic model of the ABB 6620 industrial robot inside HoloLens, it's time to make it move. Tom Eriksson kindly provided some basic scripts to perform rotations on the various parts in the base model. I went ahead and consolidated these into a single "Rotate" script, with parameters (the speed, axis and min/max angles of the rotation) that vary depending on the part being rotated. For instance, some parts can rotate freely around their main axis while others are physically constrained to move between certain angle limits. This is taken care of by the below C#…

  • This post shows something really simple, but I decided to share it here as it took me some time to track down. On Saturday I received the 3D model of an ABB industrial robot – the IRB 6620 I mentioned last week – from Tom Eriksson. He's used a number of tools – including Fusion 360 – to create a gorgeous rendition of this particular robot in Unity. Tom very kindly agreed to share the model, and has spent quite a bit of time helping get it ready for HoloLens. The first version Tom sent unfortunately didn't work for my…

  • I'm supposed to be off work, this week, so aside from a small amount of HoloLens-related fun, I've actually been stuck up a ladder, sanding and painting some of my home's woodwork. This has left my younger kids (who are now 7 and 9 years old) ample time to stress-test HoloLens, which has led to some fascinating results. I should say that I gave them very little instruction on how to use HoloLens: I showed the air-tap and bloom gestures, but that was about it. I didn't bother recalibrating the device for little fingers, either. When I finally put the…