All types of content can be used in AR experiences, from 3D furniture models to 2D text and stickers.
In any AR experience, try to blend your AR world into the user’s physical environment. Whether the goal is realism or wackiness, your AR objects should engage with and reflect their environment. Use shadows, lighting, occlusion, reflection, and collision to help your objects take up space in the real world.
When you create 3D objects, create them to be life size. Full-size objects are easier to drop straight into your experience.
All objects should face the same direction. Use a right-handed coordinate space, where +Y is up, +X is right, and -Z points forward from the origin.
When you model an object for your scene, make sure to place it on the ground plane at the geometric center of the object base.
Remember, 3D objects can be viewed from all sides. Use complete objects, and be sure to render all surfaces, even those that a user might not immediately see, like the back surface of a curtain, or the bottom of a couch.
To let your scene load faster, don’t make textures too large. Their resolution should be 2k at most.
Textures will appear more lifelike when you add visual noise. Repeating patterns and flat colors can seem fake to the human eye.
Add bumps, rips, variations, pattern disruptions, and other forms of visual noise. They break up repetitive tiling, and they make your assets look detailed and believable.
To make your assets look more believable, use Physically Based Rendering (PBR).
PBR lets you add realistic detail to objects in your scene. It combines multiple textures to create an illusion of depth and texture, and it uses the physical behavior of light to give an object a natural feeling.
These textures give definition to your object and enhance the realistic appearance of your AR world.
Normal mapping can add details to an object’s appearance. It makes the object’s texture look more realistic without having to add additional geometry.
Normal maps are ideal for giving objects a photorealistic appearance. It’s a level of extra detail that you can apply to objects if you want.
Recommended — With normal maps
Not recommended — Without normal maps
Ambient occlusion is a rendering technique that controls the amount of shadow that falls on the surface of any object.
When you use an ambient occlusion texture on an object, it looks more detailed and realistic.
Recommended — With ambient occlusion, lighting and shadows appear to come from several real-world sources, giving the chair a realistic appearance.
Not recommended — Without ambient occlusion, there’s no shading or variation. The chair looks like clip art.
A shadow plane is a virtual surface that sits beneath your object. The plane only contains shadows, not the objects themselves.
Shadow planes are a simple way to emphasize the presence of objects in your scene. Include shadow plane geometry and a baked shadow plane texture with every asset.
Recommended — With a shadow plane, the chair appears grounded in the space.
Not recommended — With no shadow plane, the chair seems to be ungrounded and floating.
Optimize lighting conditions in your scene.
To let your virtual objects blend in with the real world, make sure they have the right lighting. There’s a light estimation system built right into ARCore. It’ll let you render lighting conditions that adjust dynamically to the surrounding area.
Recommended — Use ARCore light estimation features to improve fidelity
Not recommended — Using Unlit textures that won’t adapt to the environment lightning
Use visual techniques to give depth and distance to your scene.
In an AR experience, users can have trouble identifying how far away, and how deep into the scene, of virtual objects.
Flesh out your scene by creating the effect of depth. Use techniques like shadow planes, occlusion, and texture. You can also play with perspectives, like placing large objects close to the user and smaller ones far away.
Create objects that move from one part of the scene to another. Think of a frog that leaps from the floor up to a table, or a train that rides from the background to the foreground. It’ll make your experience feel less like a store window and more like a world, and, as a benefit, the scene will feel inhabited and alive.
Design your virtual objects to live in the real world.
In an AR experience, each object should feel like it’s located in the same scene as every other object.
Simulate the presence of objects by using shadows, lighting, ambient occlusion, physics, and reflection. Just like real objects, AR objects should react to the real-world environment.