WWDC 2023 – Intro to Spatial Computing

WWDC 2023 – Intro to Spatial Computing

Here we are, learning more about spatial computing! You can check the video below:

https://developer.apple.com/videos/play/wwdc2023/10260/

Also, here's the link of the original publication in my personal blog: https://brunocamps.com/2023/06/07/wwdc-2023-intro-to-spatial-computing/


Windows, Volumes, and Spaces

Let’s walk through a few concepts.

By default, spatial apps launch in the Shared Space. It’s like the desktop on your Mac where you launch and interact with multiple apps at the same time.


No alt text provided for this image

Windows. Each app has one or more windows. They are SwiftUI scenes, resizable and can be reflowed. They can contain traditional views and controls and you can match 2D and 3D content.





No alt text provided for this image

Volumes. They allow an app to display 3D content in defined bounds. We can reposition volumes in space and view from different angles. They are SwiftUI scenes and use RealityKit to display 3D content.





It’s funny to see Apple’s engineers talk about Windows during the keynotes. I can see some funny looks on their faces.

Once you’re familiar with SwiftUI, it’s fairly easy to work with spatial elements like the code below:

No alt text provided for this image

Talking about Spaces: there’s a difference between Shared Space and Full Space. A Full Space allow you to make your app’s windows, volumes and 3D objects are the only ones appearing across the view.

You can use passthrough to ground content?in the real world and keep people connected?with their surroundings. This makes you feel that virtual objects really belong in the room you’re in.

Fully immersive space allows your app to fill up the entire field of the view.

Gestures

Gestures are well integrated with SwiftUI, like taps, long presses and drags, so people can interact directly to your 3D scene elements (interactions with RealityKit entities).

ARKit Skeletal Hand Tracking: this allows you to use gestures, app-specific hand inputs to your apps.

Collaboration

SharePlay: when people using VisionPro do an activity together.

SharedContext: participants in a SharePlay session experience content in the same way through SharedContext. There are SpatialPersona templates to customize how people experience the content.

Privacy

The Privacy session has to do with permissions the app may request. For example, hands data (skeletal hand tracking).

How to develop spatial apps

In theory, developers won’t need to have a VisionPro device right away to develop a spatial app. The xrOS device simulator will be integrated to Xcode and we’ll be able to interact in a virtual space from our Macs.

No alt text provided for this image

In the screenshot above, we can have a glimpse of the structure of a spatial app. In the RealityViews group, the developer defines Earth, Moon, Sun, Satellite, Telescope and Starfield as separate views and they will interact with each other in the main view. For those familiar in working with SwiftUI, this project pattern is not new.

Reality Composer Pro

This is a brand new tool. Preview and prepare 3D content for your spatial apps. You’ll be able to visualize your objects and how they fit together in the scene.

Particles is a feature added to RealityKit, and you can use the Composer Pro to author and preview them. You can add particles to your scenes to add movement and other possibilities.

At this point, we start to see the new concepts of spatial computing that are part of visionPro’s SDK. Apple’s augmented reality development kit – ARKit – didn’t feature these new concepts.

No alt text provided for this image

In the session Explore Materials in Reality Composer Pro, we’ll learn more about all of it. Also Meet Reality Composer Pro (which I’ll probably post later on, check this article).

Spatial apps: how to get started

You can either develop a brand new app in the spatial context or bring an existing app to the spatial world.

iPhone and iPad apps are fully supported, but I have a feeling that iPad apps will look way better.

Here are a few code snippets from the presentation:

Model3D

No alt text provided for this image

Gestures

We see a mix of existing SwiftUI gestures and spatial only gestures:

No alt text provided for this image

RealityView: A new view that can be added to your scene. A SwiftUI View with Entities, also integrated with RealityKit.

No alt text provided for this image

For this session, this is it! Once we can get our hands on the SDK, I’ll be able to post more about it! Don’t forget to check this article as the main reference for the WWDC 2023 series.

要查看或添加评论,请登录

Bruno C.的更多文章

  • Startups should be aggressive

    Startups should be aggressive

    Yes, startups should have a decent amount of pressure to succeed. This article is featured in my newsletter:…

    1 条评论
  • Making sense of WWDC 2023

    Making sense of WWDC 2023

    I’ve been a longtime enthusiast of the Apple platform and the turning point for me was when Steve Jobs launched the…

  • The next software frontier

    The next software frontier

    To understand this topic, we must first take a step back. We’ve been living in the mobile app world for more than a…

  • Precisamos estar prontos para ciberataques

    Precisamos estar prontos para ciberataques

    Eu penso que o estado da ciberseguran?a é bem similar ao estado de vinte anos atrás: · Os “sistemas seguros” est?o…

  • Machine Learning - Part One

    Machine Learning - Part One

    About this article: you'll read about concepts and applications of Machine Learning. I will present you the building…

  • Machine Learning From Scratch [Part 2]

    Machine Learning From Scratch [Part 2]

    This is part two of Machine Learning from Scratch. You're about to follow a straight forward and short tutorial about…

  • Machine Learning From Scratch [Part 1]

    Machine Learning From Scratch [Part 1]

    This is part one of Machine Learning from Scratch In this lesson, you'll learn how to: Import a module from a bigger…

  • A Hands-On Approach to Machine Learning (part 1)

    A Hands-On Approach to Machine Learning (part 1)

    You can also read this article in my personal blog!…

    1 条评论
  • How To Handle Meetings

    How To Handle Meetings

    In most cases, it's not always the most popular person who gets the job done. From all my experiences in the business…

    1 条评论
  • Bad Players Will Be Thrown Away

    Bad Players Will Be Thrown Away

    The internet and social media set new standards in the whole commercial process. People are more likely to buy from…

社区洞察

其他会员也浏览了