Macoun 2019: Von SwiftUI bis NFC

Seite 2: Motion Capturing in ARKit und RealityKit

Inhaltsverzeichnis

Der erst siebzehnjährige Felix Schlegel wurde von Apple bereits zum zweiten Mal als "Scholarship Winner" zur WWDC nach Kalifornien eingeladen. Auf der Macoun stellte er die neuen Motion Capturing-Funktionen von iOS 13 vor. Das ARKit-Framework erstellt dabei ein SceneKit-Gerüst für den menschlichen Körper, das aus 91 Knotenpunkten für Gelenke und Wirbelsäule besteht. Je nach Bewegung weisen die Gelenk-Knoten passende Rotationswerte auf.

In einer Beispielanwendung zeigte Schlegel, wie sich die T-Haltung einer Cheerleaderin mit ausgebreiteten Armen durch ARKit erkennen lässt. Wenn Ellenbogen und Schultern bis auf 5 cm Toleranz auf der selben Höhe lagen, färbte die App die im Kamerabild erkannten Gelenk-Knoten grün statt rot ein. Die Technik, die bislang in teuren Motion-Capture-Suits für Filmproduktionen zum Einsatz kam, kann mit ARKit jetzt jedes iPhone oder iPad mit A12- oder A13-Prozessor (iPhone XS, XR) in erstaunlich guter Qualität einsetzen. Nur beim Body Tracking von hinten hapert es derzeit noch etwas.

Felix Schlegel testet seine Demo-App zum Erkennen einer richtig ausgeführten Cheerleader-Position mit ARKit’s neuer Body Tracking-Funktion.

(Bild: Macoun, Ralf Ebert)

Nikolaj Schumacher brachte die Zuhörer auf den neuesten Stand von Swift 5.0 und 5.1. Erstmals bietet Swift ABI-Stabilität. Damit lassen sich binär vorliegende Frameworks einbinden, selbst wenn sie mit einer anderen Swift-Version kompiliert wurden.

Als weiterer Vorteil wird die Swift-Runtime nun nicht mehr in jeder App separat eingebunden, wodurch die App-Store-Download-Größe sinkt. Ein Wermutstropfen ist allerdings, dass für neue Funktionen der Swift-Standardbibliothek ab sofort immer die jeweils neuste iOS-Version benötigt wird. Unter der Haube hat Swift einige neue Funktionen bekommen, die für das neu vorgestellte SwiftUI benötigt werden. Schumacher erklärte die neuen „Property Wrappers“, syntaktische Vereinfachungen wie das Weglassen von return-Statements in manchen Situationen und die neuen Funktionen zum Vergleichen von Arrays.

Nikolaj Schumacher stellte die neuen Funktionen in Swift 5.0 und 5.1 vor.

(Bild: Ortwin Gentz)

Thematisch passend ging es mit Apples neuem SwiftUI Framework weiter. Benjamin Böcker programmierte live vor Publikum einen einfachen Color-Picker. Durch die Verwendung von "Bindings" wird eine direkte Verknüpfung von Slider-Position und Code-Variable erreicht, so dass eine "universal source of truth" entsteht.

Die Technologie gibt es auf dem Mac bereits seit über einem Jahrzehnt, jetzt findet sie in Gestalt von SwiftUI Einzug auf sämtliche Apple-Plattformen bis hin zur Apple Watch. Es ist faszinierend, mit wie wenig Code eine SwiftUI-Anwendung auskommt, in seinem Fazit hält Böcker die Technologie aber derzeit für noch nicht ganz ausgereift und empfiehlt, mit ihrem Einsatz noch bis iOS 14 zu warten.

Benjamin Böcker entwickelte eine SwiftUI-App live in Xcode.

(Bild: Macoun, Ralf Ebert)