Whether you are new or an experienced creator in 2D, 3D, coding, or other, Lens Studio provides a great way to learn, build, and share your work in AR. Building in Lens Studio allows you to create visually rich, interactive experiences that work on both Android, iOS, and desktops for a global audience unlockable via a link, Snapcode, or within the Snapchat Lens Explorer.
This page provides some handy link you can use to dive into the technologies that Lens Studio provides and is grouped by different areas of interest.
Table of Contents
What is Lens Studio
Lens Studio is a software designed specifically for shareable AR.
Making AR Accessible
It allows you to track and augment many things in the world with a few clicks.
- Track content to any image
- Track content to the body, hand, cats, or dog
- Track content to the ground (6DOF), or around the user (3DOF)
- Segment content to the sky, face, hair, portrait, and more
- Interact with the world using hand gestures or the Body
- Track content (2D or 3D), or modify the face (stretch, liquify, 3D reconstruction, etc.)
- Play audio, as well as modify recorded audio
Designed Specifically for AR
It provides you with features to streamline your AR creation workflow
- Preview your effects on the computer in real time as you are building it
- Preview your effects on device to see the full experience
- Create preview videos in a few click to share your experience
Ready for Distribution
Once you are done with your experience, it can be shared online, in the real world, or through Snapchat itself. No need to have someone download a new app!
- Publish your Lens directly within Lens Studio to be shareable
- Enable others to open your Lens by scanning a Snapcode
- Lens Explorer (people can discover your Lens within Snapchat)
Lens Studio is for Everyone
Lens Studio is a tool in your many toolbox as a creator. You can use it to take your expertise to the next level by leveraging AR as a new canvas, as well as learn other skills to help you grow as a creative.
By abstracting away the computer graphics and computer vision layer, Lens Studio allows you to focus on what you are most passionate about: whether it be content, ML, or scripting.
Working with Images
Bring your existing 2D art into AR, using it to augment faces and the world
- Attach your images to the face
- Apply your images to the face like a mask
- Displaying images on the screen and configuring how it looks
- Bringing in your images (PNG, JPEG, etc.)
- Bringing in animations (GIF, texture atlas, etc.)
Templates to check out:
- Using images to decorate the face
- Laying out images in the world
- Displaying images in the world in a picture frame
- Applying images to the face as a mask
- Create an interactive experience with images
Working with 3D content
Bring your existing 3D models to life by displaying it in the real world
- Exporting your 3D content for Lens Studio
- Importing your 3D content into Lens Studio (OBJ, FBX, GLTF, etc.)
- Create shaders with a node graph editor (Material Editor)
- Allow manipulation of your 3D content in the world
Templates to check out:
- Displaying an animated 3D object
- Animating a 3D face with blend shapes based on the user's face
- Attaching 3D content to an image in the world
- Animating a character to move around in the world
Working with Machine Learning
Bring in your existing ML model to power your experience--from detecting to GAN
- Get an overview of how you can use ML in Lens Studio (.ONNX, .PB)
- Find the ML layers supported
- Learn how you can export from PyTorch
- Learn how you can export from TensorFlow (.PB)
- Applying ML model to a specific area (e.g. apply ML to the face only)
- Modify how your ML model runs using scripts
- Debugging scripts
Templates to check out:
- ML Templates, with example ML notebooks (Style Transfer, Object Detection, Classification, Segmentation)
- Additional ML Templates (Foot tracking, Face Mask segmentation and tracking, and more)
Working with Code and Scripting
Lens Studio works with JavaScript, allowing you to script complex logic, as well as bring in existing libraries, to push what your Lenses can do--all without compiling.
- Overview on scripting
- Understanding the Built-in script editor
- Discover Lens Studio specific APIs
- Hooking scripts to specific events
- Exposing controls and parameters from scripts
- Create shaders with a node graph editor (Material Editor)
Templates to check out:
- 2D scrolling running game
- Using scripts to drive chain physics
- Using scripts to respond to hand gestures
- Bringing in existing JavaScript libraries
Working with Shaders and Computer Graphics
Our node-based editor allows you to create complex shaders without worrying about compilers, cross-compatibility, or syntax.
- Overview on Material Editor
- Overview of example shaders built with Material Editor
- Passing in data into shader
- Overview of GPU based particles
- Importing 3D objects
Templates to check out:
- Example materials in action
- Custom materials applied to 3D reconstruction of the user's face
- Using materials to enable ground segmentation
Working with no assets
You can create a Lens with no assets at all. Play around with the built in effects to kick start your next inspiration.
- Importing animated images from online
- Modifying the face with a liquify effect
- Stretching the face with your mouse
- Adding text and dynamic content
- Applying color filters
Templates to check out:
- Adding particles (smoke, fire, rain, snow, etc.)
- Find example content to attach to the face
- Create your own sunglasses
- Change the logo and color of a baseball cap
Lens Studio Basics
Lens Studio has a low floor, and high ceiling. You can build experiences with no assets, or build a rich interactive game experience. Either way, it allows you to use the world or people as the input, and your creativity as the magic.
Understanding the Tool
Lens Studio is designed to be familiar and comes with many different resources to help you achieve your goals.
- Get your way around Lens Studio
- Understanding a Lens Project
- Find templates to get your AR experience started
- Importing and exporting content
- Discover a community of AR developers, ask questions, and more!
Templates to check out:
Adding Interactivity
Take your experience to the next level, by bringing your assets to live with little to no-scripting.
- Add a behavior to your Lens by choosing trigger and responses from a drop down
- Add animation to your assets directly within Lens Studio
- Add buttons, color pickers, and more
- Add hints to help your users interact with your Lens
Templates to check out:
- Use hand gestures to enable interactivity
- Activate different sounds based on user touches
- Trigger effects in your Lens with the face
Evolving Your Creation
You can create complex render systems and logic to bring depth to your Lenses.
- Combining face and world Lenses
- Understanding the virtual camera
- Utilizing Prefabs to create multiple instances of the same object
- Get an overview of scripting
- Storing data within a Lens
- Create custom shaders without code
- Create Lenses dealing with depth
- Procedural creation with mesh building or texture generation.
Templates to check out:
- Working with depth data from Google's ARCore
- Working with LiDAR from Apple's iPhone and iPad Pro
- Simple example of storing data within a Lens
Sharing Your Lens
You can publish and share your AR experience within Lens Studio in a couple of steps.
- Lens submission guideline
- Creating an icon to represent your Lens
- Giving your Lens a name and describing where it can be used
- Creating a preview video to represent your Lens
- Sharing your Lens (Link, Snapcode, Lens Explorer)