We wanted to create an experience that is fun and engaging, something people would not have thought could be done in Spark AR. Using as many of the core features of Spark AR as we could, our goal was to stretch the limits of what was possible programmatically.
What it does
The main character in this effect is a corgi breed dog named Archie. When the effect is accessed from the front camera, Archie the corgi jumps on you and whines to go for a walk. The instruction tells you to flip the camera to the back effect. Once the camera is flipped to the back, the corgi idles while an instruction tells you to tap to move. When you tap the screen, Archie the corgi starts a walk animation. The device rotation dynamically rotates and scales the corgi asset for a more realistic appearance of the dog in world space. (He will disappear if you go above the horizon... dogs can't fly!) But watch out; if Archie sees another person, however, he will bark! Fiesty little guy.
Now you are ready to walk your new spatial pet Archie anywhere! Where will you take him?
How we built it
We used Blender to create certain assets (some were not ultimately used) and Spark AR Studio to put the effect together. The corgi model was purchased on Sketchfab since neither of us are 3D modelers. Melissa and Ryan collaborated from afar between New York and Florida over video chat!
Accomplishments that we're proud of
Getting as much as we got to work in this effect! We surpassed our MVP!
Challenges we ran into
- While device rotation is available in the DeviceMotion module, device position in world space doesn't seem accessible (we think due to differing focal lengths of user cameras). Therefore, we used a clever hack to position the corgi relative to the user instead.
- Certain animations were glitchy when directly imported into Spark AR, so we had to be careful of the file format.
- We had a bit trouble initially importing sound files, despite being in m4a format. It turns out that your audio files need to be single channel for Spark AR Studio! A subtle but important detail.
- There were a lot more resources available online for using the patch editor, so we ended up switching from scripting to the patch editor to make collaboration easier.
What we learned
- This was Ryan's first time using Spark AR, so he had a bit of a learning curve. But he got through it to create some of the amazing scripted effects!
- Melissa has only used the patch editor in Spark AR for less complex effects in the past. She expanded her knowledge with new techniques, including animation controllers, audio controllers, and scripting! Through this experience, she's confident she can make even more advanced effects in the future!
What's next for Spatial Pets
We're just getting started! Next, we'd like to try some other animals like cats, turtles, fish, or other breeds of dog. Be sure to follow us on Instagram @spatialpets and be the first to find out when we release our next Spark AR effect!