Top Tips for HoloLens Development

    Microsoft’s HoloLens is an inspiring piece of technology, and despite the high asking price for the developer edition of the hardware many developers have been keen to jump on board. One such developer is Rene Schulte of IdentityMine, who revealed his ‘Top 10 Dev Recommendations’ at Unite Europe, Amsterdam, last week.

    Schulte is obviously a keen support of HoloLens development, with his talk at Unite Europe clearly born of his own experiences. VRFocus has endeavoured to dig deep into Schulte’s advice, offering a breakdown of what each of the tips presented mean to casual and professional development teams alike.

    Find a Great 3D Artist and Designer

    This is one for those development teams attempting to deliver a software product weighted heavily towards visual interpretation. It’s one thing following Microsoft’s examples of shared spreadsheets and Skype adaptations with HoloLens, it’s another to make full use of the possibilities of hologram technology. Abstract interpretation is not necessarily the best path to follow, and as such a 3D artist who acknowledges the possibilities in real terms is important.

    Treat HoloLens as a Mobile Device

    The HoloLens is a powerful piece of technology, but it’s not yet reaching the point of being comparable to a high-end PC. Given that HoloLens does not require tethering to any other device, applications made for the principle of mobility both in terms of use cases and technical limitations is advisable.

    Take Advantage of its Multicore CPU

    As stated above, the HoloLens is powerful. The on-board multicore CPU allows for simultaneous processes that other devices cannot deliver. Being careful and concise in your design to take advantage of this for both rendering and information processing (input, visual output etc.) can leverage more horsepower and thus place less demand on a single core.

    Brush Up on Your 3D Math Skills

    Given that HoloLens is designed to work within a real-world environment, this one should go without saying. Being able to push the hardware to its limits and create some astonishing imagery is nothing if you’re not able to deliver it in a fashion that it convincingly becomes part of the real-world. Which leads us onto Schulte’s next point…

    Anchor your Holograms

    Drift has been an issue for virtual reality (VR) developers for some time – the error that occurs when the head-mounted display (HMD) is not able to keep up with a user’s head movement, and thus the viewpoint/objects within the viewpoint move out of place – with augmented reality (AR), this is even more vital. A simple example would be that of a calendar: a hologram of a rectangular object placed upon your fridge, for example, would create an alarming impression if a return visit found that same hologram had shifted to a point where only a small percentage of the object remained ‘attached’ to that fridge.

    Leverage Level of Detail (LOD)

    In computer graphics, accounting for Level of Detail (LOD) involves decreasing the complexity of a 3D object as it moves away from the viewer. The reduced visual quality of the model is often unnoticed because of the small effect on object appearance when distant or moving fast. This is relevant to both VR and AR development as lowered complexity of an object that is no longer essential to the user’s viewpoint results in fewer draw calls, allowing for the required processing power to be attributed elsewhere.

    Pay Attention to the Gaze Cursor

    The Gaze Cursor is a precise metric for where the user is looking at any one time; a central location for the viewpoint. This is a great indication that works in tandem with the LOD above: is a user is no longer looking at an object in the centre of the field-of-view it needn’t be rendered to the same level of complexity.

    Use Animations and Transformations

    This is simply a case of making things interesting while avoiding over-complicating environments. A single object animated in both VR and AR can hold far more interest than a still image featuring dozens of objects. To what end this will benefit developers does of course depend on the use cases the application is being developed for.

    Reuse Unity Script Code with a Custom Plugin Assembly

    Unity Technologies is currently the only videogame engine developer to officially support Microsoft’s HoloLens at present, and thus your options may be limited. However, that doesn’t mean that a developer working with the HoloLens hardware isn’t able to customise their processes, and in doing so reusing these assets to avoid issues with long running scripts. If it isn’t broken, don’t fix it.

    Avoid the Long Development Cycle

    A staple of VR and AR development: iteration is key. Given the relative youth of the VR and AR mediums, it’s often been discussed that the ‘rules’ for what will work and what won’t have not yet been discovered. Getting deep into development before taking the time to analyse your own work can easily result in a product not suitable for its intended purpose, and thus many wasted hours of development.