Microsoft HoloLens Developer's Guide
上QQ阅读APP看书,第一时间看更新

Making sure objects can be found

It is easy to get lost in a virtual world. In the real world, we have a sense of where objects are, especially if we are meant to deal with them. Imagine this scenario--you are at work, and you are told to go to a certain office to test out a new app your co-worker wrote. Of course, you comply. You know where the office is, so you walk there. You enter through the door, you look around the moment you step inside and see a laptop on the desk. You take one of the chairs you find at the small coffee table, pull it to the desk, and open the laptop.

This is so common that we do not immediately see the moments when we locate the things we are meant to be working with. Most of them are so obvious that we take them for granted:

  • We know where the office of our co-worker is in the building
  • We know where the door is
  • We know where to find the desk in the office
  • The laptops are usually found on the desk instead of hidden somewhere in a cupboard
  • The chair behind the desk is the one your co-worker will sit in the moment he comes back to hear what you think, so you grab one of the other chairs
  • Those coffee table chairs are movable, and you can place one near the desk
  • And so on...

All these steps are so common that we never think about them. However, in the virtual world, nothing is so easy. We can ensure that the items we place are in positions the users expect them to be (again, tables usually are on the ground, not floating near the ceiling). However. the moment your user puts on the HoloLens and starts an app, he is immediately moved into a place he has never seen before. He has no references, he knows nothing about the layout of the place, and he has no idea whether his presumptions about the world are still valid.

Let's take a very simple example; we draw a layout like this:

Field of view for a user

As you can see in the preceding diagram, we have placed the user in a room and surrounded him with holograms, shown here as circles. When the application starts up, the user will see the objects that are in front of him. This is indicated by the triangle in front of the user, depicting his field of view, but there are objects behind him as well, objects that might be important in the app; how do we tell the user to look around?

There are several ways of doing this, but the most used are as follows:

  • Use a pointer or a special cursor to alert the user to look in a certain way
  • Use sounds to notify the user about this