Peter Brack Business Geo Intelligence (BGI)

„Unter anderem die Softwareriesen Apple, Google und Microsoft investieren mittlerweile große Summen und bieten mobile Endgeräte an. Darunter auch „Wearables“ –meist in Form von interaktiven Brillen oder Armbändern – sowie erste Programmierschnittstellen, die bereits grundsätzlich tauglich für simple AR-Anwendungsfälle sind.“

Sebastian Loose Fichtner IT Consulting AG (FIT)

„Von den einschlägigen Marktbeobachtern schon vor längerer Zeit etwas voreilig prognostiziert, erscheint der Einsatz von Augmented-Reality-Technologien für die breite Masse nunmehr tatsächlich vor dem Durchbruch.“

Der vorliegende Artikel vermittelt mit einfachen Codebeispielen erste praktische Umsetzungsschritte für Augmented-Reality-Szenarien mithilfe von Visual Studio 2015 und den Windows-10-Developer-Tools. Damit bietet er eine praktikable Einführung in das spannende Thema der erweiterten Realität durch digitale Einblendungen.

Von den einschlägigen Marktbeobachtern schon vor längerer Zeit etwas voreilig prognostiziert, erscheint den Autoren der Einsatz von Augmented-Reality-Technologien für die breite Masse nunmehr tatsächlich vor dem Durchbruch. Unter anderem die Softwareriesen Apple, Google und Microsoft investieren große Summen und bieten mobile Endgeräte an. Darunter auch „Wearables“ –meist in Form von interaktiven Brillen oder Armbändern – sowie erste Programmierschnittstellen, die bereits grundsätzlich tauglich für simple AR-Anwendungsfälle sind.

Das Betriebssystem Windows 10 unterstützt Anwendungen der Universal Windows Platform (UWP). Gemeint sind damit Applikationen, die auf allen Gerätetypen mit Windows 10 ausgeführt werden können, ob Tablet, Smartphone, Xbox oder PC. Daneben werden Programmierschnittstellen zur Verfügung gestellt, um die für einfache Augmented-Reality-Anwendungsfälle notwendigen Sensoren anzusprechen.

Grundvoraussetzungen zur Entwicklung

Als Entwicklungsumgebung zur Realisierung von UWP-Apps ist Visual Studio 2015 inklusive der optionalen Universal Windows App Development Tools unerlässlich. Es wird empfohlen, auf einem Windows-10-Betriebssystem zu entwickeln; es kann allerdings durchaus auch auf Windows 8.1 programmiert werden. In diesem Fall kann der Code jedoch nur via Emulator oder Remote-Windows-10-Gerät ausgeführt und getestet werden. Da für Augmented-Reality-Anwendungsfälle per definitionem auf diverse Sensoren zugegriffen werden soll, bieten sich insbesondere (Test-)Endgeräte an, die über Kompass und GPS (optional: Beschleunigungssensor und Gyrometer) verfügen. Für die Entwicklung im Rahmen dieses Tutorials nutzen wir die Sprache C#, alternativ ist die Entwicklung auch in Visual Basic, C++ oder JavaScript möglich.

Einbindung des Kamerasensors

Für die Anzeige von Objekten mit Raumbezug nutzen wir ein einfaches User Control, das das so genannte CaptureElement zum Anzeigen des Kamerabilds und ein Canvas-Element zum Anzeigen der Objekte integrieren kann. Das Canvas-Element soll dabei insbesondere das Kamerabild passgenau überlagern.

In der Code-Behind-Datei des eben angelegten User Controls muss nun das CaptureElement mit einer Quelle versehen werden. In unserem Fall ist das ein MediaCapture aus dem Namespace Windows.Media.Capture. Dazu muss das MediaCapture-Element zunächst initialisiert und gestartet werden. Hierfür müssen wir zunächst codegesteuert die ID der Kamera des genutzten Endgeräts finden, diese ID der MediaCaptureInitializationSettings-Eigenschaft mitteilen und somit dem MediaCapture-Element übergeben. Anschließend können wir dem CaptureElement die Source wiederum zuweisen und die Kamera starten. Listing 1 zeigt dieses Vorgehen exemplarisch ohne Exception Handling.

using Windows.Media.Capture;
using Windows.Devices.Enumeration;

var captureManager = new.MediaCapture();
var devices = await DeviceInformation  .FindAllAsync(DeviceClass.VideoCapture);
foreach(var device in devices)
{
  var settings = new MediaCaptureInitializationSettings();
  settings.VideoDeviceId = device.Id;
  await captureManager.InitializeAsync(settings);
  this.PreviewScreen.Source = captureManager;
  await captureManager.StartPreviewAsync();
  return;
}

Den vollständigen Artikel lesen Sie in der Ausgabe:

Windows Developer 6.16 - "Entity Framework – die neue Generation"

Alle Infos zum Heft
243066So gelingt die erste eigene Augmented-Reality-Anwendung
X
- Gib Deinen Standort ein -
- or -