|

Step Into Newsletter – October 13, 2024

The last two weeks have been very busy on Step Into Vision. I launched the Labs section and added lots of new example code and resources.

Step Into Labs

The biggest change this week is the addition of Labs on stepinto.vision. While the Example Code section is a place to document how things work, Labs will allow me to explore my ideas and learn my way around RealityKit. All labs are contained in a single Xcode project, which I wrote about in the introduction post.

What can you expect from Labs?

  • Prototypes and UI/UX concepts
  • Exploration of SwiftUI and RealityKit features as I learn in public
  • Remixing labs to try multiple solutions to a problem
  • My answers to the community for how to solve a specific problem

There are six labs in the project so far. The first three were used to build and test the scene opening logic for the project.

Lab 004 – Cover Flow Demo – I took inspiration from the cover flow article by Paul Hudson. I adapted this for Apple Vision Pro by adding some offsets and shadows. I also added some calculations to adjust the opacity when an object nears the edge of the window.

Lab 005 – Pseudo 3D layouts – Using Rotation 3D Effect along with an offset to create a pseudo-3D layout. I can see myself remixing this a lot to try new concepts.

Lab 006 – Stage Manager Concept – When Apple released Stage Manager on macOS and iPadOS, I thought it would play a part in their Spatial Computing platform. When visionOS 1.0 arrived, I was surprised that it was nowhere to be seen. This is just a simple concept of a similar feature. I’d love to expand on this with animations and a dynamic number of views.

Note: Labs replaces the Demos category that was previously in the Step Into Vision navigation.

Example Code

Continuing my series of examples on working with scenes in the App file, I published four new posts about Volumes. I added these to the Learn page. I have a couple more additions to make to this series before I start exploring other concepts.

Open and dismiss Volumes – In visionOS, Volumes function like Windows, utilizing a .volumetric style. This post explains how to open and dismiss Volumes in SwiftUI.

Open a Volume with a value – We already covered how to open a new volume by ID and how to open a window with a value. Opening a volume with an ID is no different than with a window.

Default Placement with Volumes – We can use the defaultWindowPlacement scene modifier with Volumes, but there are a few things to keep in mind.

pushWindow with Volumes? – As of October 2024 and visionOS 2, we cannot use pushWindow with Volumes.

Resources

Apps For Apple Vision Pro – The App Store isn’t doing a great job of surfacing the incredible apps that developers are making for this platform. Sometimes the community has to step up. Perjan Duro launched this site earlier this year to help people find apps and help developers find new users. I submitted Project Graveyard to in last week. I would love to make a WebXR version of this someday. Perian, if you are seeing this, get in touch!

visionOS App Icon Web Preview – Working with a designer on an App Icon for visionOS? This web tool could save them a ton of time.

Community

Sarang Borude published a tutorial for building a hidden box in the surface of a table or desk. This combines many areas of visionOS development into a beautiful and playful experience. I Made a Magical Hidden Box in a Real-World Table Using RealityKit – Apple Vision Pro Tutorial. An incredible tutorial by a wonderful teacher!

Fabio Dela Antonio has been doing some fascinating work around Mixed Reality capture for Apple Vision Pro. Follow along to see the demos and check out the project on GitHub.

Personal Update

In June of this year I made a rapid prototype of an idea called Looming Deadlines. No one cared, so I decided not to explore it further. I don’t consider it a failure though because I learned so much from it. Hello Looming Deadlines and Time is up for Looming Deadlines.

I’ll be out of town on business this week so I probably won’t have a lot of time to work on new labs or example code.

Questions or feedback?