Creating Great AR Experiences - juniverse1103/ARKitStudy GitHub Wiki
Creating Great AR Experiences
Grant Paul, Human Interface Design
AR(Augmented Reality)
- Reality: In AR, things happen in real world. They happen in the room around you, in the environment you're in, or in your place on the map.
- Augmented:
- It can mean augmenting what you know about the world.
- It can mean getting information that device can understand about the world.
- It can mean placing virtual things out into the world, giving the virtual this physical context.
- AR means taking something that is real, and enhancing it, augmenting it.
AR Interfaces and Interactions
-
Getting into AR
- ARKit needs to understand the world world by moving the device.
- Guide users to move their device clearly without the text.
- Use feedback to guide towards success.
- Apple uses UI which a surface turns into cube when AR is ready.
- The Guide UI should look like the part of your app.
- Balance guidance with efficiency: Skip the guidance when user knows how to use
-
Presenting content
AR experience can be presented in many forms.
-
2D form
- Not every AR experiences has to look like looking through your device, seeing a camera preview of the world, then placing objects out into space.
- You can actually use the information ARKit gets about the world to present a great AR experiences entirely in 2D.
- Example: "Rainbrow" - play piano with your eybrows, avoid obstacles moving through the keys
-
VR form
- Use device as a window to VR.
- No headset required, peripheral vision prevents user from accidentally walking into the wall.
- Example: "Enter the room" - VR experience of a girl's room created by Red Cross
Keep text readable
-
Perspective
- Simplest way to show text is put it into the world.
- Drawbacks of when you put text in perspective.
- When you look text from an angle.
- When you look text from further away.
-
Screen Space
- Text is always the same size, it's always facing the user.
- Dosen't have any angle or distance problems.
- It's still attached to a position in the world.(object or some physical feature)
- Using Screen Space text is the solution!
- Example: Apple's "Measure" App's measurement
-
Keep text as minimum
- It is hard to read texts in AR experience
- The text will go away when turning the device if it is on AR space.
- Show details on the display.
-
Transition in and out of AR
- It's important to have a transition when user is going in or coming out of AR.
- Transitions can make it really clear what it is the user is looking at.
- Example: Apple's "Measure" App's transition between measurement icon and view.
-
Transitions preserve identity
- Transition makes it feel like ther's one version of the object. It makes it feel like that object has its own identity.
- Treat AR object same as real world object. You can't just make multiple copies.
- Example: Apple's "Quiklook" App.
- When switching Object tab to AR tab, the object always stays visible.
- It doesn't disappear and then come from somewhere else.
- It should feel like there's one object moving between different parts of your app.
Summary
Presenting content
- ARKit can Power 2D experiences
- VR is a powerful way to show environments
- Use screen space text for readable labels
- Show details and control directly on the display
- Transition smoothly in and out of AR
- Give objects sense of identity ans sense of physicality
-
-
Interactions in the world
-
Touch
- Touch enables direct manipulation.
- AR is physical. Objects feel like they are real
- Use same gestures with iOS
- Drag to move
- Multi-touch(Pinch) to scale.
- Give feedback when scaling
- Snap back to 100% size with a haptic
- Twist to rotate
- Tap Target
- Use the center of two finger's touch position as a tap target, because it is not easy to land both fingers.
- Direct manipulation is not enough. Touch is 2D
-
Movement is 3D
- Moving the device is the primary interaction in AR
- 2D:
- Scroll to see more content.
- Pinch to zoom
- 3D
- Move the device to see more content.
- Get closer or further to zoom
- It is possible to build totally custom interactions for AR apps with movement. Which can be very natural
- Swiftshot:
- To fire a slingshot in Swiftshot, you should move close to that slingshot, pull back and release
- Moving device is more precise than touch
-
Combine movement and touch
- Quicklook
- Touch down to pick up the object and then turn the device and release in a new place.
- Providing full 3D control of moving device to pick where user is going to place it and move objects to places that user can't see on screen.
- Keeping the sense of physical interaction.
-
Indirect controls
Indirect controls: Controls that are flat on the display, not placed in the world and not attached to anything.
- In the consistent position on the display. User can learn that position.
- Example "Zombie Gunship AR": Move the device to aim, rest finger above the fire button, and focus on firing.
-
One-handed AR
- User always have to use at least one hand to control where it is that user is looking.
- If a developer wants to build a one-handed AR experience, user is going to need to use really reachable controls that are really easy to access.
- Example "Measure": Measure uses an indirect control. Add point button is at the bottom of the screen and is really reachable spot.
- Make it easy to engage AR experiences in one hand with indirect controls.
Summary:
- Use direct manipulation to give sense of physicality, and physical interaction.
- Move the device, which is the primary interaction in AR
- Use reachable indirect controls to focus on the content, rather than direct manipulations such as controls or buttons.
-
Total Summary:
- Getting into AR, guiding people down the right path, giving them direct feedback that they are doing the right thing.
- The ways to present content in 2D and VR, and how to show text readable with screen space and details on display.
- Give objects that physical identity transitioning in and out of AR
- Interactions that users can use in AR experience with each touch, moving and combined interaction.