AR Managementhandleiding Marketing en Sales

Augmented reality whitepaper TWNKLS

Vul het formulier in voor de gratis whitepaper:

Word jij de volgende IKEA?

  • Leer 8 praktische manieren hoe AR écht iets kan toevoegen aan je marketingcampagnes en salesproces. Met o.a.:  Pre-visualization, Guided selling, AR tours, AR lead management en AR Portals 
  • Een helder overzicht van de verschillen tussen AR en VR. En welke is het beste te gebruiken voor jouw situatie
  • 5 simpele stappen die uitgeleggen hoe de onderliggende technologie achter AR: Computer Vision werkt
  • 7 kickstart vragen die je helpen te bepalen of AR impact gaat maken in jouw organisatie

Vul het formulier in om toegang te krijgen tot de handleiding voor Augmented Reality. We zullen je niet gaan spammen.

 Dit zeg men over ons:

TWNKLS heeft gezorgd voor onze grootste innovatie sinds 1653. Dankzij hen kunnen wij de toekomst inspringen en klanten bereiken die voorheen over ons heen zouden kijken. Niet voor niets hebben we een Dutch Design Award gewonnen.

Joffrey Walonker

Design Manager
Royal Delft

In zo’n kort tijdsbestek van 8 weken deze kwaliteit te leveren. TWNKLS en IKEA hebben laten zie hoe je een nieuwe interface naar het grote publiek brengt. Dit is internationaal gezien dé huidige benchmark.

Jury Dutch Interactive Award 2018

over IKEA Place

De AR sales support app is zeer indrukwekkend. Ik ben ervan overtuigd dat voor training AR de volgende stap is, zeker in de mobiliteitsbranche. TWNKLS heeft die innovatie voor ons vandaag al toegankelijk gemaakt.

Bernd-Jan de Rooij

Manager Business Development
Innovam


Op de zaak. TWNKLS in het AD

Het is de grootste uitdaging bij het zoeken naar een nieuwe tafel, stoel of kast. Past het nieuwe meubelstuk bij de rest van het interieur? De Zweedse meubelgigant IKEA herkende de hoofdbrekens bij haar klanten en lanceerde daarom anderhalf jaar geleden IKEA Place. Met deze app wordt de nieuwe Billy, Agnetha of Ingmar digitaal ‘neergezet’ in het interieur, zodat meteen duidelijk is of de aanwinst past bij de rest. Inmiddels is de app miljoenen keren gedownload en verkrijgbaar in 40 landen en in 58 talen. Zelf proberen kan hier.

“Toch maar mooi door een bedrijf uit Rotterdam gemaakt”

Hoewel ze al sinds 2016 voor de Scandinaviërs werken, glunderen Gerben Harmsen (48) en Lex van der Sluijs (46) nog steeds als ze het verhaal vertellen. Want het zijn niet de zoveelste wonderkinderen uit Silicon Valley of technische Zweden die de app hebben bedacht, maar de Rotterdammers van TWNKLS. ,,Daar doe je het uiteindelijk toch voor, werken voor zulke bedrijven”, zegt Van der Sluijs. Harmsen knikt. “We zijn ooit samen dit bedrijf begonnen en hadden toen onder andere de droom ook buiten Nederland bekend te worden”.

Die droom is inmiddels ruimschoots uitgekomen. En dat terwijl het duo in 2011 nog dacht dat ze te vroeg waren ingestapt. Augmented reality (AR), de techniek waarmee de IKEA-meubelen in de kamer worden neergezet of de Pokémon in het spel Pokémon Go verschijnen, ontwikkelde zich veel minder snel dan ze dachten. ,,De hype gaat direct losbarsten, dachten wij toen”, zegt Harmsen. ,,Maar dat is allemaal een stuk minder snel gegaan. Die is er nu eigenlijk pas.”Maar de oprichters van TWNKLS gaan ondanks alles toch stug door. Door het doorzettingsvermogen worden ze pioniers in de wereld. ,,Met AR ontstaat een hele manier van werken, leren en spelen. Daar waren wij van overtuigd, dus hebben we doorgezet.” Tot frustratie van het tweetal worden ze de eerste jaren nog te vaak als marketinginstrument ingezet. “Leuk, een spelcomputer uit een folder laten komen. Maar wij wilden echt het verschil maken met de techniek. Zoals bij de IKEA. Miljoenen folders die niet meer gedrukt hoeven te worden”.

AR toepassingen die het verschil maken

De omslag komt wanneer ze in contact komen met een bedrijf dat trapliften voor in huis maakt en plaatst. ,,Alles werd in die tijd met de hand gemeten. Werd er een klein foutje gemaakt, kon de hele installatie weer opnieuw gemaakt worden.” Harmsen en Van der Sluijs laten de techniek de metingen verrichten. Een tablet op de trap richten is genoeg. “Vanaf dat moment zagen bedrijven dat er niet alleen proefballonnetjes mogelijk waren, maar ook toepassingen die het verschil kunnen maken.

De laatste jaren is het snel gegaan. Internationale klanten melden zich in hoog tempo aan, werknemers uit alle windstreken bellen met de vraag of ze bij TWNKLS aan de slag mogen en de voorsprong op de meeste concurrenten blijft. “Ons grote voordeel is dat wij niet alleen de oplossingen kunnen bedenken, maar ook de techniek die daarvoor nodig is. Wereldwijd ken ik maar tien geduchte concurrenten.” En dat in een markt die eigenlijk pas net van de grond komt. “Mensen zijn vaak onder de indruk. Hoe kunnen jullie al acht jaar zo veel werk hebben in een markt die niet bestond?”

Ben jezelf aan het onderzoeken of AR iets is voor jouw organisatie?

Eerst web, toen mobile, nu Augmented Reality.

Hoe ga jij er van profiteren? Precies voor die vraag hebben we een mooie whitepaper geschreven. Daarin vertellen we je wat de 8 manieren zijn hoe AR écht iets kan toevoegen aan je marketing campagnes en sales proces. Klik op deze link om naar de whitepaper pagina te gaan.

Van CAD naar AR. Hoe krijg je het snel en schaalbaar?

In de afgelopen 20 jaar CAD-software heeft het ontwerpen en testen van producten realistischer gemaakt voor ingenieurs en ontwerpers. De productiviteit van de ontwerper is verhoogd, de kwaliteit van het ontwerp is verbeterd maar wat blijft is dat het ontwerp is ‘gevangen’ in een scherm van de maker.

De gevolgen zijn dat de klant de vertaalslag moet maken naar hoe het er in het echt uit komt te zien en aannames gaat maken over afmetingen, kleur en andere belangrijke details. Wat weer kan leiden tot herstelwerkzaamheden.

Een kwalitatief hoogstaand ontwerp waardoor de (interne) klant een geïnformeerde keuze kan maken blijft de kern van CAD. Wat zou het voor jou en je (interne) klanten betekenen als je het ontwerp bij jou op tafel of in de ruimte in 3D kan zien? Uit ervaring zien wij dan de beoordeling van het ontwerp vergemakkelijk en je vermindert de behoefte aan dure prototypes en niet onbelangrijk: door het 3D model in de context te zien waar het product strak ook echt komt te staan breng je de klant sneller bij het ‘aha moment’ .met anderen woorden je verkoopinspanningen zijn effectiever

Breng je CAD model in de fysieke ruimte met augmented reality

De technologie die wordt gebruikt om je ontwerp in de fysieke wereld te visualiseren heet augmented reality (AR). Met CAD-ontwerp als broninformatie zijn er in het verleden door veel partijen al verschillende producten op de markt gebracht met visualisatie als doel. Jammer is vooralsnog dat het vaak slechts om een deeloplossing gaat, of er is heel veel handwerk nodig geweest om de CAD-modellen geschikt te maken voor AR.

Deze weg van CAD naar AR vergt kennis van de verschillende softwareprogramma’s en het ontbreekt aan tussentijdse checks of het omzetten van de deelstappen goed zijn gelukt. Daarnaast moet bij ieder ontwerp dat van CAD naar AR moet het proces worden herhaald. Kortom tijdrovend en foutgevoelig.

Als van CAD naar AR een sporadische actie is zie je de bijkomstigheden misschien door de vingers maar wat als je plus zesduizend meubels moet omzetten? Precies dat hebben we gedaan voor de AR app IKEA Place. Deze “3D AR Conversie Pipeline” stelt IKEA in staat om zelfstandig zijn 3D modellen volledig gestroomlijnd naar AR te brengen.

Van CAD model naar AR in 3 stappen

Deze 3D conversie pipeline om CAD naar AR om te zetten werkt als volgt:  

  • De ontwerper levert zijn CAD-ontwerp aan een van de volgende formaten: OBJ, FBX, USDZ.
  • Samen zetten we de regels /parameters op voor het ontwerp zoals: soort materiaal, materiaaleigenschappen, automatische schaduw, presentatie context (binnen en/of buiten). Deze regels slaan we voor je op zodat er een goede basis is voor alle volgende ontwerpen.
  • Ieder ontwerp wordt automatisch omgezet naar een compact presenteerbare bundel, klaar om te tonen met AR in 3D aan je (interne)klant. De AR is te gebruiken op iOS en Android toestellen en er is geen marker nodig.

Dit schaalbare proces vergemakkelijkt de beoordeling van het ontwerp, vermindert de behoefte aan dure prototype en verbetert de verkoopinspanningen met 3D-productvisualisaties. Wil je meer weten? Vraag een geheel vrijblijvende demo aan >> [email protected]

3 stappen naar een succesvolle AR business case

Wellicht heeft de inhoud van de Managementhandleiding je geïnspireerd om binnen je organisatie met augmented reality aan de slag te gaan. Dat is verstandig, want AR kan veel opleveren voor je organisatie. Weet echter wel: het succes van je inspanningen is volledig afhankelijk van wat je eigen strategie is. Wat wil je bereiken? En hoe draagt AR daaraan bij? Om hier een overzicht van te krijgen helpt het een    business case te maken. Het begint bij het ontdekken van de waarde van AR. Deze blog helpt je om dat duidelijk te krijgen. 

1. Begin bij de value chain.

Een goede start om je businesscase voor AR te ontdekken, is door eerst je eigen bedrijfsprocessen uit te tekenen en na te gaan waar verbeterpotentieel ligt. Een goed model hiervoor is de door Harvard professor Michael E. Porter bedachte Value Chain. Dit model biedt een schematische weergave van de verschillende afdelingen. Want, zoals de voorbeelden zullen laten zien kun je met augmented reality door door de hele value chain van jouw bedrijf winst boeken.

Bron: Smartsheet

Een ander veel gebruikt model, om kansen te zien voor verbetering, is Customer Journey mapping. Deze draait om het visualiseren van wat je klant allemaal mee maakt: Het verkoop-, klantbedienings- en/of serviceproces met daarbij het volledige verwachtings- en belevingspatroon van de eindgebruiker. 

Bron: B2B international

Wat wilt je bereiken? 

Waar in het proces laat je kansen liggen? Wat is een makkelijke plek om te beginnen?

Helpt AR daarbij?

Een belangrijk iets om te onthouden is dat Augmented Reality een middel is, geen doel. Door heldere AR visualizaties kun je processen stroomlijnen, meer verkopen, beter hulp bieden, en sneller trainen. Dus graaf eens in jouw bedrijfsproces en kijk waar kansen liggen. Vanuit TWNKLS hebben we meer dan 7 jaar ervaring met dit proces. En wij willen bottom line impact maken en daar kan Augmented realiy bij helpen. In sommige gevallen passen andere technologieën echter beter bij jouw organisatie(doelen). De volgende vragen helpen te ontdekken of AR bij jouw organisatie past.

2. Wanneer kan AR winst opleveren:

  • Ben je op zoek naar een tool die het verkoopproces versnelt?
  • Heb je in het verleden orders verloren, omdat klanten voor de aankoop niet goed konden zien of het product zou passen of zou staan?
  • Vind je storytelling belangrijk? En wil je de gebruiker mee op reis nemen langs unieke features en interessante details van je product laten zien die normaal met het blote oog verborgen blijven?
  • Wil je dat je inmeet proces gemakkelijker en sneller gaat en waar de meet resultaten zonder noteren meteen in de computer zitten? 
TWNKLS Ikea place AR commerce platform
IKEA Place, het door TWNKLS gemaakt AR-commerce platform.  

3. Aan de slag

Is het antwoord “ja” op één of meerdere bovenstaande vragen? Dan is er een grote kans dat AR een technologie is waar je organisatie baat bij heeft. Nu je weet waar jouw uitdagingen liggen voor bottom-line impact kun je doorgaan met het verkennen van hoe je deze innovatie kan implementeren.
Innovatie kan je veel brengen, maar is ook een uitdaging die niet iedereen aandurft. Bij TWNKLS begrijpen we dat, en hebben hierom een methodologie ontwikkeld die met zo min mogelijk risico op een Agile manier de mogelijkheden van AR samen met je verkent. Klein beginnen is het devies. Want je hoeft nog geen expert te zijn om te beginnen maar je moet wel beginnen om een expert te worden. Want één ding is zeker “AR word net zo normaal als 3 maaltijden per dag” (Tim Cook, CEO Apple)

Als eerste vervolgstap zou je bijvoorbeeld kunnen denken aan een hands-on workshop voor jouw team die laat zien waar de kansen liggen binnen jouw organisatie. Of een AR prototype waarmee je interne stakeholders kunt inspireren en overtuigen. En als je al verder in het proces zit, een technische haalbaarheidsstudie door onze R&D specialisten van jouw augmented reality ideeën. Eerst zelf nog verder inlezen in de materie kan natuurlijk ook. Dan raden we onze Management handleiding aan voor industrie. Deze is hier gratis te downloaden.

AR Managementhandleiding Industrie en Onderhoud

Augmented reality whitepaper TWNKLS

Gratis e-book

Leer de essentials die nodig zijn voor het bouwen van een sterke Augmented Reality-strategie

  • Leer 6 praktische manieren hoe AR écht iets kan toevoegen aan je productie en onderhoudsproces. Met o.a.: Aansturen van machines, Assemblage, Training en Inmeten
  • Een duidelijk uitleg hoe de onderliggende technologie achter AR: Computer Vision werkt, zodat jezelf met betere usecases komt
  • Een helder overzicht van de verschillen tussen AR en VR. En welke is het beste te gebruiken voor jouw situatie
  • Checklist: 14 kickstart vragen die je helpen te bepalen of AR impact gaat maken in jouw organisatie

Vul het formulier in om toegang te krijgen tot de Managementhandleiding voor Augmented Reality. We zullen je niet gaan spammen.

 Dit zeg men over ons:

The augmented reality application takes our IWEX technology to the next level as operators are able to observe an image of the defect on the weld itself. We believe it is a revolutionary step in Non Destructive Testing technology. This can save millions.

Rienk de Vries

CTO,
Global Technical Director Applus+ RTD

You only get one chance while in a client’s home. AR enables us to make optimal use of this chance. TWNKLS has been our partner for years in embedding innovation in our process, so we can stay ahead of the game.

Andre Ooms

Owner, Managing director
Otolift

We were looking at Industry 4.0 and focussed on computerised production processes. TWNKLS made the difference: they looked at the end user.
Now we have introduced a revolutionary Businesscase

Paul Hoekstra


Owner, Chief Inspirational Officer, WEMO Machines

 

 

 

Indoor positioning with VIO tracking using TWNKLS NGT

inside positioning with vio tracking in twnkls office

It’s clear that AR tracking technology has come a long way since we started TWNKLS seven years ago. Back then, the available computer vision technologies allowed us to recognize and track small artificial patterns (‘markers’) and Natural Feature Tracking (NFT) was just becoming possible on mobile devices. At that time, a physical marker was always needed, and the size of the augmentation could not be much larger than two to three times the size of the marker.

Fast forward to now, and we can show augmentations of almost unlimited size and at the right scale, using the Visual-Inertial Odometry (VIO) tracking techniques that are present in ARKit, ARCore and Hololens.

Yet there is one piece of the puzzle still missing in these platforms (although Hololens has a rudimentary implementation), and that is the ability to accurately recognize where the device is, in large areas.

The benefits of indoor positioning with VIO tracking:

  • Pedestrian wayfinding in large buildings like airports, hospitals
  • Showing maintenance instructions (logged maintenance, future maintenance) in 3D, on large, real-world installations, such as those in process industry, manufacturing or engine rooms
  • Showing live sensor information about material flows in pipes, in vessels
  • Increasing situational awareness of (private / public) security officers and their commanders

Klik hier voor de gratis AR Management handleiding en leer de essentials die nodig zijn voor het bouwen van een sterke Augmented Reality-strategie.

Requirements for indoor positioning with VIO tracking:

For these applications it must be possible to locate the user’s device in an indoor environment and track the device while it moves.

This differs from object-tracking in that the environment can be assumed to be static, which makes it possible to use the sensors (accelerometer, gyroscope) inside the device to help with the tracking.

The starting point for such wide-area indoor place recognition and tracking is generally a 3D scan of the space. This can be made with photography/photogrammetry, LIDAR scanners, or a combination of both.

Indoor positioning with VIO tracking at TWNKLS HQ:

At TWNKLS we have been researching an indoor positioning system that can be used for handheld devices as well as smart eyewear, where the 3D scan is made using photogrammetry. In the following video a first test can be seen:

  • In the large area on the left there is a top-down view of a 3D reconstruction of the TWNKLS office. In the top-right we see a view of the Visual Inertial Odometry (VIO) tracker, and in the bottom right we see the view of the tracked camera, which sees the 3D reconstruction from the tracked viewpoint
  • At the start of the video the coffee corner is recognized, and the system starts tracking
  • As the camera moves around the central meeting rooms of the office, the coordinate system of the camera can be seen to move to the left, down and then to the right again, which matches the movement in the real world.
  • When an area comes into view that is recognized, the drift that has built up during the VIO tracking is corrected immediately.

This demo is recorded with our system running in Unity3D, on a laptop, using an external camera. The CPU usage for the tracking is only about 15%, and the tracker has even run on an Intel M3 Compute Stick, and an NVidia Jetson TX1.

This system is under active development, and we expect to see a first deployment in a project in the future.

This project was made possible through funding by the Dutch Ministry of Economic Affairs

How to develop cross-platform augmented reality applications

Trigger warning: this article contains several AR-related puns.

For the first six months of release, the IKEA Place app developed by TWNKLS and SPACE10 was available only on iOS. This was due to its reliance on Apple’s augmented reality API, ARKit, for which it was promoted as a launch app in 2017.

At this point, Google and Android were lagging behind in the ARms race. Although AR experiences had been available for some time on Android using its Tango platform, this required specialized hardware such as infrared cameras and motion trackers. As a result, and despite its rather advanced feature set, Tango received little attention from developers and consumers.

With the release in early 2018 of ARCore, Google’s answer to ARKit, augmented reality finally became accessible to mainstream non-iOS users. The new API required no special hardware other than a device running Android 7 or higher. TWNKLS was keen to bring IKEA Place to that mARket (yes, the puns are mostly going to be like this, I’m afraid), so we set about porting the app to ARCore.

Build the app in a platform-agnostic way

Fortunately, ARKit and ARCore each provide an easy-to-use interface for Unity, the engine we use to develop the app. Less fortunately, there exists no unified point of entry to each API. And least fortunately, the two APIs are somewhat different in their design: a function call to perform a given task in ARKit does not necessarily have an exact equivalent in ARCore, so porting code across the two platforms isn’t merely a matter of replacing function names (though there was a lot of that too).

It would, of course, not be feasible to maintain parallel iOS and Android versions of the project: the Place app is constantly being updated, and introducing new features to two completely separate apps simultaneously would be logistically unmanageable. Instead, we developed a wrapper library which would allow us to build the app in a platform-agnostic way. Instead of invoking AR functionality directly in our code, we route all AR-related actions through a new, generic interface, which relays the instruction to ARKit or ARCore depending on the operating system. We christened this library WrapparW, a witty portmanteau of “wrapper” and “AR”, with another W on the end because palindromes are nice.

As I mentioned, there are some significant structural differences between the ARCore and ARKit APIs which complicated the development of WrapparW a little. At this point, I hope you’ll forgive a quick digression into coding theory. If you already know this stuff, or just don’t care about it and want to get back to the AR, skip the next three pARagraphs.

At TWNKLS we internally use a framework which enforces a modified version of the model-view-controller (MVC) design pattern. This is a programming paradigm in which a project is divided into discrete entities which govern input, output, and the processing of the former into the latter. Such a separation of concerns ensures that modifications to one area of the project are less likely to have unforeseen implications for another, thus expediting the development of medium-to-large projects.

Of course, in order to constitute a working application, these individual parts must be able to affect, and to react to, each other. In our MVC implementation, inter-entity communication is handled by way of events: alerts which can be raised by one part of a system and reacted to by another. For a basic non-AR example, imagine a word processor designed using an event-based MVC: when a key is pressed, the controller entity would fire an event, to which the model entity reacts by inserting a character in the text and advancing the cursor position, and sending the resulting string to the view to be displayed.

The point is that all our new codebases are obliged to use an event-based design, and WrapparW was no exception. This was easy in regard to the ARKit path: that API is also event-based, with events being fired whenever the tracking state changes, anchors are created or moved, or the camera is updated; all we had to do was map these to genericized WrapparW events. A little more inventiveness was required, however, to fit the square peg of ARCore into the round hole of an event-based system.

My condolences if you just died of boredom. As it happens, a lot of the development of WrapparW was tedious grunt work: initializing AR sessions, or mapping enumerations from each API to a generic type. These tasks were laborious but not particularly interesting from a technical point of view (or indeed any other), so let’s move right to the fun stuff: what the two APIs can actually do to augment reality.

AR point cloud creation, horizontal plane detection, and light estimation

At the time of writing, the Place app primarily makes use of three fundamental AR features: point cloud creation, horizontal plane detection, and light estimation. Let’s look at these in turn. In each case, I’ll describe the feature in layman-speak, followed by slightly more technical details for those who are interested in how we dealt with this in WrapparW. These bits will assume rudimentary knowledge of object-oriented programming in general and Unity in particular. They’re in italics for easy ignoring.

Klik hier voor de gratis AR Management handleiding en leer de essentials die nodig zijn voor het bouwen van een sterke Augmented Reality-strategie.

Point cloud creation in augmented reality

Point clouds are augmented reality’s backbone (I almost said “cornARstone”, but generously relented). The image obtained from the device’s camera is analyzed by a computer vision algorithm which identifies features in that image: points in 3d space at which depth, or distance from the camera, can be recognized. This is essential for AR running on a device with no specialized infrared depth camera – which is to say, the vast majority of consumer-level devices available today. Together, the points form a cloud which represents the app’s knowledge of the world. The more points in the cloud, the more comprehensive that knowledge.

Both ARKit and ARCore provide direct read access to the point cloud. In ARKit, every time the camera obtains a new image, the event ARFrameUpdatedEvent is fired. After that event completes, the latest points (represented as UnityEngine’s Vector3 type) can be found in the pointCloudData array attached to the AR camera. ARCore is similar: calling PointCloud.GetPoint(int index) on the AR frame will return the point at that index.

The only notable difference between the APIs is that, in the non-event-based ARCore, the timing of the frame update is opaque, so we can never be sure if the points are correct for the current frame or the previous one. But for most usages a one-frame margin of error is unlikely to matter.

To integrate the two paths into WrapparW, we create our own event for handling frame updates. On ARKit, we chain this with ARFrameUpdatedEvent by invoking the former in a handler subscribed to the latter. On ARCore, we fire our event in the Update() function of the WrapparW class (which derives from Unity’s MonoBehaviour). Unity calls this function automatically once per frame; we can’t be sure that camera updates occur at exactly the same frequency, but it’s close enough.

Plane detection in augmented reality

So what’s the point of points? Well, for one thing, by connecting them together, both ARKit and ARCore are capable of reconstructing flat surfaces – planes – from the real world.

In its initial release, ARCore supported the detection of horizontal planes only. Luckily for us, that was all we needed for the Place app, whose core functionality centers on placing objects on the ground or floor – which is, in most cases, approximately horizontal and planar.

Planes in AR are closely related to the concept of anchors. These are essentially data structures which store a position and orientation (or rotation) relative to the real world. As the camera moves, anchors move in the opposite direction, thereby maintaining the same apparent position in world space. To maintain the illusion that an AR object is “in” the real world, it must be attached to an anchor.

All you geometricians out there will notice that these two properties – position and orientation – also happen to be the ones which are required to express a plane mathematically. This means that objects can trivially be anchored to an arbitrary point on a plane.

ARCore planes can be obtained by calling GetTrackables(List trackables) on the AR session. This outputs a list of TrackedPlanes (DetectedPlanes in ARCore 1.2+), each of which contains a CenterPose instance, which in turn has rotation and position fields.

Plane generation in ARKit, meanwhile, requires a component to be included in the scene – the aptly named UnityARGeneratePlane. ARKit’s naming conventions explicitly treat planes as a type of anchor – ARPlaneAnchor – a list of which can be obtained by calling unityARAnchorManager.GetCurrentPlaneAnchors() on the UnityARGeneratePlane instance.

In WrapparW, we convert the planes obtained from either API to our own generic type and return them to the app.

The respective handling of planes/anchors is another example of how ARKit’s event-based design makes it more versatile than ARCore. When the status of any anchor changes, ARKit internally fires ARAnchorUpdatedEvent. We wanted to expose this functionality in WrapparW, but it wasn’t clear how to approach it on ARCore. Initially, we tried comparing the anchor list every frame to the list from the previous one, and triggering an event when a change was detected. However, for our purposes it turned out to be more performant simply to fire the event every frame (again, in the Update() function) without doing the test. This is really an application-dependent choice: if we had to perform especially expensive operations when the anchors change, the initial approach may have been more efficient.

Lighting in augmented reality

It is important for AR content to take account of the lighting conditions in the real world. Imagine placing an AR chair in a dimly lit room: if all AR content were lit at a constant intensity, the chair would be much brighter than all the real world content on the screen and look completely out of place.
Lighting in both APIs is still at a pretty basic level: a single numerical value is provided which represents a global lighting intensity, approximated from the brightness of the pixels in the camera image. This is applied to all AR objects uniformly. While this is vastly better than having no dynamic lighting at all, it obviously doesn’t take into account light position or direction: an object sitting directly in front of a light source will be no more brightly lit than one in shadow, and parts of the object which face towards the light and those which face away will be equally bright. However, research in this area is rapidly progressing, with techniques being developed to determine more refined information about lighting conditions from the camera image.

Because both APIs express the scene lighting as a single scalar, wrapping this was trivial. ARKit’s estimate is obtained by calling lightData.arLightEstimate.ambientIntensity on the AR camera, and ARCore’s by calling LightEstimate.PixelIntensity on the frame. We also rescale ARKit’s value from the 0-2000 range to 0-1. The only other issue we encountered is that the intensity value tends to be significantly higher on ARCore than ARKit (in the same conditions), so the ARCore path in WrapparW applies a formula (devised through brute trial and error) to attenuate the value before returning it. In the app, we assume lighting will usually come from above, so we apply the intensity to a directional light facing roughly downwards to try to make everything look a little less uniform.

ARKit also computes a color temperature – lightData.arLightEstimate.ambientColorTemperature – which provides an additional, subtler harmonization between the real world and augmented content. As this has no equivalent in ARCore, on Android WrapparW simply sets this to a fairly neutral constant (6500K, the color temperature of an average overcast day).

While these are the main API features we use in IKEA Place, it’s by no means a comprehensive list of everything ARKit and ARCore can do, especially in recent versions. ARKit 1.0 and ARCore 1.2, for example, introduced image tracking: the ability to scan “markers” in the real world and attach anchors to them. Because this is not used in IKEA Place, we didn’t include it in WrapparW. The recently-released ARKit 2.0 contains a number of very interesting additions, such as full reflection mapping.

Conclusion

Of course, the ARKit and ARCore APIs will fall out of widespread use as higher-level alternatives become mainstream. Unity’s own answer to WrapparW, ARFoundation, is already in preview. However, at TWNKLS we’ll stick with WrapparW for now as a) its event-based structure aligns with our framework, b) we have access to the source and c) it’s in there now, so why give ourselves a bunch of extra work? Plus, in engineering it’s always helpful to know what’s going on under the hood, and I hope this article helps you with that even as technology marches on.

I feel all melancholy now. I guess that’s a wrap! That was another pun, by the way. Feel free to kill me, no jury would convict you.