TP — Avatar and Embodiment in VR
Overview
In this lab, you will explore how avatars are created, animated, and embodied in Virtual Reality.
Avatars are a central component of immersive systems. They allow users to perceive and interact with virtual environments through a virtual body. However, the design and calibration of avatars can significantly affect embodiment, comfort, and user perception.
In this lab you will:
- create and import a humanoid avatar
- animate it using VR tracking
- experiment with avatar body modifications
- evaluate their impact on embodiment and user experience
1 — Avatar Creation
Create or download an avatar using Mixamo.
- Go to https://www.mixamo.com
- Select a character from the library
- Download the character in FBX format
Import the avatar into Unity
- Create a new Unity 3D project.
- Import the FBX avatar model into the project.
- Drag the avatar into the scene.
Configure materials and textures
When importing FBX models, Unity may embed materials and textures inside the model file. Extract them to make them editable.
- Select the avatar model in the Project panel.
- In the Inspector, open the Materials tab.
- Click:
Extract Materials
Extract Textures
- Assign the extracted materials to the correct mesh elements if needed.
- Assign appropriate textures to the materials (albedo, normal map, etc.) to ensure the avatar looks correct in the scene.
- Verify that the avatar is rendered correctly in the scene.
2 — Using the Avatar in a VR Scene
Follow the tutorial available here:
Unity VR Avatar Tutorial
https://immersive-insiders.com/blog/how-to-animate-your-avatar-for-vr-in-unity
⚠️ Note
The original tutorial uses the Ready Player Me API, which has since been discontinued.
Ignore all steps related to Ready Player Me and instead use the Mixamo avatar you imported.
The objective of this part is to:
- add the avatar to a VR scene
- connect the avatar head and hands to the VR headset and controllers
- observe how avatar motion follows user motion.
3 — Inverse Kinematics (IK)
In Virtual Reality, avatars usually do not have full-body tracking.
Most VR systems only track:
- the headset (HMD)
- the left controller
- the right controller
However, the avatar has many joints (shoulders, elbows, spine, hips, etc.).
To animate the full body from only a few tracked points, VR systems use Inverse Kinematics (IK).
Forward vs Inverse Kinematics
There are two main approaches to animate articulated characters.
Forward Kinematics (FK)
In Forward Kinematics, the motion is applied joint by joint.
For example:
shoulder → elbow → wrist → hand
Each rotation affects the following joints.
This approach is commonly used in traditional animation.
Inverse Kinematics (IK)
In Inverse Kinematics, the desired end position of a limb is known.
For example:
- the hand should be at the position of the controller.
The system then automatically computes the rotations of intermediate joints:
controller position → hand → elbow → shoulder
IK therefore allows a virtual body to follow user movements even with limited tracking.
IK in VR Avatars
In most VR systems:
| Tracked device | Avatar body part |
|---|---|
| HMD | head |
| left controller | left hand |
| right controller | right hand |
An IK solver estimates the position of:
- elbows
- shoulders
- torso
- sometimes legs
This reconstruction allows the avatar to appear natural even though only a few points are tracked.
Simple Unity IK Example
Unity’s Animator component includes a built-in IK system.
Example:
void OnAnimatorIK(int layerIndex)
{
animator.SetIKPosition(AvatarIKGoal.LeftHand, leftController.position);
animator.SetIKRotation(AvatarIKGoal.LeftHand, leftController.rotation);
animator.SetIKPosition(AvatarIKGoal.RightHand, rightController.position);
animator.SetIKRotation(AvatarIKGoal.RightHand, rightController.rotation);
}
This code forces the avatar’s hands to follow the position of the VR controllers.
Experiment
When testing your avatar, observe:
- how the arms move when you raise your hands
- whether the elbows behave naturally
- whether body proportions affect IK quality
Body modifications introduced later in the lab may significantly affect the behavior of IK.
Add a mirror
Seeing your avatar from a third-person perspective helps evaluating embodiment.
You can add a mirror in your scene using the following Unity package:
Place the mirror in front of the player so they can observe their avatar.
4 — Lower Body Animation (Optional)
If you want to go further, you can animate the lower body of your avatar.
Follow the tutorial:
https://immersive-insiders.com/blog/animating-ready-player-me-avatar-lower-body-for-vr-in-unity
Although the tutorial was written for Ready Player Me avatars, the steps should still apply because Mixamo avatars also use a Humanoid rig.
The goal of this section is to:
- improve the realism of avatar motion
- add basic walking animation
- synchronize upper and lower body movement.
5 — Avatar Customization and Body Modification
In the previous section you adapted the avatar to match the user’s body (eye height, head position, etc.).
In this section you will intentionally modify the avatar body to explore how these changes affect:
- embodiment
- comfort
- perception of movement.
Prepare several avatar configurations by modifying parameters such as:
Change avatar scale
avatar.transform.localScale = new Vector3(1.3f, 1.3f, 1.3f);
Modify arm length
Example:
UpperArm_L scale = 1.4
UpperArm_R scale = 1.4
Modify body proportions
Possible variations:
- wider body
- thinner body
- shorter torso
- larger head
Create a non-human avatar
Examples:
- extremely long arms
- oversized head
- very short legs
Hybrid avatars
You may also experiment with avatars that remain humanoid but include non-human features:
- cat-head humanoid
- robotic body
- stylized proportions
The goal is to explore how avatar morphology affects user perception and interaction.
6 — Evaluating Embodiment
To evaluate the impact of avatar modifications, conduct a small user study.
Test two avatars:
- a normal avatar
- a modified avatar
Ask 3-5 participants to experience both configurations.
Questionnaire
Participants rate each statement using a Likert scale from 1 to 7.
Embodiment
I felt as if the virtual body was my body.
The movements of the avatar felt like my own movements.
Agency
- I felt that I controlled the avatar.
Comfort
- The body proportions felt natural.
Discussion
After the experiment, discuss:
- Which avatar modifications were the most disturbing?
- Which ones still felt natural?
- How do these results relate to proprioception and body perception?
Report
You will submit a short report describing your work.
Your report should include:
Avatar configurations
- description of the tested avatar configurations
- explanation of how they were implemented in Unity
Questionnaire results
- summary of participant responses
- comparison between normal and modified avatars
Discussion
Discuss the results in relation to:
- embodiment
- proprioception
- perception of the body in VR
You may also propose explanations for the observed effects.