---
title: "From A-Pose to AR-Pose: Animating Characters in Mobile AR"
authors:
  - Andreia Valente
  - Augusto Esteves
  - Daniel Simoes Lopes
year: 2021
venue: "ACM SIGGRAPH 2021 Appy Hour"
doi: "10.1145/3450415.3464401"
url: "https://andreia-valente.com/publications/valente2021from.html"
pdf: "https://andreia-valente.com/pdfs/valente2021from.pdf"
topics:
  - Mobile Augmented Reality
  - Character Animation
  - Inverse Kinematics
  - Smartphone Interaction
---

# From A-Pose to AR-Pose: Animating Characters in Mobile AR

## Citation Metadata

- Authors: Andreia Valente, Augusto Esteves, Daniel Simoes Lopes
- Venue: ACM SIGGRAPH 2021 Appy Hour
- Year: 2021
- DOI: https://doi.org/10.1145/3450415.3464401
- HTML: https://andreia-valente.com/publications/valente2021from.html
- PDF: https://andreia-valente.com/pdfs/valente2021from.pdf

## Plain-Language Summary

AR-Pose is a mobile augmented reality application for creating keyframe-based animations of rigged humanoid characters. The key idea is to turn a smartphone into both a virtual camera and a 3D cursor. The user moves the phone through physical space to select and manipulate inverse kinematic handles attached to a character's joints, saves poses as keyframes, and replays the resulting sequence as an animation.

The work explores how commodity mobile AR can support character animation without specialist controllers, motion capture systems, or desktop animation interfaces. It demonstrates that the phone's six degrees of freedom can be used as a spatial input device, giving users a more embodied way to pose characters while still using the touchscreen for selection and animation controls.

## System Design

The system uses ARCore to detect surfaces and place a character in the user's environment. A virtual pointer is attached to the phone, functioning as a 3D cursor. Users can select inverse kinematic handles on or near the character's joints, move the phone to reposition those handles, and release them to define a pose. A floating control panel provides animation controls, including saving poses and replaying the animation.

The system separates two roles for the phone: it is the viewing device through which the user sees the character, and it is also the manipulation device used to move joints in 3D space. This dual role is central to the paper because it shows both the promise and the interaction challenges of handheld AR animation.

## Contributions

- Introduces AR-Pose, a mobile AR system for posing and animating humanoid characters.
- Demonstrates smartphone 6DoF input as a practical 3D cursor for inverse kinematic manipulation.
- Shows how keyframe animation can be created through direct spatial manipulation in AR.
- Identifies interaction trade-offs in handheld AR animation, including visibility, precision, and physical effort.

## Key Takeaways

- A smartphone can act as a capable spatial controller for character posing when mapped to a virtual cursor.
- Handheld AR animation gives users a stronger sense of 3D pose and movement than flat display workflows.
- There is a control-visibility trade-off: getting close enough to manipulate a joint can reduce awareness of the whole character pose.
- Character scale matters because small characters require precise micro-movements, while large characters can increase fatigue.

## Interaction Details

AR-Pose begins with ARCore detecting feature points and a plane in the user's physical environment. After the user taps to place the humanoid character and floating control panel, the character starts in a default A-pose. The phone controls a virtual pointer made from a sphere and line segment fixed in camera coordinates, allowing the handset to work as both the AR viewer and the spatial input device.

The character exposes inverse-kinematic handles on and near the joints. Four primary spherical handles at the wrists and ankles control the main inverse-kinematic chains, while additional handles support adjustment of the head, elbows, hands, knees, and feet. Users intersect the phone-mounted pointer with a handle, press and hold the selection button, and move the phone in space. The selected handle follows the pointer while the inverse kinematics system updates the character pose.

The control panel supports saving poses, replaying the animation, and deleting poses. Saved poses are treated as keyframes spaced 0.4 seconds apart, and replay interpolates between the stored keyframe positions. The interface uses button states for disabled, hover, and selected feedback so that users can understand whether they are pointing at a selectable joint or controlling the animation sequence.

## Discussion and Future Work

The paper identifies handheld AR animation as natural, engaging, and easy to learn, but it also documents constraints caused by using a single phone as both camera and controller. When users move close to a joint for precise manipulation, the field of view narrows and attention can collapse onto the selected body part, making it harder to judge the whole character pose. The authors describe this as a trade-off between interaction flexibility and visualization flexibility.

Future directions include adjustable pointer distance, exporting poses to external animation software such as Blender, and studying scale. Small characters can require precise micro-movements and may be affected by tracking drift, while large characters can force wider arm movement and increase fatigue.

## Why This Paper Matters

This paper is relevant to researchers working on mobile AR authoring, embodied animation tools, 3D interaction, and accessible creative systems. It points toward animation workflows that use everyday devices rather than professional motion capture or controller setups.

## Recommended Citation

Valente, A., Esteves, A., & Simoes Lopes, D. (2021). From A-Pose to AR-Pose: Animating characters in mobile AR. In ACM SIGGRAPH 2021 Appy Hour. Association for Computing Machinery. https://doi.org/10.1145/3450415.3464401

```bibtex
@inproceedings{valente2021arpose,
  title = {From A-Pose to AR-Pose: Animating Characters in Mobile AR},
  author = {Valente, Andreia and Esteves, Augusto and Simoes Lopes, Daniel},
  booktitle = {ACM SIGGRAPH 2021 Appy Hour (SIGGRAPH '21)},
  year = {2021},
  publisher = {Association for Computing Machinery},
  doi = {10.1145/3450415.3464401},
  url = {https://doi.org/10.1145/3450415.3464401}
}
```
