Overview
Airi supports two character model formats for creating interactive visual companions:- Live2D: 2D animated characters with expressive features and smooth animations
- VRM: 3D humanoid models with standardized expressions and animations
Live2D Models
Live2D models provide 2D character animation with support for expressions, motions, and physics.Model Structure
Live2D models consist of:- Model file (
.model3.json): Character definition and settings - Textures: PNG image files for character appearance
- Motions: Animation files for various actions
- Expressions: Facial expression definitions
- Physics: Hair and clothing physics settings
Loading Live2D Models
Live2D Component
Model Parameters
Live2D models support various parameters for controlling appearance:Motions and Animations
Eye Tracking and Look-At
Blinking Animation
Model Storage (OPFS)
VRM Models
VRM is an open 3D avatar format designed for VR applications.VRM Model Structure
VRM models include:- 3D mesh: Character geometry
- Textures: Material textures
- Bones/Skeleton: Humanoid rig
- Expressions: BlendShape-based facial expressions
- Spring bones: Hair and clothing physics
- Look-at: Eye and head tracking
Loading VRM Models
VRM Component
VRM Expressions
VRM Animations
Lip Sync
Look-At Control
Model Format Requirements
Live2D Requirements
- Format: Cubism SDK 4.0+ (.model3.json)
- Textures: PNG format, power-of-2 dimensions recommended
- Motions: Motion3.json format
- Package: ZIP file containing all assets
- File Structure:
VRM Requirements
- Format: VRM 0.0 or 1.0 (.vrm)
- Rig: Humanoid bones following VRM specification
- Textures: Embedded or external (GLTF-compatible formats)
- Max File Size: Recommended < 50MB for web performance
- Optimization:
- Use texture atlases
- Reduce polygon count for web
- Compress textures
- Remove unnecessary bones
Performance Optimization
Live2D Optimization
VRM Optimization
Best Practices
- Test Models: Always test models in the target environment before production
- Optimize Assets: Compress textures and reduce polygon counts for web
- Handle Loading: Show loading indicators and handle errors gracefully
- Cache Models: Store frequently-used models in OPFS or IndexedDB
- Update Efficiently: Batch parameter updates and limit update frequency
- Resource Cleanup: Dispose of models and textures when no longer needed
