VPA Template

VPA template is a Kanzi project template that demonstrates virtual person avatar rendering with interactive character animation. The template displays a rigged, physically based character on a podium in an interior environment, with a 2D HUD for selecting characters and controlling playback.

../_images/vpa-overview.png

This template is available from Kanzi Studio 4.1.0.

3D character scene

The template renders two interchangeable character models in a staged interior environment:

  • PHI: a rigged character (PHI_Rig5.glb) with full skeletal animation, facial morph targets, and physically based materials

  • M: an alternative character model (M_4.fbx) with equivalent rigging and material setup

The scene includes:

  • PHI_Interior (PHI_Interior.glb): a realistically lit interior with floor and wall surfaces

  • PHI_Podium (PHI_Podium.glb): a display podium beneath the character, with a projected shadow via Podium_Shadow_Material

  • cam_rot: a camera rig that supports interactive orbit rotation around the character

Character materials cover head, body, clothing, and accessories: Skin, Head, Head_Fur, Fur, Eye_L, Ears, Tongue, Suit, Backpack, Chest, and Ears_Inner. Skinned and morph-texture material types drive real-time skeletal deformation and facial expression blending.

IBL (Image-Based Lighting) uses the Environment_Morning cubemap with pre-filtered irradiance and specular textures for accurate character lighting.

Animation system

Six animation clips are available for the PHI character:

  • Idle: default standing pose

  • Listening: attentive listening pose

  • Running: locomotion animation

  • Sitting: seated pose

  • Speaking: speech gesture animation

  • Walking: walk cycle animation

Five animation clips are available for the M character:

  • Greet: hand-waving animation

  • Idle: idle pose

  • Listen: attentive listening pose

  • Agree: agreeing animation

  • Disagree: disagreeing animation

Animation data covers 300+ skeletal bone transforms per frame (full hierarchy from hip root to individual finger joints) plus per-frame facial morph weights for expression blending.

Interactive UI controls

A 2D HUD overlaid on the 3D viewport provides three control panels:

  • Animation Controls: selects the active character (M or PHI) and the animation clip to play

  • Playback Controls: play/pause toggle, an animation time slider, and a playback speed selector (1× and 2×)

  • View Controls: adjusts camera orientation via the cam_rot rig

State managers

Seven state managers coordinate the scene:

State manager

Purpose

PHI State Manager

Controls the active animation state for the characters.

cam_rot State Manager

Manages the camera rotation state for viewport orbit.

Toggle Button 2D State Manager

Controls 2D toggle button visual states in the UI.

Toggle State Manager

Manages general toggle states across UI controls.

UI Slider State Manager_Time

Controls the animation time slider state.

M_UI Slider State Manager_Time

Controls the animation time slider state for the M character variant.

UI Toggle State Manager

Manages toggle button visibility in the UI.

Render pipeline

The Spot Shadows Render Pass prefab drives the pipeline in this order:

  • Composition Target - Shadows: renders the scene into a shadow composition target, drawing Opaque geometry followed by Transparent geometry

  • Composition Target Render Pass - Get Light: captures the spot light contribution for shadow composition

  • Blit - Tonemap: applies tonemapping to the final composited output

Object source buckets separate geometry by rendering requirements: Opaque and Transparent.

See also

Car Template

SSR Car Template

Advanced Drive Mode Template